diff --git a/Description.md b/Description.md
new file mode 100644
index 0000000000000000000000000000000000000000..55e5e3a8c4f74b64219ad90747e50bfea9454f49
--- /dev/null
+++ b/Description.md
@@ -0,0 +1,27 @@
+![TheLegendsOfSimon_logo](/Images/TheLegendsOfSimon_500x341_.png)
+
+---
+
+## ***Présentation***
+
+#### Objectif pédagogique
+
+Notre jeu a pour but de faire comprendre, dans la peau d'un organisateur de courses, comment les coureurs gèrent une course dite impossible.
+
+### Présentation du jeu
+
+Le jeu est un jeu de gestion ou l'on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l'endroit qu'il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.
+
+
+
+---
+## ***Installation***
+- Télécharger Le Jeu [ici](https://mega.nz/file/qAgilRiZ#20XBofaxzBwtyg9_zscxxi-83N2LtH1HH33YITwRo38)
+- Lancez Le_Jeu.exe
+
+---
+## ***Équipe***
+
+- PEREIRA Jordan
+- GIRAULT Colin
+- LE CUDENEC Joffrey
diff --git a/Doc Doxygen/Doxyfile b/Doc Doxygen/Doxyfile
new file mode 100644
index 0000000000000000000000000000000000000000..a7942df827f4f2751bca1d3bdddf1e18456049fb
--- /dev/null
+++ b/Doc Doxygen/Doxyfile	
@@ -0,0 +1,2682 @@
+# Doxyfile 1.9.2
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the configuration
+# file that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME           = "My Project"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER         =
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF          =
+
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
+
+PROJECT_LOGO           =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d
+
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS         = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES    = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES        = YES
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH        =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
+# such as
+# /***************
+# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
+# Javadoc-style will behave just like regular comments and it will not be
+# interpreted by doxygen.
+# The default value is: NO.
+
+JAVADOC_BANNER         = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# By default Python docstrings are displayed as preformatted text and doxygen's
+# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the
+# doxygen's special commands can be used and the contents of the docstring
+# documentation blocks is shown as doxygen documentation.
+# The default value is: YES.
+
+PYTHON_DOCSTRING       = YES
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:^^"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". Note that you cannot put \n's in the value part of an alias
+# to insert newlines (in the resulting output). You can put ^^ in the value part
+# of an alias to insert a newline as if a physical newline was in the original
+# file. When you need a literal { or } or , in the value part of an alias you
+# have to escape them by means of a backslash (\), this can lead to conflicts
+# with the commands \{ and \} for these it is advised to use the version @{ and
+# @} or use a double escape (\\{ and \\})
+
+ALIASES                =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA   = YES
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
+# sources only. Doxygen will then generate output that is more tailored for that
+# language. For instance, namespaces will be presented as modules, types will be
+# separated into more groups, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_SLICE  = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
+# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice,
+# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
+# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
+# tries to guess whether the code is fixed or free formatted code, this is the
+# default for Fortran type files). For instance to make doxygen treat .inc files
+# as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C.
+#
+# Note: For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen. When specifying no_extension you should add
+# * to the FILE_PATTERNS.
+#
+# Note see also the list of default file extension mappings.
+
+EXTENSION_MAPPING      =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See https://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT       = YES
+
+# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
+# to that level are automatically included in the table of contents, even if
+# they do not have an id attribute.
+# Note: This feature currently applies only to Markdown headings.
+# Minimum value: 0, maximum value: 99, default value: 5.
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
+
+TOC_INCLUDE_HEADINGS   = 5
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT       = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# If one adds a struct or class to a group and this option is enabled, then also
+# any nested class or struct is added to the same group. By default this option
+# is disabled and one has to add nested compounds explicitly via \ingroup.
+# The default value is: NO.
+
+GROUP_NESTED_COMPOUNDS = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING            = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS  = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE      = 0
+
+# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use
+# during processing. When set to 0 doxygen will based this on the number of
+# cores available in the system. You can set it explicitly to a value larger
+# than 0 to get more control over the balance between CPU load and processing
+# speed. At this moment only the input processing can be done using multiple
+# threads. Since this is still an experimental feature the default is set to 1,
+# which effectively disables parallel processing. Please report any issues you
+# encounter. Generating dot graphs in parallel is controlled by the
+# DOT_NUM_THREADS setting.
+# Minimum value: 0, maximum value: 32, default value: 1.
+
+NUM_PROC_THREADS       = 1
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
+# methods of a class will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIV_VIRTUAL   = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. If set to YES, local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If this flag is set to YES, the name of an unnamed parameter in a declaration
+# will be determined by the corresponding definition. By default unnamed
+# parameters remain unnamed in the output.
+# The default value is: YES.
+
+RESOLVE_UNNAMED_PARAMS = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# declarations. If set to NO, these declarations will be included in the
+# documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO, these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS          = NO
+
+# With the correct setting of option CASE_SENSE_NAMES doxygen will better be
+# able to match the capabilities of the underlying filesystem. In case the
+# filesystem is case sensitive (i.e. it supports files in the same directory
+# whose names only differ in casing), the option must be set to YES to properly
+# deal with such files in case they appear in the input. For filesystems that
+# are not case sensitive the option should be be set to NO to properly deal with
+# output files written for symbols that only differ in casing, such as for two
+# classes, one named CLASS and the other named Class, and to also support
+# references to files without having to specify the exact matching casing. On
+# Windows (including Cygwin) and MacOS, users should typically set this option
+# to NO, whereas on Linux or other Unix flavors it should typically be set to
+# YES.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES, the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
+# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class
+# will show which file needs to be included to use the class.
+# The default value is: YES.
+
+SHOW_HEADERFILE        = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC  = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING  = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES, the
+# list will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES        = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file. See also section "Changing the
+# layout of pages" for information.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE            =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES         =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS               = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as documenting some parameters in
+# a documented function twice, or documenting parameters that don't exist or
+# using markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR      = YES
+
+# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete
+# function parameter documentation. If set to NO, doxygen will accept that some
+# parameters have no documentation without warning.
+# The default value is: YES.
+
+WARN_IF_INCOMPLETE_DOC = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO, doxygen will only warn about wrong parameter
+# documentation, but not about the absence of documentation. If EXTRACT_ALL is
+# set to YES then this flag will automatically be disabled. See also
+# WARN_IF_INCOMPLETE_DOC
+# The default value is: NO.
+
+WARN_NO_PARAMDOC       = NO
+
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
+# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
+# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
+# at the end of the doxygen process doxygen will return with a non-zero status.
+# Possible values are: NO, YES and FAIL_ON_WARNINGS.
+# The default value is: NO.
+
+WARN_AS_ERROR          = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+# Note: If this tag is empty the current directory is searched.
+
+INPUT                  = D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity\Assets\Scripts
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see:
+# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# read by doxygen.
+#
+# Note the list of default checked file patterns might differ from the list of
+# default file extension mappings.
+#
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml,
+# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C
+# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
+# *.vhdl, *.ucf, *.qsf and *.ice.
+
+FILE_PATTERNS          = *.c \
+                         *.cc \
+                         *.cxx \
+                         *.cpp \
+                         *.c++ \
+                         *.java \
+                         *.ii \
+                         *.ixx \
+                         *.ipp \
+                         *.i++ \
+                         *.inl \
+                         *.idl \
+                         *.ddl \
+                         *.odl \
+                         *.h \
+                         *.hh \
+                         *.hxx \
+                         *.hpp \
+                         *.h++ \
+                         *.l \
+                         *.cs \
+                         *.d \
+                         *.php \
+                         *.php4 \
+                         *.php5 \
+                         *.phtml \
+                         *.inc \
+                         *.m \
+                         *.markdown \
+                         *.md \
+                         *.mm \
+                         *.dox \
+                         *.py \
+                         *.pyw \
+                         *.f90 \
+                         *.f95 \
+                         *.f03 \
+                         *.f08 \
+                         *.f18 \
+                         *.f \
+                         *.for \
+                         *.vhd \
+                         *.vhdl \
+                         *.ucf \
+                         *.qsf \
+                         *.ice
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS        =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH           =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS       = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH             =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES    = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# entity all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS        = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see https://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS       = YES
+
+# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
+# clang parser (see:
+# http://clang.llvm.org/) for more accurate parsing at the cost of reduced
+# performance. This can be particularly helpful with template rich C++ code for
+# which doxygen's built-in parser lacks the necessary type information.
+# Note: The availability of this option depends on whether or not doxygen was
+# generated with the -Duse_libclang=ON option for CMake.
+# The default value is: NO.
+
+CLANG_ASSISTED_PARSING = NO
+
+# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS
+# tag is set to YES then doxygen will add the directory of each input to the
+# include path.
+# The default value is: YES.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_ADD_INC_PATHS    = YES
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_OPTIONS          =
+
+# If clang assisted parsing is enabled you can provide the clang parser with the
+# path to the directory containing a file called compile_commands.json. This
+# file is the compilation database (see:
+# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the
+# options used when the source files were built. This is equivalent to
+# specifying the -p option to a clang tool, such as clang-check. These options
+# will then be passed to the parser. Any options specified with CLANG_OPTIONS
+# will be added as well.
+# Note: The availability of this option depends on whether or not doxygen was
+# generated with the -Duse_libclang=ON option for CMake.
+
+CLANG_DATABASE_PATH    =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX     = YES
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET        =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET  =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES       =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the style sheet and background images according to
+# this color. Hue is specified as an angle on a color-wheel, see
+# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use gray-scales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP         = NO
+
+# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
+# documentation will contain a main index with vertical navigation menus that
+# are dynamically created via JavaScript. If disabled, the navigation index will
+# consists of multiple levels of tabs that are statically embedded in every HTML
+# page. Disable this option to support browsers that do not have JavaScript,
+# like the Qt help browser.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_MENUS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see:
+# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To
+# create a documentation set, doxygen will generate a Makefile in the HTML
+# output directory. Running make will produce the docset in that directory and
+# running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
+# genXcode/_index.html for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET        = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# on Windows. In the beginning of 2021 Microsoft took the original page, with
+# a.o. the download links, offline the HTML help workshop was already many years
+# in maintenance mode). You can download the HTML help workshop from the web
+# archives at Installation executable (see:
+# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo
+# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe).
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP      = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE               =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION           =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the main .chm file (NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI           = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING     =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# The QHG_LOCATION tag can be used to specify the location (absolute path
+# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to
+# run qhelpgenerator on the generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION           =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX          = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine tune the look of the index (see "Fine-tuning the output"). As an
+# example, the default style sheet generated by doxygen has an example that
+# shows how to put an image at the root of the tree instead of the PROJECT_NAME.
+# Since the tree basically has the same information as the tab index, you could
+# consider setting DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW      = NO
+
+# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the
+# FULL_SIDEBAR option determines if the side bar is limited to only the treeview
+# area (value NO) or if it should extend to the full height of the window (value
+# YES). Setting this to YES gives a layout similar to
+# https://docs.readthedocs.io with more room for contents, but less room for the
+# project logo, title, and description. If either GENERATOR_TREEVIEW or
+# DISABLE_INDEX is set to NO, this option has no effect.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FULL_SIDEBAR           = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH         = 250
+
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg
+# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see
+# https://inkscape.org) to generate formulas as SVG images instead of PNGs for
+# the HTML output. These images will generally look nicer at scaled resolutions.
+# Possible values are: png (the default) and svg (looks nicer but requires the
+# pdf2svg or inkscape tool).
+# The default value is: png.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FORMULA_FORMAT    = png
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT    = YES
+
+# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
+# to create new LaTeX commands to be used in formulas as building blocks. See
+# the section "Including formulas" for details.
+
+FORMULA_MACROFILE      =
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# https://www.mathjax.org) which uses client side JavaScript for the rendering
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX            = NO
+
+# With MATHJAX_VERSION it is possible to specify the MathJax version to be used.
+# Note that the different versions of MathJax have different requirements with
+# regards to the different settings, so it is possible that also other MathJax
+# settings have to be changed when switching between the different MathJax
+# versions.
+# Possible values are: MathJax_2 and MathJax_3.
+# The default value is: MathJax_2.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_VERSION        = MathJax_2
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. For more details about the output format see MathJax
+# version 2 (see:
+# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3
+# (see:
+# http://docs.mathjax.org/en/latest/web/components/output.html).
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility. This is the name for Mathjax version 2, for MathJax version 3
+# this will be translated into chtml), NativeMML (i.e. MathML. Only supported
+# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This
+# is the name for Mathjax version 3, for MathJax version 2 this will be
+# translated into HTML-CSS) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT         = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from https://www.mathjax.org before deployment. The default value is:
+# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2
+# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH        =
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# for MathJax version 2 (see
+# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions):
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# For example for MathJax version 3 (see
+# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html):
+# MATHJAX_EXTENSIONS = ams
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS     =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see:
+# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE       =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+SEARCHENGINE           = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using JavaScript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SERVER_BASED_SEARCH    = NO
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see:
+# https://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH        = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see:
+# https://xapian.org/). See the section "External Indexing and Searching" for
+# details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL       =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE        = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID     =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS  =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+# The default value is: YES.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when not enabling USE_PDFLATEX the default is latex when enabling
+# USE_PDFLATEX the default is pdflatex and when in the later case latex is
+# chosen this is overwritten by pdflatex. For specific output languages the
+# default can have been set differently, this depends on the implementation of
+# the output language.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_CMD_NAME         =
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# Note: This tag is used in the Makefile / make.bat.
+# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
+# (.tex).
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
+# generate index for LaTeX. In case there is no backslash (\) as first character
+# it will be automatically added in the LaTeX code.
+# Note: This tag is used in the generated output file (.tex).
+# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
+# The default value is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_MAKEINDEX_CMD    = makeindex
+
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PAPER_TYPE             = a4
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. The package can be specified just
+# by its name or with the correct syntax as to be used with the LaTeX
+# \usepackage command. To get the times font for instance you can specify :
+# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
+# To use the option intlimits with the amsmath package you can specify:
+# EXTRA_PACKAGES=[intlimits]{amsmath}
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for
+# the generated LaTeX document. The header should contain everything until the
+# first chapter. If it is left blank doxygen will generate a standard header. It
+# is highly recommended to start with a default header using
+# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty
+# and then modify the file new_header.tex. See also section "Doxygen usage" for
+# information on how to generate the default header that doxygen normally uses.
+#
+# Note: Only use a user-defined header if you know what you are doing!
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. The following
+# commands have a special meaning inside the header (and footer): For a
+# description of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HEADER           =
+
+# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for
+# the generated LaTeX document. The footer should contain everything after the
+# last chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer. See also section "Doxygen
+# usage" for information on how to generate the default footer that doxygen
+# normally uses. Note: Only use a user-defined footer if you know what you are
+# doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_FOOTER           =
+
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES      =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as
+# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX
+# files. Set this option to YES, to get a higher quality PDF documentation.
+#
+# See also section LATEX_CMD_NAME for selecting the engine.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BATCHMODE        = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HIDE_INDICES     = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BIB_STYLE        = plain
+
+# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_TIMESTAMP        = NO
+
+# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
+# path from which the emoji images will be read. If a relative path is entered,
+# it will be relative to the LATEX_OUTPUT directory. If left blank the
+# LATEX_OUTPUT directory will be used.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EMOJI_DIRECTORY  =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# configuration file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's configuration file. A template extensions file can be
+# generated using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_EXTENSION          = .3
+
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR             =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_OUTPUT             = xml
+
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_PROGRAMLISTING     = YES
+
+# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
+# namespace members in file scope as well, matching the HTML output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_NS_MEMB_FILE_SCOPE = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
+GENERATE_DOCBOOK       = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT         = docbook
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
+# the structure of the code including all documentation. Note that this feature
+# is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to Sqlite3 output
+#---------------------------------------------------------------------------
+
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO, the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+PREDEFINED             =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
+# The default value is: NO.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+
+EXTERNAL_GROUPS        = YES
+
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES         = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
+CLASS_DIAGRAMS         = YES
+
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH               =
+
+# If set to YES the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: NO.
+
+HAVE_DOT               = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NUM_THREADS        = 0
+
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTNAME           = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LOOK               = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag UML_LOOK is set to YES.
+
+UML_LIMIT_NUM_FIELDS   = 10
+
+# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and
+# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS
+# tag is set to YES, doxygen will add type and arguments for attributes and
+# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen
+# will not generate fields with class member information in the UML graphs. The
+# class diagrams will look similar to the default class diagrams but using UML
+# notation for the relationships.
+# Possible values are: NO, YES and NONE.
+# The default value is: NO.
+# This tag requires that the tag UML_LOOK is set to YES.
+
+DOT_UML_DETAILS        = NO
+
+# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters
+# to display on a single line. If the actual line length exceeds this threshold
+# significantly it will wrapped across multiple lines. Some heuristics are apply
+# to avoid ugly line breaks.
+# Minimum value: 0, maximum value: 1000, default value: 17.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_WRAP_THRESHOLD     = 17
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDE_GRAPH          = YES
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command. Disabling a call graph can be
+# accomplished by means of the command \hidecallgraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command. Disabling a caller graph can be
+# accomplished by means of the command \hidecallergraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. For an explanation of the image formats see the section
+# output formats in the documentation of the dot tool (Graphviz (see:
+# http://www.graphviz.org/)).
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
+# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
+# png:gdiplus:gdiplus.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_IMAGE_FORMAT       = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INTERACTIVE_SVG        = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOTFILE_DIRS           =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
+MSCFILE_DIRS           =
+
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS           =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
+PLANTUML_JAR_PATH      =
+
+# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
+# configuration file for plantuml.
+
+PLANTUML_CFG_FILE      =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH  =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate
+# files that are used to generate the various graphs.
+#
+# Note: This setting is not only used for dot files but also for msc temporary
+# files.
+# The default value is: YES.
+
+DOT_CLEANUP            = YES
diff --git a/Doc Doxygen/html/TheLegendsOfSimon_500x341_.png b/Doc Doxygen/html/TheLegendsOfSimon_500x341_.png
new file mode 100644
index 0000000000000000000000000000000000000000..307ba4839ea30824f629e8b48497881d91a25534
Binary files /dev/null and b/Doc Doxygen/html/TheLegendsOfSimon_500x341_.png differ
diff --git a/Doc Doxygen/html/annotated.html b/Doc Doxygen/html/annotated.html
new file mode 100644
index 0000000000000000000000000000000000000000..1dd4841e673b2273013e37aaed67e4fc4a58b838
--- /dev/null
+++ b/Doc Doxygen/html/annotated.html	
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle"><div class="title">Class List</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_game_manager.html" target="_self">GameManager</a></td><td class="desc">Met en commun différents scripts afin de controller les waypoints, les routes et l'IA </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_player_controller.html" target="_self">PlayerController</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_route_tracer.html" target="_self">RouteTracer</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_waypoint_spawner.html" target="_self">WaypointSpawner</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/bc_s.png b/Doc Doxygen/html/bc_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2
Binary files /dev/null and b/Doc Doxygen/html/bc_s.png differ
diff --git a/Doc Doxygen/html/bdwn.png b/Doc Doxygen/html/bdwn.png
new file mode 100644
index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452
Binary files /dev/null and b/Doc Doxygen/html/bdwn.png differ
diff --git a/Doc Doxygen/html/class_game_manager-members.html b/Doc Doxygen/html/class_game_manager-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..7685e8ad9684b2159be1a44c721024e8f2c25cd0
--- /dev/null
+++ b/Doc Doxygen/html/class_game_manager-members.html	
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">GameManager Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_game_manager.html">GameManager</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>canvas</b> (defined in <a class="el" href="class_game_manager.html">GameManager</a>)</td><td class="entry"><a class="el" href="class_game_manager.html">GameManager</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>lockMovement</b>() (defined in <a class="el" href="class_game_manager.html">GameManager</a>)</td><td class="entry"><a class="el" href="class_game_manager.html">GameManager</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>map</b> (defined in <a class="el" href="class_game_manager.html">GameManager</a>)</td><td class="entry"><a class="el" href="class_game_manager.html">GameManager</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>waypoints</b> (defined in <a class="el" href="class_game_manager.html">GameManager</a>)</td><td class="entry"><a class="el" href="class_game_manager.html">GameManager</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_game_manager.html b/Doc Doxygen/html/class_game_manager.html
new file mode 100644
index 0000000000000000000000000000000000000000..8593151d0acf5ac8d8b85577eade2dc911215a42
--- /dev/null
+++ b/Doc Doxygen/html/class_game_manager.html	
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: GameManager Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="class_game_manager-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">GameManager Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Met en commun différents scripts afin de controller les waypoints, les routes et l'IA  
+ <a href="class_game_manager.html#details">More...</a></p>
+<div class="dynheader">
+Inheritance diagram for GameManager:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_game_manager.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae815dcbc1cfa1e6dce35843afa6d4851"><td class="memItemLeft" align="right" valign="top"><a id="ae815dcbc1cfa1e6dce35843afa6d4851" name="ae815dcbc1cfa1e6dce35843afa6d4851"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>lockMovement</b> ()</td></tr>
+<tr class="separator:ae815dcbc1cfa1e6dce35843afa6d4851"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a018dca7fb070c0984308a80e71bb8fd1"><td class="memItemLeft" align="right" valign="top"><a id="a018dca7fb070c0984308a80e71bb8fd1" name="a018dca7fb070c0984308a80e71bb8fd1"></a>
+GameObject[]&#160;</td><td class="memItemRight" valign="bottom"><b>waypoints</b></td></tr>
+<tr class="separator:a018dca7fb070c0984308a80e71bb8fd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace718c3e7f5136f4205b5c901b36a4cf"><td class="memItemLeft" align="right" valign="top"><a id="ace718c3e7f5136f4205b5c901b36a4cf" name="ace718c3e7f5136f4205b5c901b36a4cf"></a>
+AbstractMap&#160;</td><td class="memItemRight" valign="bottom"><b>map</b></td></tr>
+<tr class="separator:ace718c3e7f5136f4205b5c901b36a4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f4609b17266c3db1b67017cfb8b2041"><td class="memItemLeft" align="right" valign="top"><a id="a9f4609b17266c3db1b67017cfb8b2041" name="a9f4609b17266c3db1b67017cfb8b2041"></a>
+Canvas&#160;</td><td class="memItemRight" valign="bottom"><b>canvas</b></td></tr>
+<tr class="separator:a9f4609b17266c3db1b67017cfb8b2041"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >Met en commun différents scripts afin de controller les waypoints, les routes et l'IA </p>
+<p >System.Collections; UnityEngine; Mapbox.Unity.Map; Mapbox.Examples; System;  </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Scripts/GameManager.cs</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_game_manager.png b/Doc Doxygen/html/class_game_manager.png
new file mode 100644
index 0000000000000000000000000000000000000000..db601970f853fb857f60e7c95e4af61931a726f1
Binary files /dev/null and b/Doc Doxygen/html/class_game_manager.png differ
diff --git a/Doc Doxygen/html/class_player_controller-members.html b/Doc Doxygen/html/class_player_controller-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..84d082da7d8bb4f0a93aceb80690b2810515a7e8
--- /dev/null
+++ b/Doc Doxygen/html/class_player_controller-members.html	
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">PlayerController Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_player_controller.html">PlayerController</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>maxY</b> (defined in <a class="el" href="class_player_controller.html">PlayerController</a>)</td><td class="entry"><a class="el" href="class_player_controller.html">PlayerController</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>minY</b> (defined in <a class="el" href="class_player_controller.html">PlayerController</a>)</td><td class="entry"><a class="el" href="class_player_controller.html">PlayerController</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>speed</b> (defined in <a class="el" href="class_player_controller.html">PlayerController</a>)</td><td class="entry"><a class="el" href="class_player_controller.html">PlayerController</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_player_controller.html b/Doc Doxygen/html/class_player_controller.html
new file mode 100644
index 0000000000000000000000000000000000000000..07d47a3ad26781ddd4a083de79b985cd22cb8eb5
--- /dev/null
+++ b/Doc Doxygen/html/class_player_controller.html	
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: PlayerController Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="class_player_controller-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">PlayerController Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for PlayerController:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_player_controller.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a0928605583f0563cd84fe43119d336ec"><td class="memItemLeft" align="right" valign="top"><a id="a0928605583f0563cd84fe43119d336ec" name="a0928605583f0563cd84fe43119d336ec"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>speed</b></td></tr>
+<tr class="separator:a0928605583f0563cd84fe43119d336ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a686cdf7aee2254a6c6f7bf09cb543ea6"><td class="memItemLeft" align="right" valign="top"><a id="a686cdf7aee2254a6c6f7bf09cb543ea6" name="a686cdf7aee2254a6c6f7bf09cb543ea6"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>maxY</b></td></tr>
+<tr class="separator:a686cdf7aee2254a6c6f7bf09cb543ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe758a88e7ce82ea157d08e898bb2072"><td class="memItemLeft" align="right" valign="top"><a id="afe758a88e7ce82ea157d08e898bb2072" name="afe758a88e7ce82ea157d08e898bb2072"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>minY</b></td></tr>
+<tr class="separator:afe758a88e7ce82ea157d08e898bb2072"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Scripts/PlayerController.cs</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_player_controller.png b/Doc Doxygen/html/class_player_controller.png
new file mode 100644
index 0000000000000000000000000000000000000000..353ae6b41753cf67489eacbd67d641130391bcbb
Binary files /dev/null and b/Doc Doxygen/html/class_player_controller.png differ
diff --git a/Doc Doxygen/html/class_route_tracer-members.html b/Doc Doxygen/html/class_route_tracer-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..8b83ddae459fb493f4ade0b17a197061bc783401
--- /dev/null
+++ b/Doc Doxygen/html/class_route_tracer-members.html	
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">RouteTracer Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_route_tracer.html">RouteTracer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mat</b> (defined in <a class="el" href="class_route_tracer.html">RouteTracer</a>)</td><td class="entry"><a class="el" href="class_route_tracer.html">RouteTracer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>rayLength</b> (defined in <a class="el" href="class_route_tracer.html">RouteTracer</a>)</td><td class="entry"><a class="el" href="class_route_tracer.html">RouteTracer</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_route_tracer.html b/Doc Doxygen/html/class_route_tracer.html
new file mode 100644
index 0000000000000000000000000000000000000000..0b984e94d942be48b71468722525e39b2e0ed5ee
--- /dev/null
+++ b/Doc Doxygen/html/class_route_tracer.html	
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: RouteTracer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="class_route_tracer-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">RouteTracer Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for RouteTracer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_route_tracer.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a11fd34ef9497a918463cfa6c0d0388a2"><td class="memItemLeft" align="right" valign="top"><a id="a11fd34ef9497a918463cfa6c0d0388a2" name="a11fd34ef9497a918463cfa6c0d0388a2"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>rayLength</b> = 20.0f</td></tr>
+<tr class="separator:a11fd34ef9497a918463cfa6c0d0388a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1328db87894758f1dcc623e03c2e4df"><td class="memItemLeft" align="right" valign="top"><a id="aa1328db87894758f1dcc623e03c2e4df" name="aa1328db87894758f1dcc623e03c2e4df"></a>
+Material&#160;</td><td class="memItemRight" valign="bottom"><b>mat</b></td></tr>
+<tr class="separator:aa1328db87894758f1dcc623e03c2e4df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Scripts/RouteTracer.cs</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_route_tracer.png b/Doc Doxygen/html/class_route_tracer.png
new file mode 100644
index 0000000000000000000000000000000000000000..af521c0eab082884c1da8bea84d38b73bad90fbd
Binary files /dev/null and b/Doc Doxygen/html/class_route_tracer.png differ
diff --git a/Doc Doxygen/html/class_waypoint_spawner-members.html b/Doc Doxygen/html/class_waypoint_spawner-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..f6b499867ed0d0f447fe459502c1c5249426679c
--- /dev/null
+++ b/Doc Doxygen/html/class_waypoint_spawner-members.html	
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">WaypointSpawner Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_waypoint_spawner.html">WaypointSpawner</a>, including all inherited members.</p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_waypoint_spawner.html b/Doc Doxygen/html/class_waypoint_spawner.html
new file mode 100644
index 0000000000000000000000000000000000000000..31af71ff454faafd2e98e81c72e4277ff3a1af25
--- /dev/null
+++ b/Doc Doxygen/html/class_waypoint_spawner.html	
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: WaypointSpawner Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="class_waypoint_spawner-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">WaypointSpawner Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for WaypointSpawner:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_waypoint_spawner.png" alt=""/>
+ </div></div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Scripts/WaypointSpawner.cs</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/class_waypoint_spawner.png b/Doc Doxygen/html/class_waypoint_spawner.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c7ee6167b2c697a736f32909e9d5cfb5cc1cfaa
Binary files /dev/null and b/Doc Doxygen/html/class_waypoint_spawner.png differ
diff --git a/Doc Doxygen/html/classes.html b/Doc Doxygen/html/classes.html
new file mode 100644
index 0000000000000000000000000000000000000000..334fe45a4e610931b0f33fb89169c570b8448ceb
--- /dev/null
+++ b/Doc Doxygen/html/classes.html	
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Class Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle"><div class="title">Class Index</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a></div>
+<div class="classindex">
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
+<dd><a class="el" href="class_game_manager.html">GameManager</a></dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_P" name="letter_P">P</a></dt>
+<dd><a class="el" href="class_player_controller.html">PlayerController</a></dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
+<dd><a class="el" href="class_route_tracer.html">RouteTracer</a></dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_W" name="letter_W">W</a></dt>
+<dd><a class="el" href="class_waypoint_spawner.html">WaypointSpawner</a></dd></dl>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/closed.png b/Doc Doxygen/html/closed.png
new file mode 100644
index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5
Binary files /dev/null and b/Doc Doxygen/html/closed.png differ
diff --git a/Doc Doxygen/html/dir_599d12f06d875492f54996ab8fd3ae62.html b/Doc Doxygen/html/dir_599d12f06d875492f54996ab8fd3ae62.html
new file mode 100644
index 0000000000000000000000000000000000000000..30776555abaf51fd8a5a7d9af116a9d0b9116812
--- /dev/null
+++ b/Doc Doxygen/html/dir_599d12f06d875492f54996ab8fd3ae62.html	
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_78c03cd9addce2cb4671a89bd8c69421.html">T3-Unity</a></li><li class="navelem"><a class="el" href="dir_599d12f06d875492f54996ab8fd3ae62.html">Assets</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Assets Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="subdirs" name="subdirs"></a>
+Directories</h2></td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/dir_78c03cd9addce2cb4671a89bd8c69421.html b/Doc Doxygen/html/dir_78c03cd9addce2cb4671a89bd8c69421.html
new file mode 100644
index 0000000000000000000000000000000000000000..4811f538f82aedf2ca4fdb4c2c296fd59dbf2c2d
--- /dev/null
+++ b/Doc Doxygen/html/dir_78c03cd9addce2cb4671a89bd8c69421.html	
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_78c03cd9addce2cb4671a89bd8c69421.html">T3-Unity</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">T3-Unity Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/dir_e709d7bad26959934375fdde7756c8f5.html b/Doc Doxygen/html/dir_e709d7bad26959934375fdde7756c8f5.html
new file mode 100644
index 0000000000000000000000000000000000000000..bd864df0c76a06ca77fef537ec19884a721034fa
--- /dev/null
+++ b/Doc Doxygen/html/dir_e709d7bad26959934375fdde7756c8f5.html	
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Scripts Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_78c03cd9addce2cb4671a89bd8c69421.html">T3-Unity</a></li><li class="navelem"><a class="el" href="dir_599d12f06d875492f54996ab8fd3ae62.html">Assets</a></li><li class="navelem"><a class="el" href="dir_e709d7bad26959934375fdde7756c8f5.html">Scripts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Scripts Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/doc.png b/Doc Doxygen/html/doc.png
new file mode 100644
index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501
Binary files /dev/null and b/Doc Doxygen/html/doc.png differ
diff --git a/Doc Doxygen/html/doxygen.css b/Doc Doxygen/html/doxygen.css
new file mode 100644
index 0000000000000000000000000000000000000000..8e9cca36af5d69dc6f7588bf23149e12457f05d5
--- /dev/null
+++ b/Doc Doxygen/html/doxygen.css	
@@ -0,0 +1,1827 @@
+/* The standard CSS for doxygen 1.9.2 */
+
+body, table, div, p, dl {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
+}
+
+.title {
+	font: 400 14px/28px Roboto,sans-serif;
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
+}
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
+}
+
+h3.groupheader {
+	font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+ul.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+	column-count: 3;
+}
+
+p.startli, p.startdd {
+	margin-top: 2px;
+}
+
+th p.starttd, th p.intertd, th p.endtd {
+        font-size: 100%;
+        font-weight: 700;
+}
+
+p.starttd {
+	margin-top: 0px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+p.interli {
+}
+
+p.interdd {
+}
+
+p.intertd {
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+	font-size: 70%;
+	text-align: center;
+}
+
+h3.version {
+	font-size: 90%;
+	text-align: center;
+}
+
+div.navtab {
+	border-right: 1px solid #A3B4D7;
+	padding-right: 15px;
+	text-align: right;
+	line-height: 110%;
+}
+
+div.navtab table {
+	border-spacing: 0;
+}
+
+td.navtab {
+	padding-right: 6px;
+	padding-left: 6px;
+}
+td.navtabHL {
+	background-image: url('tab_a.png');
+	background-repeat:repeat-x;
+	padding-right: 6px;
+	padding-left: 6px;
+}
+
+td.navtabHL a, td.navtabHL a:visited {
+	color: #fff;
+	text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+a.navtab {
+	font-weight: bold;
+}
+
+div.qindex{
+	text-align: center;
+	width: 100%;
+	line-height: 140%;
+	font-size: 130%;
+	color: #A0A0A0;
+}
+
+dt.alphachar{
+	font-size: 180%;
+	font-weight: bold;
+}
+
+.alphachar a{
+	color: black;
+}
+
+.alphachar a:hover, .alphachar a:visited{
+	text-decoration: none;
+}
+
+.classindex dl {
+	padding: 25px;
+	column-count:1
+}
+
+.classindex dd {
+	display:inline-block;
+	margin-left: 50px;
+	width: 90%;
+	line-height: 1.15em;
+}
+
+.classindex dl.odd {
+	background-color: #F8F9FC;
+}
+
+@media(min-width: 1120px) {
+	.classindex dl {
+		column-count:2
+	}
+}
+
+@media(min-width: 1320px) {
+	.classindex dl {
+		column-count:3
+	}
+}
+
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+.contents a.qindexHL:visited {
+        color: #FFFFFF;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+	color: #4665A2; 
+}
+
+a.code.hl_class { /* style for links to class names in code snippets */ }
+a.code.hl_struct { /* style for links to struct names in code snippets */ }
+a.code.hl_union { /* style for links to union names in code snippets */ }
+a.code.hl_interface { /* style for links to interface names in code snippets */ }
+a.code.hl_protocol { /* style for links to protocol names in code snippets */ }
+a.code.hl_category { /* style for links to category names in code snippets */ }
+a.code.hl_exception { /* style for links to exception names in code snippets */ }
+a.code.hl_service { /* style for links to service names in code snippets */ }
+a.code.hl_singleton { /* style for links to singleton names in code snippets */ }
+a.code.hl_concept { /* style for links to concept names in code snippets */ }
+a.code.hl_namespace { /* style for links to namespace names in code snippets */ }
+a.code.hl_package { /* style for links to package names in code snippets */ }
+a.code.hl_define { /* style for links to macro names in code snippets */ }
+a.code.hl_function { /* style for links to function names in code snippets */ }
+a.code.hl_variable { /* style for links to variable names in code snippets */ }
+a.code.hl_typedef { /* style for links to typedef names in code snippets */ }
+a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ }
+a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ }
+a.code.hl_signal { /* style for links to Qt signal names in code snippets */ }
+a.code.hl_slot { /* style for links to Qt slot names in code snippets */ }
+a.code.hl_friend { /* style for links to friend names in code snippets */ }
+a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ }
+a.code.hl_property { /* style for links to property names in code snippets */ }
+a.code.hl_event { /* style for links to event names in code snippets */ }
+a.code.hl_sequence { /* style for links to sequence names in code snippets */ }
+a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ }
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+ul {
+  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
+}
+
+#side-nav ul {
+  overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+}
+
+#main-nav ul {
+  overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+}
+
+.fragment {
+  text-align: left;
+  direction: ltr;
+  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+  overflow-y: hidden;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+  margin: 4px 8px 4px 2px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line:after {
+    content:"\000A";
+    white-space: pre;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+        margin-right: 9px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+.lineno {
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+div.ah, span.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #FFFFFF;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+        list-style: none;
+        padding-left: 0;
+}
+
+div.classindex span.ai {
+        display: inline-block;
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background-color: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl, img.inline {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+.compoundTemplParams {
+	color: #4665A2;
+	font-size: 80%;
+	line-height: 120%;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+blockquote.DocNodeRTL {
+   border-left: 0;
+   border-right: 2px solid #9CAFD4;
+   margin: 0 4px 0 24px;
+   padding: 0 16px 0 12px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight, .memTemplItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+	padding: 8px;
+	border-top: 1px solid #A8B8D9;
+	border-left: 1px solid #A8B8D9;
+	border-right: 1px solid #A8B8D9;
+	border-top-right-radius: 4px;
+	border-top-left-radius: 4px;
+	margin-bottom: -1px;
+	background-image: url('nav_f.png');
+	background-repeat: repeat-x;
+	background-color: #E2E8F2;
+	line-height: 1.25;
+	font-weight: 300;
+	float:left;
+}
+
+.permalink
+{
+        font-size: 65%;
+        display: inline-block;
+        vertical-align: middle;
+}
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
+}
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+        font-weight: 400;
+        margin-left: 6px;
+}
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-color: #DFE5F1;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+        font-family: "courier new",courier,monospace;
+	font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
+}
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
+        font-weight: bold;
+        vertical-align: top;
+}
+        
+.params .paramtype, .tparams .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir, .tparams .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #9CAFD4;
+        border-bottom: 1px solid #9CAFD4;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+	padding-top: 3px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+.arrow {
+    color: #9CAFD4;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    cursor: pointer;
+    font-size: 80%;
+    display: inline-block;
+    width: 16px;
+    height: 22px;
+}
+
+.icon {
+    font-family: Arial, Helvetica;
+    font-weight: bold;
+    font-size: 12px;
+    height: 14px;
+    width: 16px;
+    display: inline-block;
+    background-color: #728DC1;
+    color: white;
+    text-align: center;
+    border-radius: 4px;
+    margin-left: 2px;
+    margin-right: 2px;
+}
+
+.icona {
+    width: 24px;
+    height: 22px;
+    display: inline-block;
+}
+
+.iconfopen {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderopen.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.iconfclosed {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderclosed.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.icondoc {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('doc.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+table.directory {
+    font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable caption {
+	caption-side: top;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 0px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        font-weight: 400;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+table.classindex
+{
+        margin: 10px;
+        white-space: nowrap;
+        margin-left: 3%;
+        margin-right: 3%;
+        width: 94%;
+        border: 0;
+        border-spacing: 0; 
+        padding: 0;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+.PageDocRTL-title div.headertitle {
+  text-align: right;
+  direction: rtl;
+}
+
+dl {
+        padding: 0 0 0 0;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+dl.section {
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.section.DocNodeRTL {
+  margin-right: 0px;
+  padding-right: 0px;
+}
+
+dl.note {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.note.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.warning, dl.attention {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00D000;
+}
+
+dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00D000;
+}
+
+dl.deprecated {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #505050;
+}
+
+dl.deprecated.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #505050;
+}
+
+dl.todo {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.todo.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.test {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.test.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.bug {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #C08050;
+}
+
+dl.bug.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectalign
+{
+        vertical-align: middle;
+}
+
+#projectname
+{
+	font: 200% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 90% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.plantumlgraph
+{
+        text-align: center;
+}
+
+.diagraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+        text-align:right;
+        width:52px;
+}
+
+dl.citelist dd {
+        margin:2px 0 2px 72px;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 8px 10px 10px;
+        width: 200px;
+}
+
+.PageDocRTL-title div.toc {
+  float: left !important;
+  text-align: right;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+.PageDocRTL-title div.toc li {
+  background-position-x: right !important;
+  padding-left: 0 !important;
+  padding-right: 10px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+span.emoji {
+        /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
+         * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
+         */
+}
+
+.PageDocRTL-title div.toc li.level1 {
+  margin-left: 0 !important;
+  margin-right: 0;
+}
+
+.PageDocRTL-title div.toc li.level2 {
+  margin-left: 0 !important;
+  margin-right: 15px;
+}
+
+.PageDocRTL-title div.toc li.level3 {
+  margin-left: 0 !important;
+  margin-right: 30px;
+}
+
+.PageDocRTL-title div.toc li.level4 {
+  margin-left: 0 !important;
+  margin-right: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+        position: absolute;
+        display: none;
+}
+
+#powerTip {
+	cursor: default;
+	white-space: nowrap;
+	background-color: white;
+	border: 1px solid gray;
+	border-radius: 4px 4px 4px 4px;
+	box-shadow: 1px 1px 7px gray;
+	display: none;
+	font-size: smaller;
+	max-width: 80%;
+	opacity: 0.9;
+	padding: 1ex 1em 1em;
+	position: absolute;
+	z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+        color: grey;
+	font-style: italic;
+}
+
+#powerTip div.ttname a {
+        font-weight: bold;
+}
+
+#powerTip div.ttname {
+        font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+        color: #006318;
+}
+
+#powerTip div {
+        margin: 0px;
+        padding: 0px;
+        font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+	content: "";
+	position: absolute;
+	margin: 0px;
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.w:after,  #powerTip.w:before,
+#powerTip.e:after,  #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	border: solid transparent;
+	content: " ";
+	height: 0;
+	width: 0;
+	position: absolute;
+}
+
+#powerTip.n:after,  #powerTip.s:after,
+#powerTip.w:after,  #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+	border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before,  #powerTip.s:before,
+#powerTip.w:before,  #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+	border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+	top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+	border-top-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+#powerTip.n:before {
+	border-top-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+	left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+	right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+	left: 14px;
+}
+
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+	border-bottom-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+	border-bottom-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+	left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+	right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+	left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+	left: 100%;
+}
+#powerTip.e:after {
+	border-left-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.e:before {
+	border-left-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+	right: 100%;
+}
+#powerTip.w:after {
+	border-right-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.w:before {
+	border-right-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+@media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
+
+/* @group Markdown */
+
+table.markdownTable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+	text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+	text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+	text-align: center
+}
+
+.DocNodeRTL {
+  text-align: right;
+  direction: rtl;
+}
+
+.DocNodeLTR {
+  text-align: left;
+  direction: ltr;
+}
+
+table.DocNodeRTL {
+   width: auto;
+   margin-right: 0;
+   margin-left: auto;
+}
+
+table.DocNodeLTR {
+   width: auto;
+   margin-right: auto;
+   margin-left: 0;
+}
+
+tt, code, kbd, samp
+{
+  display: inline-block;
+  direction:ltr; 
+}
+/* @end */
+
+u {
+	text-decoration: underline;
+}
+
diff --git a/Doc Doxygen/html/doxygen.svg b/Doc Doxygen/html/doxygen.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d42dad52d5d1d835a65d89dbddd042c44ee40d3b
--- /dev/null
+++ b/Doc Doxygen/html/doxygen.svg	
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 104 31" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+  <linearGradient id="a">
+   <stop stop-color="#5373B4" offset="0"/>
+   <stop stop-color="#7C95C6" offset="1"/>
+  </linearGradient>
+  <linearGradient id="d" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="c" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientTransform="matrix(.6816 0 0 1.0248 72.391 -.91809)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="b" x1="56.295" x2="56.295" y1="24.622" y2="26.574" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="e" x1="49.067" x2="48.956" y1="19.719" y2="9.5227" gradientTransform="matrix(.97968 0 0 1.0207 -.25579 -.25579)" gradientUnits="userSpaceOnUse">
+   <stop stop-color="#C0CCE3" offset="0"/>
+   <stop stop-color="#EEF1F7" offset="1"/>
+  </linearGradient>
+  <filter id="f" x="-.010676" y="-.045304" width="1.0214" height="1.0906" color-interpolation-filters="sRGB">
+   <feGaussianBlur stdDeviation="0.45293203"/>
+  </filter>
+ </defs>
+ <g>
+  <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696" xlink:href="#path141"/>
+  <path d="m0.97202 24.161 43.605-0.0019 0.0508 3.3061-43.6 0.04174z" fill="url(#d)" stroke="#000" stroke-width=".5"/>
+  <path d="m10.283 3.5547v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23644 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88017-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35278 3.7988-1.0566 1.0471-0.70386 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.923-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.461 0.28066 1.7988 0.84375 0.33778 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5977v-8.3926c0-0.84464-0.0765-1.6106-0.22852-2.2969-0.13511-0.70387-0.3797-1.2925-0.73437-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.062 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07027-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06052 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3437h-0.05078l-2.9648-9.3437zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914s0.6991 0.57184 0.93555 0.97656c0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13254 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10133 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88813-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70106 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.49271-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89026 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74024 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" fill="url(#e)" stroke="#4665A2" stroke-width=".7"/>
+  <path d="m52.988 27.291c0.99602-1.0359 1.3944-1.8725 1.7928-3.1076l3.8247-0.03984c0.3113 1.6096 0.82413 2.5137 1.6335 3.1474z" fill="url(#b)" stroke="#000" stroke-width=".5"/>
+  <path d="m73.89 24.04 28.885-0.2011-0.12476 3.3879-31.033 0.16229c1.2621-1.0234 1.9665-2.2859 2.2724-3.3491z" fill="url(#c)" stroke="#000" stroke-width=".41788"/>
+ </g>
+</svg>
diff --git a/Doc Doxygen/html/dynsections.js b/Doc Doxygen/html/dynsections.js
new file mode 100644
index 0000000000000000000000000000000000000000..3174bd7bebbfd7f0d536023e43f8bebf4f40faad
--- /dev/null
+++ b/Doc Doxygen/html/dynsections.js	
@@ -0,0 +1,121 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+   content.hide();
+   summary.show();
+   $(linkObj).addClass('closed').removeClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+   content.show();
+   summary.hide();
+   $(linkObj).removeClass('closed').addClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+  $('table.directory tr').
+       removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+  $('table.directory tr').each(function() {
+    var l = this.id.split('_').length-1;
+    var i = $('#img'+this.id.substring(3));
+    var a = $('#arr'+this.id.substring(3));
+    if (l<level+1) {
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+      a.html('&#9660;');
+      $(this).show();
+    } else if (l==level+1) {
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+      a.html('&#9658;');
+      $(this).show();
+    } else {
+      $(this).hide();
+    }
+  });
+  updateStripes();
+}
+
+function toggleFolder(id)
+{
+  // the clicked row
+  var currentRow = $('#row_'+id);
+
+  // all rows after the clicked row
+  var rows = currentRow.nextAll("tr");
+
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+  // only match elements AFTER this one (can't hide elements before)
+  var childRows = rows.filter(function() { return this.id.match(re); });
+
+  // first row is visible we are HIDING
+  if (childRows.filter(':first').is(':visible')===true) {
+    // replace down arrow by right arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    currentRowSpans.filter(".arrow").html('&#9658;');
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+  } else { // we are SHOWING
+    // replace right arrow by down arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+    currentRowSpans.filter(".arrow").html('&#9660;');
+    // replace down arrows by right arrows for child rows
+    var childRowsSpans = childRows.find("span");
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    childRowsSpans.filter(".arrow").html('&#9658;');
+    childRows.show(); //show all children
+  }
+  updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+  var rows = $('tr.inherit.'+id);
+  var img = $('tr.inherit_header.'+id+' img');
+  var src = $(img).attr('src');
+  if (rows.filter(':first').is(':visible')===true) {
+    rows.css('display','none');
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+  } else {
+    rows.css('display','table-row'); // using show() causes jump in firefox
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+  }
+}
+/* @license-end */
diff --git a/Doc Doxygen/html/folderclosed.png b/Doc Doxygen/html/folderclosed.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66
Binary files /dev/null and b/Doc Doxygen/html/folderclosed.png differ
diff --git a/Doc Doxygen/html/folderopen.png b/Doc Doxygen/html/folderopen.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6c7f676a3b3ef8c2c307d319dff3c6a604eb227
Binary files /dev/null and b/Doc Doxygen/html/folderopen.png differ
diff --git a/Doc Doxygen/html/hierarchy.html b/Doc Doxygen/html/hierarchy.html
new file mode 100644
index 0000000000000000000000000000000000000000..2922463d5e10a566776a6e79e5df1b515a1afdf7
--- /dev/null
+++ b/Doc Doxygen/html/hierarchy.html	
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Class Hierarchy</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle"><div class="title">Class Hierarchy</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>MonoBehaviour</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_game_manager.html" target="_self">GameManager</a></td><td class="desc">Met en commun différents scripts afin de controller les waypoints, les routes et l'IA </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_player_controller.html" target="_self">PlayerController</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_route_tracer.html" target="_self">RouteTracer</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_waypoint_spawner.html" target="_self">WaypointSpawner</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/index.html b/Doc Doxygen/html/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..ea9e558c9415904eab2f368cf72e57f2c27bdf29
--- /dev/null
+++ b/Doc Doxygen/html/index.html	
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="TheLegendsOfSimon_500x341_.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">T3-LAS21-D &quot;The Legends Of Simon : Wild Garden&quot;<span id="projectnumber">&#160;0.83</span>
+   </div>
+   <div id="projectbrief">The Legends Of Simon est un jeu de gestion ou l&#39;on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l&#39;endroit qu&#39;il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.2 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle"><div class="title">T3-LAS21-D "The Legends Of Simon : Wild Garden" Documentation</div></div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
+</small></address>
+</body>
+</html>
diff --git a/Doc Doxygen/html/jquery.js b/Doc Doxygen/html/jquery.js
new file mode 100644
index 0000000000000000000000000000000000000000..c9ed3d99cbc898d1ab4d9bd378e55e43ad9022f5
--- /dev/null
+++ b/Doc Doxygen/html/jquery.js	
@@ -0,0 +1,35 @@
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
+/*! jQuery UI - v1.12.1 - 2019-01-27
+* http://jqueryui.com
+* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}t.ui=t.ui||{},t.ui.version="1.12.1";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),x={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?g.left+=p:"center"===n.at[0]&&(g.left+=p/2),"bottom"===n.at[1]?g.top+=f:"center"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),k=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
+},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
+ * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
+ * Licensed under MIT
+ * @author Ariel Flesler
+ * @version 2.1.2
+ */
+;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
+/*!
+ PowerTip v1.3.1 (2018-04-15)
+ https://stevenbenner.github.io/jquery-powertip/
+ Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
+ Released under MIT license.
+ https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
+*/
+(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!
+ * jQuery UI Touch Punch 0.2.3
+ *
+ * Copyright 2011–2014, Dave Furfero
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ * Depends:
+ *  jquery.ui.widget.js
+ *  jquery.ui.mouse.js
+ */
+!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
+ * http://www.smartmenus.org/
+ * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});
\ No newline at end of file
diff --git a/Doc Doxygen/html/menu.js b/Doc Doxygen/html/menu.js
new file mode 100644
index 0000000000000000000000000000000000000000..54e81cf15c45dfeff196985e943cb4eb9f353fd1
--- /dev/null
+++ b/Doc Doxygen/html/menu.js	
@@ -0,0 +1,127 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
+  function makeTree(data,relPath) {
+    var result='';
+    if ('children' in data) {
+      result+='<ul>';
+      for (var i in data.children) {
+        result+='<li><a href="'+relPath+data.children[i].url+'">'+
+                                data.children[i].text+'</a>'+
+                                makeTree(data.children[i],relPath)+'</li>';
+      }
+      result+='</ul>';
+    }
+    return result;
+  }
+  var searchBox;
+  if (searchEnabled) {
+    if (serverSide) {
+      searchBox='<div id="MSearchBox" class="MSearchBoxInactive">'+
+                 '<div class="left">'+
+                  '<form id="FSearchBox" action="'+relPath+searchPage+
+                    '" method="get"><img id="MSearchSelect" src="'+
+                    relPath+'search/mag.svg" alt=""/>'+
+                  '<input type="text" id="MSearchField" name="query" value="'+search+
+                    '" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
+                    ' onblur="searchBox.OnSearchFieldFocus(false)">'+
+                  '</form>'+
+                 '</div>'+
+                 '<div class="right"></div>'+
+                '</div>';
+    } else {
+      searchBox='<div id="MSearchBox" class="MSearchBoxInactive">'+
+                 '<span class="left">'+
+                  '<img id="MSearchSelect" src="'+relPath+
+                     'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()"'+
+                     ' onmouseout="return searchBox.OnSearchSelectHide()" alt=""/>'+
+                  '<input type="text" id="MSearchField" value="'+search+
+                    '" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
+                    'onblur="searchBox.OnSearchFieldFocus(false)" '+
+                    'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
+                 '</span>'+
+                 '<span class="right"><a id="MSearchClose" '+
+                  'href="javascript:searchBox.CloseResultsWindow()">'+
+                  '<img id="MSearchCloseImg" border="0" src="'+relPath+
+                  'search/close.svg" alt=""/></a>'
+                 '</span>'
+                '</div>';
+    }
+  }
+
+  $('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
+                        '<label class="main-menu-btn" for="main-menu-state">'+
+                        '<span class="main-menu-btn-icon"></span> '+
+                        'Toggle main menu visibility</label>'+
+                        '<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
+                        '</div>');
+  $('#main-nav').append(makeTree(menudata,relPath));
+  $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+  if (searchBox) {
+    $('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
+  }
+  var $mainMenuState = $('#main-menu-state');
+  var prevWidth = 0;
+  if ($mainMenuState.length) {
+    function initResizableIfExists() {
+      if (typeof initResizable==='function') initResizable();
+    }
+    // animate mobile menu
+    $mainMenuState.change(function(e) {
+      var $menu = $('#main-menu');
+      var options = { duration: 250, step: initResizableIfExists };
+      if (this.checked) {
+        options['complete'] = function() { $menu.css('display', 'block') };
+        $menu.hide().slideDown(options);
+      } else {
+        options['complete'] = function() { $menu.css('display', 'none') };
+        $menu.show().slideUp(options);
+      }
+    });
+    // set default menu visibility
+    function resetState() {
+      var $menu = $('#main-menu');
+      var $mainMenuState = $('#main-menu-state');
+      var newWidth = $(window).outerWidth();
+      if (newWidth!=prevWidth) {
+        if ($(window).outerWidth()<768) {
+          $mainMenuState.prop('checked',false); $menu.hide();
+          $('#searchBoxPos1').html(searchBox);
+          $('#searchBoxPos2').hide();
+        } else {
+          $menu.show();
+          $('#searchBoxPos1').empty();
+          $('#searchBoxPos2').html(searchBox);
+          $('#searchBoxPos2').show();
+        }
+        prevWidth = newWidth;
+      }
+    }
+    $(window).ready(function() { resetState(); initResizableIfExists(); });
+    $(window).resize(resetState);
+  }
+  $('#main-menu').smartmenus();
+}
+/* @license-end */
diff --git a/Doc Doxygen/html/menudata.js b/Doc Doxygen/html/menudata.js
new file mode 100644
index 0000000000000000000000000000000000000000..3f125fa4254ea14082d4733a0fd714c0eea30010
--- /dev/null
+++ b/Doc Doxygen/html/menudata.js	
@@ -0,0 +1,30 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+*/
+var menudata={children:[
+{text:"Main Page",url:"index.html"},
+{text:"Classes",url:"annotated.html",children:[
+{text:"Class List",url:"annotated.html"},
+{text:"Class Index",url:"classes.html"},
+{text:"Class Hierarchy",url:"hierarchy.html"}]}]}
diff --git a/Doc Doxygen/html/nav_f.png b/Doc Doxygen/html/nav_f.png
new file mode 100644
index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2
Binary files /dev/null and b/Doc Doxygen/html/nav_f.png differ
diff --git a/Doc Doxygen/html/nav_g.png b/Doc Doxygen/html/nav_g.png
new file mode 100644
index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81
Binary files /dev/null and b/Doc Doxygen/html/nav_g.png differ
diff --git a/Doc Doxygen/html/nav_h.png b/Doc Doxygen/html/nav_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..33389b101d9cd9b4c98ad286b5d9c46a6671f650
Binary files /dev/null and b/Doc Doxygen/html/nav_h.png differ
diff --git a/Doc Doxygen/html/open.png b/Doc Doxygen/html/open.png
new file mode 100644
index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b
Binary files /dev/null and b/Doc Doxygen/html/open.png differ
diff --git a/Doc Doxygen/html/search/all_0.html b/Doc Doxygen/html/search/all_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..65f85b5b74b308ab0c68d6abf7a275edcfca682d
--- /dev/null
+++ b/Doc Doxygen/html/search/all_0.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/all_0.js b/Doc Doxygen/html/search/all_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..956eb725558ae4772ac7d37e4c6a2d0ac0f1f924
--- /dev/null
+++ b/Doc Doxygen/html/search/all_0.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['gamemanager_0',['GameManager',['../class_game_manager.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/all_1.html b/Doc Doxygen/html/search/all_1.html
new file mode 100644
index 0000000000000000000000000000000000000000..af53dabdc35235a91bf356ec6382839f11716eb4
--- /dev/null
+++ b/Doc Doxygen/html/search/all_1.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/all_1.js b/Doc Doxygen/html/search/all_1.js
new file mode 100644
index 0000000000000000000000000000000000000000..ed6c33d6c5a5a303b770eae3e26d56ccad8d7a75
--- /dev/null
+++ b/Doc Doxygen/html/search/all_1.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['playercontroller_0',['PlayerController',['../class_player_controller.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/all_2.html b/Doc Doxygen/html/search/all_2.html
new file mode 100644
index 0000000000000000000000000000000000000000..f8fe8ecbe6b7e02d16d105bef885f16c78f4a7b0
--- /dev/null
+++ b/Doc Doxygen/html/search/all_2.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/all_2.js b/Doc Doxygen/html/search/all_2.js
new file mode 100644
index 0000000000000000000000000000000000000000..f6bca282426f87c1abcb2bea23c2e145dd1daf2d
--- /dev/null
+++ b/Doc Doxygen/html/search/all_2.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['routetracer_0',['RouteTracer',['../class_route_tracer.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/all_3.html b/Doc Doxygen/html/search/all_3.html
new file mode 100644
index 0000000000000000000000000000000000000000..fdb6e198637f4d18b536e2d25b06108be21f29b7
--- /dev/null
+++ b/Doc Doxygen/html/search/all_3.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/all_3.js b/Doc Doxygen/html/search/all_3.js
new file mode 100644
index 0000000000000000000000000000000000000000..32e7e6f9bac81ed85c4a108df4794b1108542fb6
--- /dev/null
+++ b/Doc Doxygen/html/search/all_3.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['waypointspawner_0',['WaypointSpawner',['../class_waypoint_spawner.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/classes_0.html b/Doc Doxygen/html/search/classes_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..4112ea7352a4f1df8ce98364a77d03ffb4ace22f
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_0.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/classes_0.js b/Doc Doxygen/html/search/classes_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..956eb725558ae4772ac7d37e4c6a2d0ac0f1f924
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_0.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['gamemanager_0',['GameManager',['../class_game_manager.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/classes_1.html b/Doc Doxygen/html/search/classes_1.html
new file mode 100644
index 0000000000000000000000000000000000000000..1f92ba811c8caec127290ad6483464c21b523922
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_1.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/classes_1.js b/Doc Doxygen/html/search/classes_1.js
new file mode 100644
index 0000000000000000000000000000000000000000..ed6c33d6c5a5a303b770eae3e26d56ccad8d7a75
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_1.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['playercontroller_0',['PlayerController',['../class_player_controller.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/classes_2.html b/Doc Doxygen/html/search/classes_2.html
new file mode 100644
index 0000000000000000000000000000000000000000..b65ed72c9b9f5ec6351e66ab1fecbe06a631de2b
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_2.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/classes_2.js b/Doc Doxygen/html/search/classes_2.js
new file mode 100644
index 0000000000000000000000000000000000000000..f6bca282426f87c1abcb2bea23c2e145dd1daf2d
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_2.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['routetracer_0',['RouteTracer',['../class_route_tracer.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/classes_3.html b/Doc Doxygen/html/search/classes_3.html
new file mode 100644
index 0000000000000000000000000000000000000000..11b019a505b34e77330997ae7c7d2ae827ad592e
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_3.html	
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.2"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/classes_3.js b/Doc Doxygen/html/search/classes_3.js
new file mode 100644
index 0000000000000000000000000000000000000000..32e7e6f9bac81ed85c4a108df4794b1108542fb6
--- /dev/null
+++ b/Doc Doxygen/html/search/classes_3.js	
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['waypointspawner_0',['WaypointSpawner',['../class_waypoint_spawner.html',1,'']]]
+];
diff --git a/Doc Doxygen/html/search/close.svg b/Doc Doxygen/html/search/close.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a933eea1a26b0c7ada7cd0053522238923996df1
--- /dev/null
+++ b/Doc Doxygen/html/search/close.svg	
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 11 11"
+   height="11"
+   width="11"
+   id="svg2"
+   version="1.1">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <path
+     id="path12"
+     d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
+     style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
+</svg>
diff --git a/Doc Doxygen/html/search/mag_sel.svg b/Doc Doxygen/html/search/mag_sel.svg
new file mode 100644
index 0000000000000000000000000000000000000000..03626f64a02be69e427a4a9f29a99052ccd235a1
--- /dev/null
+++ b/Doc Doxygen/html/search/mag_sel.svg	
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="svg2"
+   width="20"
+   height="19"
+   viewBox="0 0 20 19"
+   sodipodi:docname="mag_sel.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="2096"
+     id="namedview4"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="32"
+     inkscape:cx="5.9792688"
+     inkscape:cy="1.1436277"
+     inkscape:window-x="1920"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <circle
+     style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+     id="path4611"
+     cx="5.5"
+     cy="8.5"
+     r="3.5" />
+  <path
+     style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="M 11,7 13.5,10 16,7 Z"
+     id="path4609"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="m 8.1085854,11.109059 2.7823556,2.782356"
+     id="path4630"
+     inkscape:connector-curvature="0" />
+</svg>
diff --git a/Doc Doxygen/html/search/nomatches.html b/Doc Doxygen/html/search/nomatches.html
new file mode 100644
index 0000000000000000000000000000000000000000..2b9360b6bd700092477e10cf056de3f8967dd808
--- /dev/null
+++ b/Doc Doxygen/html/search/nomatches.html	
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/Doc Doxygen/html/search/search.css b/Doc Doxygen/html/search/search.css
new file mode 100644
index 0000000000000000000000000000000000000000..648a792f5eaf28a4075a5fbc3c971d7f327c2148
--- /dev/null
+++ b/Doc Doxygen/html/search/search.css	
@@ -0,0 +1,263 @@
+/*---------------- Search Box */
+
+#MSearchBox {
+    white-space : nowrap;
+    background: white;
+    border-radius: 0.65em;
+    box-shadow: inset 0.5px 0.5px 3px 0px #555;
+    z-index: 102;
+}
+
+#MSearchBox .left {
+    display: inline-block;
+    vertical-align: middle;
+    height: 1.4em;
+}
+
+#MSearchSelect {
+    display: inline-block;
+    vertical-align: middle;
+    height: 19px;
+    padding: 0 0 0 0.3em;
+    margin: 0;
+}
+
+#MSearchField {
+    display: inline-block;
+    vertical-align: middle;
+    width: 7.5em;
+    height: 19px;
+    margin: 0 0.15em;
+    padding: 0;
+    line-height: 1em;
+    border:none;
+    color: #909090;
+    outline: none;
+    font-family: Arial, Verdana, sans-serif;
+    -webkit-border-radius: 0px;
+    border-radius: 0px;
+    background: none;
+}
+
+@media(hover: none) {
+    /* to avoid zooming on iOS */
+    #MSearchField {
+        font-size: 16px;
+    }
+}
+
+#MSearchBox .right {
+    display: inline-block;
+    vertical-align: middle;
+    width: 1.4em;
+    height: 1.4em;
+}
+
+#MSearchClose {
+    display: none;
+    font-size: inherit;
+    background : none;
+    border: none;
+    margin: 0;
+    padding: 0;
+    outline: none;
+
+}
+
+#MSearchCloseImg {
+    height: 1.4em;
+    padding: 0.3em;
+    margin: 0;
+}
+
+.MSearchBoxActive #MSearchField {
+    color: #000000;
+}
+
+#main-menu > li:last-child {
+    /* This <li> object is the parent of the search bar */
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 36px;
+    margin-right: 1em;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #90A5CE;
+    background-color: #F9FAFC;
+    z-index: 10001;
+    padding-top: 4px;
+    padding-bottom: 4px;
+    -moz-border-radius: 4px;
+    -webkit-border-top-left-radius: 4px;
+    -webkit-border-top-right-radius: 4px;
+    -webkit-border-bottom-left-radius: 4px;
+    -webkit-border-bottom-right-radius: 4px;
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+    font: 8pt Arial, Verdana, sans-serif;
+    padding-left:  2px;
+    padding-right: 12px;
+    border: 0px;
+}
+
+span.SelectionMark {
+    margin-right: 4px;
+    font-family: monospace;
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem {
+    display: block;
+    outline-style: none;
+    color: #000000; 
+    text-decoration: none;
+    padding-left:   6px;
+    padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+    color: #000000; 
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem:hover {
+    color: #FFFFFF;
+    background-color: #3D578C;
+    outline-style: none;
+    text-decoration: none;
+    cursor: pointer;
+    display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+    /*width: 60ex;*/
+    height: 15em;
+}
+
+#MSearchResultsWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #000;
+    background-color: #EEF1F7;
+    z-index:10000;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+    clear:both; 
+    padding-bottom: 15px;
+}
+
+.SREntry {
+    font-size: 10pt;
+    padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+    font-size: 8pt;
+    padding: 1px 5px;
+}
+
+body.SRPage {
+    margin: 5px 2px;
+}
+
+.SRChildren {
+    padding-left: 3ex; padding-bottom: .5em 
+}
+
+.SRPage .SRChildren {
+    display: none;
+}
+
+.SRSymbol {
+    font-weight: bold; 
+    color: #425E97;
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRScope {
+    display: block;
+    color: #425E97; 
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+    text-decoration: underline;
+}
+
+span.SRScope {
+    padding-left: 4px;
+    font-family: Arial, Verdana, sans-serif;
+}
+
+.SRPage .SRStatus {
+    padding: 2px 5px;
+    font-size: 8pt;
+    font-style: italic;
+    font-family: Arial, Verdana, sans-serif;
+}
+
+.SRResult {
+    display: none;
+}
+
+div.searchresults {
+    margin-left: 10px;
+    margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+    background-color: #F0F3F8;
+}
+
+.pages b {
+   color: white;
+   padding: 5px 5px 3px 5px;
+   background-image: url("../tab_a.png");
+   background-repeat: repeat-x;
+   text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+    line-height: 17px;
+    margin-left: 4px;
+    text-decoration: none;
+}
+
+.hl {
+    font-weight: bold;
+}
+
+#searchresults {
+    margin-bottom: 20px;
+}
+
+.searchpages {
+    margin-top: 10px;
+}
+
diff --git a/Doc Doxygen/html/search/search.js b/Doc Doxygen/html/search/search.js
new file mode 100644
index 0000000000000000000000000000000000000000..ac8055d132672a99f1d748b2a1503e497326863d
--- /dev/null
+++ b/Doc Doxygen/html/search/search.js	
@@ -0,0 +1,794 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function convertToId(search)
+{
+  var result = '';
+  for (i=0;i<search.length;i++)
+  {
+    var c = search.charAt(i);
+    var cn = c.charCodeAt(0);
+    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
+    {
+      result+=c;
+    }
+    else if (cn<16)
+    {
+      result+="_0"+cn.toString(16);
+    }
+    else
+    {
+      result+="_"+cn.toString(16);
+    }
+  }
+  return result;
+}
+
+function getXPos(item)
+{
+  var x = 0;
+  if (item.offsetWidth)
+  {
+    while (item && item!=document.body)
+    {
+      x   += item.offsetLeft;
+      item = item.offsetParent;
+    }
+  }
+  return x;
+}
+
+function getYPos(item)
+{
+  var y = 0;
+  if (item.offsetWidth)
+  {
+     while (item && item!=document.body)
+     {
+       y   += item.offsetTop;
+       item = item.offsetParent;
+     }
+  }
+  return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+   Parameters:
+   name - The name of the global variable that will be
+          storing this instance.  Is needed to be able to set timeouts.
+   resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, label, extension)
+{
+  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
+  if (!extension || extension == "") { extension = ".html"; }
+
+  // ---------- Instance variables
+  this.name                  = name;
+  this.resultsPath           = resultsPath;
+  this.keyTimeout            = 0;
+  this.keyTimeoutLength      = 500;
+  this.closeSelectionTimeout = 300;
+  this.lastSearchValue       = "";
+  this.lastResultsPage       = "";
+  this.hideTimeout           = 0;
+  this.searchIndex           = 0;
+  this.searchActive          = false;
+  this.searchLabel           = label;
+  this.extension             = extension;
+
+  // ----------- DOM Elements
+
+  this.DOMSearchField = function()
+  {  return document.getElementById("MSearchField");  }
+
+  this.DOMSearchSelect = function()
+  {  return document.getElementById("MSearchSelect");  }
+
+  this.DOMSearchSelectWindow = function()
+  {  return document.getElementById("MSearchSelectWindow");  }
+
+  this.DOMPopupSearchResults = function()
+  {  return document.getElementById("MSearchResults");  }
+
+  this.DOMPopupSearchResultsWindow = function()
+  {  return document.getElementById("MSearchResultsWindow");  }
+
+  this.DOMSearchClose = function()
+  {  return document.getElementById("MSearchClose"); }
+
+  this.DOMSearchBox = function()
+  {  return document.getElementById("MSearchBox");  }
+
+  // ------------ Event Handlers
+
+  // Called when focus is added or removed from the search field.
+  this.OnSearchFieldFocus = function(isActive)
+  {
+    this.Activate(isActive);
+  }
+
+  this.OnSearchSelectShow = function()
+  {
+    var searchSelectWindow = this.DOMSearchSelectWindow();
+    var searchField        = this.DOMSearchSelect();
+
+    var left = getXPos(searchField);
+    var top  = getYPos(searchField);
+    top += searchField.offsetHeight;
+
+    // show search selection popup
+    searchSelectWindow.style.display='block';
+    searchSelectWindow.style.left =  left + 'px';
+    searchSelectWindow.style.top  =  top  + 'px';
+
+    // stop selection hide timer
+    if (this.hideTimeout)
+    {
+      clearTimeout(this.hideTimeout);
+      this.hideTimeout=0;
+    }
+    return false; // to avoid "image drag" default event
+  }
+
+  this.OnSearchSelectHide = function()
+  {
+    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+                                  this.closeSelectionTimeout);
+  }
+
+  // Called when the content of the search field is changed.
+  this.OnSearchFieldChange = function(evt)
+  {
+    if (this.keyTimeout) // kill running timer
+    {
+      clearTimeout(this.keyTimeout);
+      this.keyTimeout = 0;
+    }
+
+    var e  = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 || e.keyCode==13)
+    {
+      if (e.shiftKey==1)
+      {
+        this.OnSearchSelectShow();
+        var win=this.DOMSearchSelectWindow();
+        for (i=0;i<win.childNodes.length;i++)
+        {
+          var child = win.childNodes[i]; // get span within a
+          if (child.className=='SelectItem')
+          {
+            child.focus();
+            return;
+          }
+        }
+        return;
+      }
+      else
+      {
+        window.frames.MSearchResults.postMessage("take_focus", "*");
+      }
+    }
+    else if (e.keyCode==27) // Escape out of the search field
+    {
+      this.DOMSearchField().blur();
+      this.DOMPopupSearchResultsWindow().style.display = 'none';
+      this.DOMSearchClose().style.display = 'none';
+      this.lastSearchValue = '';
+      this.Activate(false);
+      return;
+    }
+
+    // strip whitespaces
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+    if (searchValue != this.lastSearchValue) // search value has changed
+    {
+      if (searchValue != "") // non-empty search
+      {
+        // set timer for search update
+        this.keyTimeout = setTimeout(this.name + '.Search()',
+                                     this.keyTimeoutLength);
+      }
+      else // empty search field
+      {
+        this.DOMPopupSearchResultsWindow().style.display = 'none';
+        this.DOMSearchClose().style.display = 'none';
+        this.lastSearchValue = '';
+      }
+    }
+  }
+
+  this.SelectItemCount = function(id)
+  {
+    var count=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        count++;
+      }
+    }
+    return count;
+  }
+
+  this.SelectItemSet = function(id)
+  {
+    var i,j=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        var node = child.firstChild;
+        if (j==id)
+        {
+          node.innerHTML='&#8226;';
+        }
+        else
+        {
+          node.innerHTML='&#160;';
+        }
+        j++;
+      }
+    }
+  }
+
+  // Called when an search filter selection is made.
+  // set item with index id as the active item
+  this.OnSelectItem = function(id)
+  {
+    this.searchIndex = id;
+    this.SelectItemSet(id);
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+    if (searchValue!="" && this.searchActive) // something was found -> do a search
+    {
+      this.Search();
+    }
+  }
+
+  this.OnSearchSelectKey = function(evt)
+  {
+    var e = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+    {
+      this.searchIndex++;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==38 && this.searchIndex>0) // Up
+    {
+      this.searchIndex--;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==13 || e.keyCode==27)
+    {
+      this.OnSelectItem(this.searchIndex);
+      this.CloseSelectionWindow();
+      this.DOMSearchField().focus();
+    }
+    return false;
+  }
+
+  // --------- Actions
+
+  // Closes the results window.
+  this.CloseResultsWindow = function()
+  {
+    this.DOMPopupSearchResultsWindow().style.display = 'none';
+    this.DOMSearchClose().style.display = 'none';
+    this.Activate(false);
+  }
+
+  this.CloseSelectionWindow = function()
+  {
+    this.DOMSearchSelectWindow().style.display = 'none';
+  }
+
+  // Performs a search.
+  this.Search = function()
+  {
+    this.keyTimeout = 0;
+
+    // strip leading whitespace
+    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+    var code = searchValue.toLowerCase().charCodeAt(0);
+    var idxChar = searchValue.substr(0, 1).toLowerCase();
+    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+    {
+      idxChar = searchValue.substr(0, 2);
+    }
+
+    var resultsPage;
+    var resultsPageWithSearch;
+    var hasResultsPage;
+
+    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+    if (idx!=-1)
+    {
+       var hexCode=idx.toString(16);
+       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension;
+       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+       hasResultsPage = true;
+    }
+    else // nothing available for this search term
+    {
+       resultsPage = this.resultsPath + '/nomatches' + this.extension;
+       resultsPageWithSearch = resultsPage;
+       hasResultsPage = false;
+    }
+
+    window.frames.MSearchResults.location = resultsPageWithSearch;
+    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+    if (domPopupSearchResultsWindow.style.display!='block')
+    {
+       var domSearchBox = this.DOMSearchBox();
+       this.DOMSearchClose().style.display = 'inline-block';
+       var domPopupSearchResults = this.DOMPopupSearchResults();
+       var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+       var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
+       domPopupSearchResultsWindow.style.display = 'block';
+       left -= domPopupSearchResults.offsetWidth;
+       var maxWidth = document.body.clientWidth;
+       var width = 400;
+       if (left<10) left=10;
+       if (width+left+8>maxWidth) width=maxWidth-left-8;
+       domPopupSearchResultsWindow.style.top     = top  + 'px';
+       domPopupSearchResultsWindow.style.left    = left + 'px';
+       domPopupSearchResultsWindow.style.width   = width + 'px';
+    }
+
+    this.lastSearchValue = searchValue;
+    this.lastResultsPage = resultsPage;
+  }
+
+  // -------- Activation Functions
+
+  // Activates or deactivates the search panel, resetting things to
+  // their default values if necessary.
+  this.Activate = function(isActive)
+  {
+    if (isActive || // open it
+        this.DOMPopupSearchResultsWindow().style.display == 'block'
+       )
+    {
+      this.DOMSearchBox().className = 'MSearchBoxActive';
+
+      var searchField = this.DOMSearchField();
+
+      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+      {
+        searchField.value = '';
+        this.searchActive = true;
+      }
+    }
+    else if (!isActive) // directly remove the panel
+    {
+      this.DOMSearchBox().className = 'MSearchBoxInactive';
+      this.DOMSearchField().value   = this.searchLabel;
+      this.searchActive             = false;
+      this.lastSearchValue          = ''
+      this.lastResultsPage          = '';
+    }
+  }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+    // The number of matches from the last run of <Search()>.
+    this.lastMatchCount = 0;
+    this.lastKey = 0;
+    this.repeatOn = false;
+
+    // Toggles the visibility of the passed element ID.
+    this.FindChildElement = function(id)
+    {
+      var parentElement = document.getElementById(id);
+      var element = parentElement.firstChild;
+
+      while (element && element!=parentElement)
+      {
+        if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
+        {
+          return element;
+        }
+
+        if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
+        {
+           element = element.firstChild;
+        }
+        else if (element.nextSibling)
+        {
+           element = element.nextSibling;
+        }
+        else
+        {
+          do
+          {
+            element = element.parentNode;
+          }
+          while (element && element!=parentElement && !element.nextSibling);
+
+          if (element && element!=parentElement)
+          {
+            element = element.nextSibling;
+          }
+        }
+      }
+    }
+
+    this.Toggle = function(id)
+    {
+      var element = this.FindChildElement(id);
+      if (element)
+      {
+        if (element.style.display == 'block')
+        {
+          element.style.display = 'none';
+        }
+        else
+        {
+          element.style.display = 'block';
+        }
+      }
+    }
+
+    // Searches for the passed string.  If there is no parameter,
+    // it takes it from the URL query.
+    //
+    // Always returns true, since other documents may try to call it
+    // and that may or may not be possible.
+    this.Search = function(search)
+    {
+      if (!search) // get search word from URL
+      {
+        search = window.location.search;
+        search = search.substring(1);  // Remove the leading '?'
+        search = unescape(search);
+      }
+
+      search = search.replace(/^ +/, ""); // strip leading spaces
+      search = search.replace(/ +$/, ""); // strip trailing spaces
+      search = search.toLowerCase();
+      search = convertToId(search);
+
+      var resultRows = document.getElementsByTagName("div");
+      var matches = 0;
+
+      var i = 0;
+      while (i < resultRows.length)
+      {
+        var row = resultRows.item(i);
+        if (row.className == "SRResult")
+        {
+          var rowMatchName = row.id.toLowerCase();
+          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+          if (search.length<=rowMatchName.length &&
+             rowMatchName.substr(0, search.length)==search)
+          {
+            row.style.display = 'block';
+            matches++;
+          }
+          else
+          {
+            row.style.display = 'none';
+          }
+        }
+        i++;
+      }
+      document.getElementById("Searching").style.display='none';
+      if (matches == 0) // no results
+      {
+        document.getElementById("NoMatches").style.display='block';
+      }
+      else // at least one result
+      {
+        document.getElementById("NoMatches").style.display='none';
+      }
+      this.lastMatchCount = matches;
+      return true;
+    }
+
+    // return the first item with index index or higher that is visible
+    this.NavNext = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index++;
+      }
+      return focusItem;
+    }
+
+    this.NavPrev = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index--;
+      }
+      return focusItem;
+    }
+
+    this.ProcessKeys = function(e)
+    {
+      if (e.type == "keydown")
+      {
+        this.repeatOn = false;
+        this.lastKey = e.keyCode;
+      }
+      else if (e.type == "keypress")
+      {
+        if (!this.repeatOn)
+        {
+          if (this.lastKey) this.repeatOn = true;
+          return false; // ignore first keypress after keydown
+        }
+      }
+      else if (e.type == "keyup")
+      {
+        this.lastKey = 0;
+        this.repeatOn = false;
+      }
+      return this.lastKey!=0;
+    }
+
+    this.Nav = function(evt,itemIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        var newIndex = itemIndex-1;
+        var focusItem = this.NavPrev(newIndex);
+        if (focusItem)
+        {
+          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+          if (child && child.style.display == 'block') // children visible
+          {
+            var n=0;
+            var tmpElem;
+            while (1) // search for last child
+            {
+              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+              if (tmpElem)
+              {
+                focusItem = tmpElem;
+              }
+              else // found it!
+              {
+                break;
+              }
+              n++;
+            }
+          }
+        }
+        if (focusItem)
+        {
+          focusItem.focus();
+        }
+        else // return focus to search field
+        {
+           parent.document.getElementById("MSearchField").focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = itemIndex+1;
+        var focusItem;
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem && elem.style.display == 'block') // children visible
+        {
+          focusItem = document.getElementById('Item'+itemIndex+'_c0');
+        }
+        if (!focusItem) focusItem = this.NavNext(newIndex);
+        if (focusItem)  focusItem.focus();
+      }
+      else if (this.lastKey==39) // Right
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'block';
+      }
+      else if (this.lastKey==37) // Left
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'none';
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+
+    this.NavChild = function(evt,itemIndex,childIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        if (childIndex>0)
+        {
+          var newIndex = childIndex-1;
+          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+        }
+        else // already at first child, jump to parent
+        {
+          document.getElementById('Item'+itemIndex).focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = childIndex+1;
+        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+        if (!elem) // last child, jump to parent next parent
+        {
+          elem = this.NavNext(itemIndex+1);
+        }
+        if (elem)
+        {
+          elem.focus();
+        }
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+}
+
+function setKeyActions(elem,action)
+{
+  elem.setAttribute('onkeydown',action);
+  elem.setAttribute('onkeypress',action);
+  elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+  elem.setAttribute('class',attr);
+  elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+  var results = document.getElementById("SRResults");
+  for (var e=0; e<searchData.length; e++)
+  {
+    var id = searchData[e][0];
+    var srResult = document.createElement('div');
+    srResult.setAttribute('id','SR_'+id);
+    setClassAttr(srResult,'SRResult');
+    var srEntry = document.createElement('div');
+    setClassAttr(srEntry,'SREntry');
+    var srLink = document.createElement('a');
+    srLink.setAttribute('id','Item'+e);
+    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+    setClassAttr(srLink,'SRSymbol');
+    srLink.innerHTML = searchData[e][1][0];
+    srEntry.appendChild(srLink);
+    if (searchData[e][1].length==2) // single result
+    {
+      srLink.setAttribute('href',searchData[e][1][1][0]);
+      srLink.setAttribute('onclick','parent.searchBox.CloseResultsWindow()');
+      if (searchData[e][1][1][1])
+      {
+       srLink.setAttribute('target','_parent');
+      }
+      var srScope = document.createElement('span');
+      setClassAttr(srScope,'SRScope');
+      srScope.innerHTML = searchData[e][1][1][2];
+      srEntry.appendChild(srScope);
+    }
+    else // multiple results
+    {
+      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+      var srChildren = document.createElement('div');
+      setClassAttr(srChildren,'SRChildren');
+      for (var c=0; c<searchData[e][1].length-1; c++)
+      {
+        var srChild = document.createElement('a');
+        srChild.setAttribute('id','Item'+e+'_c'+c);
+        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+        setClassAttr(srChild,'SRScope');
+        srChild.setAttribute('href',searchData[e][1][c+1][0]);
+        srChild.setAttribute('onclick','parent.searchBox.CloseResultsWindow()');
+        if (searchData[e][1][c+1][1])
+        {
+         srChild.setAttribute('target','_parent');
+        }
+        srChild.innerHTML = searchData[e][1][c+1][2];
+        srChildren.appendChild(srChild);
+      }
+      srEntry.appendChild(srChildren);
+    }
+    srResult.appendChild(srEntry);
+    results.appendChild(srResult);
+  }
+}
+
+function init_search()
+{
+  var results = document.getElementById("MSearchSelectWindow");
+  for (var key in indexSectionLabels)
+  {
+    var link = document.createElement('a');
+    link.setAttribute('class','SelectItem');
+    link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
+    link.href='javascript:void(0)';
+    link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
+    results.appendChild(link);
+  }
+  searchBox.OnSelectItem(0);
+}
+/* @license-end */
diff --git a/Doc Doxygen/html/search/search_l.png b/Doc Doxygen/html/search/search_l.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd5f7daa41a4c79b4ae9bea5aa7bdfb94e14084b
Binary files /dev/null and b/Doc Doxygen/html/search/search_l.png differ
diff --git a/Doc Doxygen/html/search/search_m.png b/Doc Doxygen/html/search/search_m.png
new file mode 100644
index 0000000000000000000000000000000000000000..b429a16ba641960da1e52e5da85dc80fd82635c8
Binary files /dev/null and b/Doc Doxygen/html/search/search_m.png differ
diff --git a/Doc Doxygen/html/search/search_r.png b/Doc Doxygen/html/search/search_r.png
new file mode 100644
index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69
Binary files /dev/null and b/Doc Doxygen/html/search/search_r.png differ
diff --git a/Doc Doxygen/html/search/searchdata.js b/Doc Doxygen/html/search/searchdata.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce9a2ec3b29d9ee723a6bcd92b3ad92f4993b9a3
--- /dev/null
+++ b/Doc Doxygen/html/search/searchdata.js	
@@ -0,0 +1,18 @@
+var indexSectionsWithContent =
+{
+  0: "gprw",
+  1: "gprw"
+};
+
+var indexSectionNames =
+{
+  0: "all",
+  1: "classes"
+};
+
+var indexSectionLabels =
+{
+  0: "All",
+  1: "Classes"
+};
+
diff --git a/Doc Doxygen/html/splitbar.png b/Doc Doxygen/html/splitbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e
Binary files /dev/null and b/Doc Doxygen/html/splitbar.png differ
diff --git a/Doc Doxygen/html/sync_off.png b/Doc Doxygen/html/sync_off.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc
Binary files /dev/null and b/Doc Doxygen/html/sync_off.png differ
diff --git a/Doc Doxygen/html/sync_on.png b/Doc Doxygen/html/sync_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76
Binary files /dev/null and b/Doc Doxygen/html/sync_on.png differ
diff --git a/Doc Doxygen/html/tab_a.png b/Doc Doxygen/html/tab_a.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247
Binary files /dev/null and b/Doc Doxygen/html/tab_a.png differ
diff --git a/Doc Doxygen/html/tab_b.png b/Doc Doxygen/html/tab_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18
Binary files /dev/null and b/Doc Doxygen/html/tab_b.png differ
diff --git a/Doc Doxygen/html/tab_h.png b/Doc Doxygen/html/tab_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd5cb705488e60fcf30f56fcc951dee74f3b095b
Binary files /dev/null and b/Doc Doxygen/html/tab_h.png differ
diff --git a/Doc Doxygen/html/tab_s.png b/Doc Doxygen/html/tab_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50
Binary files /dev/null and b/Doc Doxygen/html/tab_s.png differ
diff --git a/Doc Doxygen/html/tabs.css b/Doc Doxygen/html/tabs.css
new file mode 100644
index 0000000000000000000000000000000000000000..00d1c602496431b8bbd41230f33a0208bf756651
--- /dev/null
+++ b/Doc Doxygen/html/tabs.css	
@@ -0,0 +1 @@
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#666;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
diff --git a/Images/readme/auto road example.png b/Images/readme/auto road example.png
new file mode 100644
index 0000000000000000000000000000000000000000..40a3126cd503bf3391ddfbcb464c2240b10580a4
Binary files /dev/null and b/Images/readme/auto road example.png differ
diff --git a/Images/readme/place end.png b/Images/readme/place end.png
new file mode 100644
index 0000000000000000000000000000000000000000..63c1416d104a7914122ee6568aea8e268a9b7a3c
Binary files /dev/null and b/Images/readme/place end.png differ
diff --git a/Images/readme/place start.png b/Images/readme/place start.png
new file mode 100644
index 0000000000000000000000000000000000000000..879a77b0953a8e1da063271b4e1ecbb08177327b
Binary files /dev/null and b/Images/readme/place start.png differ
diff --git a/Images/readme/search emplacement.png b/Images/readme/search emplacement.png
new file mode 100644
index 0000000000000000000000000000000000000000..97c41acdfc035875ce1a2f71519eff5b659228ce
Binary files /dev/null and b/Images/readme/search emplacement.png differ
diff --git a/README.md b/README.md
index c2b7bbbe6efffbf332178df9cebbcad63002a308..3c10b592387bddc3c41ea36badf1871a72384690 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 Notre jeu a pour but de faire comprendre, dans la peau d'un organisateur de courses, comment les coureurs gèrent une course dite impossible.
 
-###Présentation du jeu
+### Présentation du jeu
 
 Le jeu est un jeu de gestion ou l'on peut gérer différentes courses. Le joueur aura la capacité de tracer lui-même une course, en utilisant une vue satellite du monde, à l'endroit qu'il le souhaite. Il devra ensuite placer des obstacles sur le tail afin de doser la difficultés sans en abuser. Plus les courses seront réussies, plus le nombre de participants ainsi que les fonds nécessaires seront disponibles.
 
@@ -17,7 +17,12 @@ Le jeu est un jeu de gestion ou l'on peut gérer différentes courses. Le joueur
 ---
 ## ***Installation***
 - Télécharger Le Jeu [ici](https://mega.nz/file/qAgilRiZ#20XBofaxzBwtyg9_zscxxi-83N2LtH1HH33YITwRo38)
-- Lancez Le_Jeu.exe
+- Lancez TLoS-setup.exe
+- Suivez les étapes
+- Lancez TLoS.exe
+
+## ***Documentation***
+-
 
 ---
 ## ***Équipe***
diff --git a/T3-Unity/Assembly-CSharp-AddIn.dna b/T3-Unity/Assembly-CSharp-AddIn.dna
new file mode 100644
index 0000000000000000000000000000000000000000..6b025ef53221a0135f18b29848eb111ce5d8a487
--- /dev/null
+++ b/T3-Unity/Assembly-CSharp-AddIn.dna
@@ -0,0 +1,19 @@
+<DnaLibrary Name="Assembly-CSharp Add-In" RuntimeVersion="v4.0">
+  <ExternalLibrary Path="Assembly-CSharp.dll" LoadFromBytes="true" Pack="true" />
+  <!-- 
+       The RuntimeVersion attribute above allows two settings:
+       * RuntimeVersion="v2.0" - for .NET 2.0, 3.0 and 3.5
+       * RuntimeVersion="v4.0" - for .NET 4 and 4.5
+
+       Additional referenced assemblies can be specified by adding 'Reference' tags. 
+       These libraries will not be examined and registered with Excel as add-in libraries, 
+       but will be packed into the -packed.xll file and loaded at runtime as needed.
+       For example:
+       
+       <Reference Path="Another.Library.dll" Pack="true" />
+  
+       Excel-DNA also allows the xml for ribbon UI extensions to be specified in the .dna file.
+       See the main Excel-DNA site at http://excel-dna.net for downloads of the full distribution.
+  -->
+  <Reference Path="ExcelDna.Documentation.dll" Pack="true" />
+</DnaLibrary>
\ No newline at end of file
diff --git a/T3-Unity/Assets/Prefabs/Waypoint END.prefab b/T3-Unity/Assets/Prefabs/Waypoint END.prefab
index 8e05efb3ac249f2b7ebddf23b3993641388aa8c2..ad685671a87dcb6fce089542b6f495378c8756eb 100644
--- a/T3-Unity/Assets/Prefabs/Waypoint END.prefab	
+++ b/T3-Unity/Assets/Prefabs/Waypoint END.prefab	
@@ -110,7 +110,7 @@ PrefabInstance:
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_textInfo.characterCount
-      value: 3
+      value: 7
       objectReference: {fileID: 0}
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
@@ -120,7 +120,7 @@ PrefabInstance:
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_textInfo.lineCount
-      value: 1
+      value: 2
       objectReference: {fileID: 0}
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
@@ -130,7 +130,17 @@ PrefabInstance:
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_text
-      value: END
+      value: "ARRIV\xC9E"
+      objectReference: {fileID: 0}
+    - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
+        type: 3}
+      propertyPath: m_textAlignment
+      value: 258
+      objectReference: {fileID: 0}
+    - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
+        type: 3}
+      propertyPath: m_enableWordWrapping
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 6805952121577456765, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
diff --git a/T3-Unity/Assets/Prefabs/Waypoint START.prefab b/T3-Unity/Assets/Prefabs/Waypoint START.prefab
index 909d18a718f5f945824b5a5db4ea65b6ac4efbc2..bb6d9921cac2e5bf4b1fe47234b08d925b43c461 100644
--- a/T3-Unity/Assets/Prefabs/Waypoint START.prefab	
+++ b/T3-Unity/Assets/Prefabs/Waypoint START.prefab	
@@ -85,12 +85,12 @@ PrefabInstance:
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_text
-      value: START
+      value: "D\xC9PART"
       objectReference: {fileID: 0}
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_textInfo.characterCount
-      value: 5
+      value: 6
       objectReference: {fileID: 0}
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
@@ -100,13 +100,23 @@ PrefabInstance:
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_textInfo.lineCount
-      value: 1
+      value: 2
       objectReference: {fileID: 0}
     - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_textInfo.pageCount
       value: 1
       objectReference: {fileID: 0}
+    - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
+        type: 3}
+      propertyPath: m_textAlignment
+      value: 258
+      objectReference: {fileID: 0}
+    - target: {fileID: 4496217386513608057, guid: 18761a72aa6233c4bb4bd29dd401981e,
+        type: 3}
+      propertyPath: m_enableWordWrapping
+      value: 0
+      objectReference: {fileID: 0}
     - target: {fileID: 6805952121577456765, guid: 18761a72aa6233c4bb4bd29dd401981e,
         type: 3}
       propertyPath: m_Mesh
diff --git a/T3-Unity/Assets/Scenes/Map_Tests.unity b/T3-Unity/Assets/Scenes/Map_Tests.unity
index 25615479a89a2e4861213f90b624dea02a95fc10..632011efcaa5fe7fac9273181c01a12cbd3de045 100644
--- a/T3-Unity/Assets/Scenes/Map_Tests.unity
+++ b/T3-Unity/Assets/Scenes/Map_Tests.unity
@@ -38,7 +38,7 @@ RenderSettings:
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 0}
   m_Sun: {fileID: 170076734}
-  m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641258, b: 0.5748172, a: 1}
+  m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
   m_UseRadianceAmbientProbe: 0
 --- !u!157 &3
 LightmapSettings:
@@ -150,7 +150,7 @@ RectTransform:
   m_AnchorMin: {x: 1, y: 1}
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 750, y: 175}
+  m_SizeDelta: {x: 1250, y: 134}
   m_Pivot: {x: 1, y: 1}
 --- !u!114 &32484157
 MonoBehaviour:
@@ -210,6 +210,161 @@ MonoBehaviour:
   m_ChildForceExpandHeight: 1
   m_ChildControlWidth: 1
   m_ChildControlHeight: 1
+--- !u!1 &143949885
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 143949886}
+  - component: {fileID: 143949888}
+  - component: {fileID: 143949887}
+  m_Layer: 5
+  m_Name: endText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &143949886
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 143949885}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.0490679, y: 1.0490679, z: 1.0490679}
+  m_Children: []
+  m_Father: {fileID: 1831370942}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 200, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &143949887
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 143949885}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: "Placez un point d'arriv\xE9e."
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_outlineColor:
+    serializedVersion: 2
+    rgba: 4278190080
+  m_fontSize: 72
+  m_fontSizeBase: 72
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_textAlignment: 514
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_firstOverflowCharacterIndex: -1
+  m_linkedTextComponent: {fileID: 0}
+  m_isLinkedTextComponent: 0
+  m_isTextTruncated: 0
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_ignoreRectMaskCulling: 0
+  m_ignoreCulling: 1
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_firstVisibleCharacter: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_textInfo:
+    textComponent: {fileID: 143949887}
+    characterCount: 26
+    spriteCount: 0
+    spaceCount: 3
+    wordCount: 4
+    linkCount: 0
+    lineCount: 1
+    pageCount: 1
+    materialCount: 1
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_spriteAnimator: {fileID: 0}
+  m_hasFontAssetChanged: 0
+  m_subTextObjects:
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &143949888
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 143949885}
+  m_CullTransparentMesh: 0
 --- !u!1 &170076733
 GameObject:
   m_ObjectHideFlags: 0
@@ -556,18 +711,18 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
-    m_FontSize: 30
+    m_FontSize: 35
     m_FontStyle: 0
     m_BestFit: 0
-    m_MinSize: 1
+    m_MinSize: 0
     m_MaxSize: 40
     m_Alignment: 3
     m_AlignByGeometry: 0
     m_RichText: 0
-    m_HorizontalOverflow: 0
+    m_HorizontalOverflow: 1
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: Chercher
+  m_Text: Chercher (Validez avec ENTRER)
 --- !u!222 &635667189
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -919,7 +1074,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 4
+  m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &817057766
 GameObject:
@@ -955,7 +1110,8 @@ MonoBehaviour:
   - {fileID: 2042676738254883600, guid: adcf133badada334581b9bd798be23cd, type: 3}
   - {fileID: 5106668611982552037, guid: 6a798f905f6b7dd4ea45b512de8e4537, type: 3}
   map: {fileID: 703254553}
-  canvas: {fileID: 2056313312}
+  canvasStep1: {fileID: 2056313312}
+  canvasStep2: {fileID: 1521155464}
   test: 0
   objA: {fileID: 0}
   objB: {fileID: 0}
@@ -973,7 +1129,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 5
+  m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &817057769
 MonoBehaviour:
@@ -993,6 +1149,161 @@ MonoBehaviour:
   mat: {fileID: 2100000, guid: b4d771525b9636c4b9bf6a1640d82f46, type: 2}
   _prefabs_parent: {fileID: 488440634}
   test: 0
+--- !u!1 &927176943
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 927176944}
+  - component: {fileID: 927176946}
+  - component: {fileID: 927176945}
+  m_Layer: 5
+  m_Name: startText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &927176944
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 927176943}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.0490679, y: 1.0490679, z: 1.0490679}
+  m_Children: []
+  m_Father: {fileID: 1831370942}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 981, y: 140}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &927176945
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 927176943}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: "Placez un point de d\xE9part."
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_outlineColor:
+    serializedVersion: 2
+    rgba: 4278190080
+  m_fontSize: 72
+  m_fontSizeBase: 72
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_textAlignment: 514
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_firstOverflowCharacterIndex: -1
+  m_linkedTextComponent: {fileID: 0}
+  m_isLinkedTextComponent: 0
+  m_isTextTruncated: 0
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_ignoreRectMaskCulling: 0
+  m_ignoreCulling: 1
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_firstVisibleCharacter: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_textInfo:
+    textComponent: {fileID: 927176945}
+    characterCount: 26
+    spriteCount: 0
+    spaceCount: 4
+    wordCount: 5
+    linkCount: 0
+    lineCount: 1
+    pageCount: 1
+    materialCount: 1
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_spriteAnimator: {fileID: 0}
+  m_hasFontAssetChanged: 0
+  m_subTextObjects:
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &927176946
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 927176943}
+  m_CullTransparentMesh: 0
 --- !u!1 &1041475209
 GameObject:
   m_ObjectHideFlags: 0
@@ -1071,7 +1382,7 @@ Transform:
   - {fileID: 1041475211}
   - {fileID: 488440634}
   m_Father: {fileID: 0}
-  m_RootOrder: 6
+  m_RootOrder: 7
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1255026297
 GameObject:
@@ -1102,7 +1413,7 @@ RectTransform:
   m_GameObject: {fileID: 1255026297}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalScale: {x: 0.75, y: 1, z: 1}
   m_Children:
   - {fileID: 596864102}
   - {fileID: 1440548238}
@@ -1111,7 +1422,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.25, y: 0}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 113, y: 0}
   m_SizeDelta: {x: 0, y: -4}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1255026299
@@ -1563,8 +1874,8 @@ MonoBehaviour:
   m_outlineColor:
     serializedVersion: 2
     rgba: 4278190080
-  m_fontSize: 24
-  m_fontSizeBase: 24
+  m_fontSize: 35
+  m_fontSizeBase: 35
   m_fontWeight: 400
   m_enableAutoSizing: 0
   m_fontSizeMin: 18
@@ -1635,6 +1946,80 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1756448748}
   m_CullTransparentMesh: 0
+--- !u!1 &1831370941
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1831370942}
+  - component: {fileID: 1831370944}
+  - component: {fileID: 1831370943}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1831370942
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1831370941}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.9532273, y: 0.9532273, z: 0.9532273}
+  m_Children:
+  - {fileID: 927176944}
+  - {fileID: 143949886}
+  m_Father: {fileID: 1521155465}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 480, y: -100}
+  m_SizeDelta: {x: 1000, y: 150}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &1831370943
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1831370941}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.678}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+--- !u!222 &1831370944
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1831370941}
+  m_CullTransparentMesh: 0
 --- !u!1 &2056313308
 GameObject:
   m_ObjectHideFlags: 0
@@ -1649,7 +2034,7 @@ GameObject:
   - component: {fileID: 2056313310}
   - component: {fileID: 2056313309}
   m_Layer: 5
-  m_Name: ReloadMapCanvas
+  m_Name: Canvas_Step1
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
diff --git a/T3-Unity/Assets/Scripts/GameManager.cs b/T3-Unity/Assets/Scripts/GameManager.cs
index 910fadd95ec8abcb12d7c36fddb4dd2b929f9891..6de9e49894904b1b6a3e8ea829fd3e3970eefcc7 100644
--- a/T3-Unity/Assets/Scripts/GameManager.cs
+++ b/T3-Unity/Assets/Scripts/GameManager.cs
@@ -19,7 +19,8 @@ public class GameManager : MonoBehaviour
 {
     public GameObject[] waypoints;
     public AbstractMap map;
-    public Canvas canvas;
+    public Canvas canvasStep1;
+    public Canvas canvasStep2;
     [SerializeField] int test = 0;
     [SerializeField] Transform objA;
     [SerializeField] Transform objB;
@@ -45,20 +46,32 @@ public class GameManager : MonoBehaviour
             if (_yPlane.Raycast(ray, out enter))
             {
                 Instantiate(waypoints[nbWaypoint], ray.GetPoint(enter) + Vector3.up, new Quaternion(0, 0, 0, 0), WaypointsFactory.getInstance()._prefabs_parent);
+
+                switch (nbWaypoint)
+                {
+                    case 0:
+                        canvasStep2.transform.GetChild(0).GetChild(0).gameObject.SetActive(false);
+                        canvasStep2.transform.GetChild(0).GetChild(1).gameObject.SetActive(true);
+                        break;
+                    case 1:
+                        canvasStep2.Destroy();
+                        break;
+                }
+
                 nbWaypoint++;
             }
         }
 
         if (GameObject.FindGameObjectWithTag("start_wp") != null && GameObject.FindGameObjectWithTag("end_wp") != null)
         {
-            if(nbWaypoint == 2)
+            if (nbWaypoint == 2)
             {
                 WaypointsFactory.getInstance().click(map.WorldToGeoPosition(GameObject.FindGameObjectWithTag("start_wp").transform.position).x.ToString().Replace(',', '.') + ',' + map.WorldToGeoPosition(GameObject.FindGameObjectWithTag("start_wp").transform.position).y.ToString().Replace(',', '.'),
                     map.WorldToGeoPosition(GameObject.FindGameObjectWithTag("end_wp").transform.position).x.ToString().Replace(',', '.') + ',' + map.WorldToGeoPosition(GameObject.FindGameObjectWithTag("end_wp").transform.position).y.ToString().Replace(',', '.')
                     );
                 nbWaypoint = 4;
             }
-            
+
             GameObject.Find("GameManager").GetComponent<RouteTracer>().enabled = true;
         }
     }
@@ -90,7 +103,9 @@ public class GameManager : MonoBehaviour
     public void lockMovement()
     {
         map.GetComponent<QuadTreeCameraMovement>().enabled = false;
-        canvas.GetComponentInChildren<Transform>().gameObject.SetActive(false);
+        canvasStep1.Destroy();
         locked = true;
+
+        canvasStep2.GetComponentInChildren<Transform>().gameObject.SetActive(true);
     }
 }
diff --git a/T3-Unity/Assets/test.json b/T3-Unity/Assets/test.json
index 296c9fabc33bb2e92777d208dbbe2d0fcd7fff65..f4e9718b5ccb440bd4a94ed09cceb810497f9f0f 100644
--- a/T3-Unity/Assets/test.json
+++ b/T3-Unity/Assets/test.json
@@ -118,7 +118,27 @@
                     48.580126
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "{legHc|an@?E?MN_BToCT}B",
+              "maneuver": {
+                "bearing_after": 97,
+                "type": "turn",
+                "modifier": "right",
+                "bearing_before": 11,
+                "Location": [
+                  7.715378,
+                  48.529575
+                ],
+                "instruction": "Turn right onto Rue des Sports."
+              },
+              "duration": 28.153,
+              "distance": 147.0,
+              "name": "Rue des Sports",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -134,7 +154,27 @@
                     48.579711
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "_kegHehbn@q@Q",
+              "maneuver": {
+                "bearing_after": 12,
+                "type": "end of road",
+                "modifier": "left",
+                "bearing_before": 105,
+                "Location": [
+                  7.717315,
+                  48.529275
+                ],
+                "instruction": "Turn left onto Rue des Menuisiers."
+              },
+              "duration": 11.005,
+              "distance": 29.0,
+              "name": "Rue des Menuisiers",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -278,7 +318,27 @@
                     48.578314
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "{jegHisbn@CA_EaCWU",
+              "maneuver": {
+                "bearing_after": 23,
+                "type": "end of road",
+                "modifier": "left",
+                "bearing_before": 101,
+                "Location": [
+                  7.719091,
+                  48.529258
+                ],
+                "instruction": "Turn left onto Route Burkel."
+              },
+              "duration": 26.949,
+              "distance": 136.0,
+              "name": "Route Burkel",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -294,7 +354,27 @@
                     48.578263
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "wqegHcxbn@TgA",
+              "maneuver": {
+                "bearing_after": 115,
+                "type": "turn",
+                "modifier": "right",
+                "bearing_before": 32,
+                "Location": [
+                  7.719862,
+                  48.530364
+                ],
+                "instruction": "Turn right onto Rue Sodbronn."
+              },
+              "duration": 7.534,
+              "distance": 29.0,
+              "name": "Rue Sodbronn",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -326,7 +406,27 @@
                     48.577922
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "aqegHkzbn@?[LyEPgE?C@K@K",
+              "maneuver": {
+                "bearing_after": 94,
+                "type": "turn",
+                "modifier": "slight left",
+                "bearing_before": 115,
+                "Location": [
+                  7.720224,
+                  48.530253
+                ],
+                "instruction": "Bear left onto Rue Lixenbuhl."
+              },
+              "duration": 35.306,
+              "distance": 176.0,
+              "name": "Rue Lixenbuhl",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -450,8 +550,8 @@
                     324
                   ],
                   "location": [
-                    7.752969,
-                    48.575981
+                    7.722601,
+                    48.530179
                   ],
                   "in": 1
                 },
@@ -462,12 +562,12 @@
                     false
                   ],
                   "bearings": [
-                    161,
-                    337
+                    102,
+                    280
                   ],
                   "location": [
-                    7.75339,
-                    48.575441
+                    7.723748,
+                    48.530052
                   ],
                   "in": 1
                 },
@@ -478,12 +578,12 @@
                     false
                   ],
                   "bearings": [
-                    167,
-                    341
+                    105,
+                    284
                   ],
                   "location": [
-                    7.753419,
-                    48.575386
+                    7.724684,
+                    48.529917
                   ],
                   "in": 1
                 },
@@ -494,12 +594,12 @@
                     false
                   ],
                   "bearings": [
-                    173,
-                    347
+                    104,
+                    285
                   ],
                   "location": [
-                    7.753486,
-                    48.575193
+                    7.725166,
+                    48.529833
                   ],
                   "in": 1
                 },
@@ -510,12 +610,12 @@
                     false
                   ],
                   "bearings": [
-                    168,
-                    353
+                    104,
+                    284
                   ],
                   "location": [
-                    7.753511,
-                    48.575056
+                    7.725241,
+                    48.529821
                   ],
                   "in": 1
                 },
@@ -526,12 +626,12 @@
                     false
                   ],
                   "bearings": [
-                    172,
-                    348
+                    104,
+                    284
                   ],
                   "location": [
-                    7.753525,
-                    48.575012
+                    7.725357,
+                    48.529802
                   ],
                   "in": 1
                 },
@@ -542,12 +642,12 @@
                     false
                   ],
                   "bearings": [
-                    167,
-                    352
+                    104,
+                    283
                   ],
                   "location": [
-                    7.753595,
-                    48.574665
+                    7.72672,
+                    48.529588
                   ],
                   "in": 1
                 },
@@ -558,12 +658,12 @@
                     false
                   ],
                   "bearings": [
-                    172,
-                    352
+                    103,
+                    284
                   ],
                   "location": [
-                    7.753795,
-                    48.57381
+                    7.72688,
+                    48.529562
                   ],
                   "in": 1
                 },
@@ -574,12 +674,12 @@
                     false
                   ],
                   "bearings": [
-                    170,
-                    352
+                    106,
+                    283
                   ],
                   "location": [
-                    7.753842,
-                    48.573595
+                    7.72697,
+                    48.529548
                   ],
                   "in": 1
                 },
@@ -590,12 +690,12 @@
                     false
                   ],
                   "bearings": [
-                    176,
-                    350
+                    107,
+                    286
                   ],
                   "location": [
-                    7.754048,
-                    48.572854
+                    7.727111,
+                    48.529521
                   ],
                   "in": 1
                 },
@@ -606,30 +706,30 @@
                     false
                   ],
                   "bearings": [
-                    181,
-                    356
+                    102,
+                    284
                   ],
                   "location": [
-                    7.754052,
-                    48.572818
+                    7.729395,
+                    48.529078
                   ],
                   "in": 1
                 },
                 {
-                  "out": 1,
+                  "out": 0,
                   "entry": [
-                    false,
-                    true
+                    true,
+                    false
                   ],
                   "bearings": [
-                    3,
-                    182
+                    100,
+                    282
                   ],
                   "location": [
-                    7.754012,
-                    48.572021
+                    7.730066,
+                    48.528985
                   ],
-                  "in": 0
+                  "in": 1
                 }
               ],
               "geometry": "{mogHs~gn@ROLMTW\\e@jAaBf@i@j@i@~@y@p@i@JEFETOr@g@BA@AHENKBAHIDI@CFODQBYDo@?GBSB]Fg@Hg@Ps@H[HYFOJSVi@n@cAh@i@PQHGhBgBnBuBNONOLMTQNKXOLGHEf@MXCHCbAMd@Kp@IrAOh@ItCi@D?b@?`BDF?P@P?",
@@ -658,46 +758,46 @@
                     true
                   ],
                   "bearings": [
-                    2,
-                    151
+                    257,
+                    337
                   ],
                   "location": [
-                    7.754008,
-                    48.571934
+                    7.732328,
+                    48.528841
                   ],
                   "in": 0
                 },
                 {
-                  "out": 0,
+                  "out": 1,
                   "entry": [
-                    true,
-                    false
+                    false,
+                    true
                   ],
                   "bearings": [
-                    96,
-                    331
+                    157,
+                    316
                   ],
                   "location": [
-                    7.754079,
-                    48.571849
+                    7.732256,
+                    48.528951
                   ],
-                  "in": 1
+                  "in": 0
                 },
                 {
-                  "out": 0,
+                  "out": 1,
                   "entry": [
-                    true,
-                    false
+                    false,
+                    true
                   ],
                   "bearings": [
-                    99,
-                    276
+                    141,
+                    341
                   ],
                   "location": [
-                    7.754283,
-                    48.571834
+                    7.73137,
+                    48.529577
                   ],
-                  "in": 1
+                  "in": 0
                 },
                 {
                   "out": 0,
@@ -706,12 +806,12 @@
                     false
                   ],
                   "bearings": [
-                    103,
-                    281
+                    9,
+                    189
                   ],
                   "location": [
-                    7.75485,
-                    48.57177
+                    7.731437,
+                    48.530457
                   ],
                   "in": 1
                 },
@@ -722,12 +822,12 @@
                     false
                   ],
                   "bearings": [
-                    101,
-                    283
+                    10,
+                    189
                   ],
                   "location": [
-                    7.75498,
-                    48.57175
+                    7.731735,
+                    48.531675
                   ],
                   "in": 1
                 },
@@ -738,15 +838,35 @@
                     false
                   ],
                   "bearings": [
-                    99,
-                    281
+                    10,
+                    190
                   ],
                   "location": [
-                    7.755094,
-                    48.571735
+                    7.731827,
+                    48.532005
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "ghegHafen@ULOV{AdCKLEDMHIBM@S?uB]sF{@aAQMCe@I",
+              "maneuver": {
+                "bearing_after": 337,
+                "type": "turn",
+                "modifier": "left",
+                "bearing_before": 77,
+                "Location": [
+                  7.732328,
+                  48.528841
+                ],
+                "instruction": "Turn left onto Rue de l'Industrie."
+              },
+              "duration": 58.087,
+              "distance": 413.0,
+              "name": "Rue de l'Industrie",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -754,15 +874,35 @@
                     false
                   ],
                   "bearings": [
-                    102,
-                    279
+                    103,
+                    190
                   ],
                   "location": [
-                    7.755264,
-                    48.571717
+                    7.731899,
+                    48.53227
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "u}egHkcen@@KDe@\\{G?M@K",
+              "maneuver": {
+                "bearing_after": 103,
+                "type": "turn",
+                "modifier": "right",
+                "bearing_before": 10,
+                "Location": [
+                  7.731899,
+                  48.53227
+                ],
+                "instruction": "Turn right onto Rue du Travail."
+              },
+              "duration": 32.798,
+              "distance": 135.0,
+              "name": "Rue du Travail",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -770,15 +910,35 @@
                     false
                   ],
                   "bearings": [
-                    107,
-                    282
+                    16,
+                    279
                   ],
                   "location": [
-                    7.755777,
-                    48.571644
+                    7.733701,
+                    48.532072
                   ],
                   "in": 1
-                },
+                }
+              ],
+              "geometry": "m|egHsnen@IC",
+              "maneuver": {
+                "bearing_after": 16,
+                "type": "turn",
+                "modifier": "left",
+                "bearing_before": 99,
+                "Location": [
+                  7.733701,
+                  48.532072
+                ],
+                "instruction": "Turn left onto Route du Rhin."
+              },
+              "duration": 7.705,
+              "distance": 6.0,
+              "name": "Route du Rhin",
+              "mode": "driving"
+            },
+            {
+              "intersections": [
                 {
                   "out": 0,
                   "entry": [
@@ -786,12 +946,12 @@
                     false
                   ],
                   "bearings": [
-                    125,
-                    292
+                    101,
+                    196
                   ],
                   "location": [
-                    7.756105,
-                    48.571563
+                    7.733723,
+                    48.532123
                   ],
                   "in": 1
                 },
@@ -802,12 +962,12 @@
                     false
                   ],
                   "bearings": [
-                    114,
-                    305
+                    102,
+                    282
                   ],
                   "location": [
-                    7.756314,
-                    48.571467
+                    7.734879,
+                    48.531965
                   ],
                   "in": 1
                 },
@@ -818,12 +978,12 @@
                     false
                   ],
                   "bearings": [
-                    116,
-                    294
+                    102,
+                    282
                   ],
                   "location": [
-                    7.756605,
-                    48.57138
+                    7.735472,
+                    48.531884
                   ],
                   "in": 1
                 },
@@ -834,12 +994,12 @@
                     false
                   ],
                   "bearings": [
-                    113,
-                    293
+                    107,
+                    282
                   ],
                   "location": [
-                    7.758577,
-                    48.570792
+                    7.736353,
+                    48.531763
                   ],
                   "in": 1
                 },
@@ -854,8 +1014,8 @@
                     293
                   ],
                   "location": [
-                    7.758756,
-                    48.570741
+                    7.737329,
+                    48.531561
                   ],
                   "in": 1
                 },
@@ -882,8 +1042,8 @@
                     false
                   ],
                   "bearings": [
-                    113,
-                    293
+                    106,
+                    287
                   ],
                   "location": [
                     7.75985,
diff --git a/T3-Unity/Help/Working/GenerateRefInfo-2e181c9b-ff48-4a00-aec7-89cd02725771.proj b/T3-Unity/Help/Working/GenerateRefInfo-2e181c9b-ff48-4a00-aec7-89cd02725771.proj
new file mode 100644
index 0000000000000000000000000000000000000000..ba2602bab318fc0ae2ccbce7916c540fef56a5d0
--- /dev/null
+++ b/T3-Unity/Help/Working/GenerateRefInfo-2e181c9b-ff48-4a00-aec7-89cd02725771.proj
@@ -0,0 +1,682 @@
+<Project ToolsVersion="15.0" DefaultTargets="Generate" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <!-- Sandcastle Tools MSBuild Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+  <PropertyGroup>
+    <SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+    <SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+  </PropertyGroup>
+  <UsingTask TaskName="Sandcastle.Tools.MSBuild.MRefBuilder" AssemblyFile="C:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder\$(SHFBTaskFolder)MRefBuilder.dll" />
+  <!-- Task properties -->
+  <PropertyGroup>
+    <TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <WorkingFolder>D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity\Help\Working\</WorkingFolder>
+    <ReferencePath Condition=" '$(ReferencePath)' == '' ">
+    </ReferencePath>
+    <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
+    <UseTargetPlatformAsNuGetTargetMoniker>false</UseTargetPlatformAsNuGetTargetMoniker>
+  </PropertyGroup>
+  <!-- The common targets require OutputPath to be valid -->
+  <PropertyGroup>
+    <OutputPath>.\</OutputPath>
+  </PropertyGroup>
+  <!-- Import the common targets -->
+  <Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />
+  <!-- This defines the dependencies for the Generate target -->
+  <PropertyGroup>
+    <GenerateDependsOn>
+			ResolveReferences;
+			BeforeGenerateRefInfo;
+			GenerateRefInfo;
+			AfterGenerateRefInfo
+		</GenerateDependsOn>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Boo.Lang">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/unityscript/Boo.Lang.dll</HintPath>
+    </Reference>
+    <Reference Include="ExcelDna.Documentation, Version=0.2.3.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity\packages\ExcelDnaDoc.0.2.3\lib\net40\ExcelDna.Documentation.dll</HintPath>
+    </Reference>
+    <Reference Include="ExcelDna.Integration, Version=0.33.5730.40390, Culture=neutral, processorArchitecture=MSIL">
+      <Private>False</Private>
+      <HintPath>D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity\packages\ExcelDna.Integration.0.33.9\lib\ExcelDna.Integration.dll</HintPath>
+    </Reference>
+    <Reference Include="Mapbox.IO.Compression">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35/Mapbox.IO.Compression.dll</HintPath>
+    </Reference>
+    <Reference Include="Mapbox.Json">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35/Mapbox.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="Mapbox.VectorTile.ExtensionMethods">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.ExtensionMethods.dll</HintPath>
+    </Reference>
+    <Reference Include="Mapbox.VectorTile.Geometry">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll</HintPath>
+    </Reference>
+    <Reference Include="Mapbox.VectorTile.PbfReader">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.PbfReader.dll</HintPath>
+    </Reference>
+    <Reference Include="Mapbox.VectorTile.VectorTileReader">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.VectorTileReader.dll</HintPath>
+    </Reference>
+    <Reference Include="MapboxAccountsUnity">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35/MapboxAccountsUnity.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Win32.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/Microsoft.Win32.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="netstandard">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/ref/2.0.0/netstandard.dll</HintPath>
+    </Reference>
+    <Reference Include="nunit.framework">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/TestRunner/net35/unity-custom/nunit.framework.dll</HintPath>
+    </Reference>
+    <Reference Include="SyntaxTree.VisualStudio.Unity.Bridge">
+      <HintPath>C:/Program Files (x86)/Microsoft Visual Studio Tools for Unity/16.0/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll</HintPath>
+    </Reference>
+    <Reference Include="System.AppContext">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.AppContext.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections.Concurrent">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.Concurrent.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections.NonGeneric">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.NonGeneric.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections.Specialized">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.Specialized.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.Annotations">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Annotations.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.EventBasedAsync">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.EventBasedAsync.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.TypeConverter">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.TypeConverter.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Console">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Console.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Data.Common">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Data.Common.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Contracts">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Contracts.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Debug">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Debug.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.FileVersionInfo">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.FileVersionInfo.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Process">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Process.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.StackTrace">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.StackTrace.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.TextWriterTraceListener">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.TextWriterTraceListener.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Tools">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Tools.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.TraceSource">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.TraceSource.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Drawing.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Drawing.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Dynamic.Runtime">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Dynamic.Runtime.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization.Calendars">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.Calendars.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization.Extensions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.Compression.ZipFile">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Compression.ZipFile.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem.DriveInfo">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.DriveInfo.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem.Watcher">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.Watcher.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.IsolatedStorage">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.IsolatedStorage.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.MemoryMappedFiles">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.MemoryMappedFiles.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.Pipes">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Pipes.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.UnmanagedMemoryStream">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.UnmanagedMemoryStream.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Expressions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Expressions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Parallel">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Parallel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Queryable">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Queryable.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Http.Rtc">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Http.Rtc.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.NameResolution">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.NameResolution.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.NetworkInformation">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.NetworkInformation.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Ping">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Ping.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Requests">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Requests.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Security">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Security.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Sockets">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Sockets.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.WebHeaderCollection">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebHeaderCollection.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.WebSockets">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebSockets.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.WebSockets.Client">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebSockets.Client.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics.Vectors">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/Extensions/2.0.0/System.Numerics.Vectors.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ObjectModel">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ObjectModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Emit">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Emit.ILGeneration">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.ILGeneration.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Emit.Lightweight">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.Lightweight.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Extensions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Resources.Reader">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.Reader.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Resources.ResourceManager">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.ResourceManager.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Resources.Writer">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.Writer.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.CompilerServices.VisualC">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.CompilerServices.VisualC.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Extensions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Handles">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Handles.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.InteropServices">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.InteropServices.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.InteropServices.WindowsRuntime">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/Extensions/2.0.0/System.Runtime.InteropServices.WindowsRuntime.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Numerics">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Numerics.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization.Formatters">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Formatters.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization.Json">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization.Xml">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Xml.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Claims">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Claims.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Algorithms">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Algorithms.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Csp">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Csp.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Encoding">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Encoding.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.X509Certificates">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.X509Certificates.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Principal">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Principal.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.SecureString">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.SecureString.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ServiceModel.Duplex">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Duplex.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ServiceModel.Http">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Http.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ServiceModel.NetTcp">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.NetTcp.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ServiceModel.Primitives">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ServiceModel.Security">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Security.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.Encoding">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.Encoding.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.Encoding.Extensions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.Encoding.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.RegularExpressions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.RegularExpressions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Overlapped">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Overlapped.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Tasks.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks.Parallel">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Tasks.Parallel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Thread">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Thread.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.ThreadPool">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.ThreadPool.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Timer">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Timer.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ValueTuple">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ValueTuple.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.ReaderWriter">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.ReaderWriter.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.XDocument">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XDocument.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.XmlDocument">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XmlDocument.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.XmlSerializer">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XmlSerializer.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.XPath">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XPath.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.XPath.XDocument">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XPath.XDocument.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.Analytics.DataPrivacy">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/ScriptAssemblies/Unity.Analytics.DataPrivacy.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.Analytics.Editor">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/PackageCache/com.unity.analytics@3.2.3/Editor/Unity.Analytics.Editor.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.Analytics.StandardEvents">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/PackageCache/com.unity.analytics@3.2.3/AnalyticsStandardEvents/Unity.Analytics.StandardEvents.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.Analytics.Tracker">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/PackageCache/com.unity.analytics@3.2.3/Editor/Unity.Analytics.Tracker.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.CollabProxy.Editor">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/ScriptAssemblies/Unity.CollabProxy.Editor.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.Locator">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/Unity.Locator.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.PackageManagerUI.Editor">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/ScriptAssemblies/Unity.PackageManagerUI.Editor.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.TextMeshPro">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/ScriptAssemblies/Unity.TextMeshPro.dll</HintPath>
+    </Reference>
+    <Reference Include="Unity.TextMeshPro.Editor">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/ScriptAssemblies/Unity.TextMeshPro.Editor.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor">
+      <HintPath>C:\Program Files\Unity\Hub\Editor\2018.4.36f1\Editor\Data\Managed/UnityEditor.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.Advertisements">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/PackageCache/com.unity.ads@2.0.8/Editor/UnityEditor.Advertisements.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.Android.Extensions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/PlaybackEngines/AndroidPlayer/UnityEditor.Android.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.GoogleAudioSpatializer">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/UnityGoogleAudioSpatializer/Editor/UnityEditor.GoogleAudioSpatializer.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.Graphs">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEditor.Graphs.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.Networking">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/Networking/Editor/UnityEditor.Networking.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.Purchasing">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/ScriptAssemblies/UnityEditor.Purchasing.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.SpatialTracking">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/UnitySpatialTracking/Editor/UnityEditor.SpatialTracking.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.TestRunner">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/TestRunner/Editor/UnityEditor.TestRunner.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.Timeline">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/Timeline/Editor/UnityEditor.Timeline.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.UI">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/GUISystem/Editor/UnityEditor.UI.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.VR">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/UnityVR/Editor/UnityEditor.VR.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.WebGL.Extensions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/PlaybackEngines/WebGLSupport/UnityEditor.WebGL.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.WindowsStandalone.Extensions">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/PlaybackEngines/windowsstandalonesupport/UnityEditor.WindowsStandalone.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine">
+      <HintPath>C:\Program Files\Unity\Hub\Editor\2018.4.36f1\Editor\Data\Managed/UnityEngine/UnityEngine.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.AccessibilityModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.AIModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.AIModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.AnimationModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.AnimationModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ARModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ARModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.AssetBundleModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.AudioModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.AudioModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.BaselibModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.BaselibModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ClothModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ClothModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ClusterInputModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ClusterRendererModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.CoreModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.CrashReportingModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.DirectorModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.DirectorModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.FileSystemHttpModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.FileSystemHttpModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.GameCenterModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.GameCenterModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.GoogleAudioSpatializer">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/UnityGoogleAudioSpatializer/RuntimeEditor/UnityEngine.GoogleAudioSpatializer.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.GridModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.GridModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.HotReloadModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.HotReloadModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ImageConversionModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.IMGUIModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.IMGUIModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.InputModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.InputModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.JSONSerializeModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.LocalizationModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.LocalizationModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.Networking">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/Networking/UnityEngine.Networking.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ParticleSystemModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.PerformanceReportingModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.Physics2DModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.Physics2DModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.PhysicsModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.PhysicsModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ProfilerModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ProfilerModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.Purchasing">
+      <HintPath>D:/Unity/Projects/t-432-las-21-t-3-d/t-432-las-21-t-3-d/T3-Unity/Library/ScriptAssemblies/UnityEngine.Purchasing.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.ScreenCaptureModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.SharedInternalsModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.SpatialTracking">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/UnitySpatialTracking/RuntimeEditor/UnityEngine.SpatialTracking.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.SpatialTrackingModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.SpatialTrackingModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.SpriteMaskModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.SpriteShapeModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.StreamingModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.StreamingModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.StyleSheetsModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.StyleSheetsModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.SubstanceModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.SubstanceModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TerrainModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TerrainPhysicsModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TestRunner">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/TestRunner/UnityEngine.TestRunner.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TextCoreModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TextRenderingModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TilemapModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.TilemapModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.Timeline">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/Timeline/RuntimeEditor/UnityEngine.Timeline.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TimelineModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.TimelineModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.TLSModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.TLSModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UI">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UIElementsModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UIModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UIModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UmbraModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UmbraModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UNETModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UNETModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityAnalyticsModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityConnectModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityTestProtocolModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityWebRequestAssetBundleModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityWebRequestAudioModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityWebRequestModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityWebRequestTextureModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.UnityWebRequestWWWModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.VehiclesModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.VehiclesModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.VFXModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.VFXModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.VideoModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.VideoModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.VRModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.VRModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.WindModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.WindModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEngine.XRModule">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/Managed/UnityEngine/UnityEngine.XRModule.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityScript">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/unityscript/UnityScript.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityScript.Lang">
+      <HintPath>C:/Program Files/Unity/Hub/Editor/2018.4.36f1/Editor/Data/MonoBleedingEdge/lib/mono/unityscript/UnityScript.Lang.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Assembly Include="D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity\Temp\bin\Debug\Assembly-CSharp-Editor.dll" />
+    <Assembly Include="D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity\Temp\bin\Debug\Assembly-CSharp.dll" />
+  </ItemGroup>
+  <Target Name="Generate" DependsOnTargets="$(GenerateDependsOn)" />
+  <!-- The Generate Ref Info target -->
+  <Target Name="GenerateRefInfo">
+    <!-- Run MRefBuilder.  Reference build items are added to this template by the build process.  The
+				 ResolveReferences dependency target will resolve them to absolute paths that can be passed to
+				 MRefBuilder using the /dep command line option.  Assembly build items are added by the build
+				 process to define the assemblies to reflect. -->
+    <Sandcastle.Tools.MSBuild.MRefBuilder WorkingFolder="$(WorkingFolder)" ConfigurationFile="MRefBuilder.config" ReflectionFilename="reflection.org" Assemblies="@(Assembly)" References="@(ReferencePath)" />
+  </Target>
+  <!-- The following targets may be overridden or replaced to perform additional processing. -->
+  <Target Name="BeforeGenerateRefInfo" />
+  <Target Name="AfterGenerateRefInfo" />
+</Project>
\ No newline at end of file
diff --git a/T3-Unity/Help/Working/MRefBuilder.config b/T3-Unity/Help/Working/MRefBuilder.config
new file mode 100644
index 0000000000000000000000000000000000000000..b3fe15b47ed9f21029f553ae8f859f374e9d0da6
--- /dev/null
+++ b/T3-Unity/Help/Working/MRefBuilder.config
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+	<dduetools>
+		<platform framework=".NETFramework" version="4.7.2" />
+
+		<resolver type="Sandcastle.Tools.Reflection.AssemblyResolver" use-gac="false">
+			<ignoreIfUnresolved>
+				<!-- Ignore the Crystal Reports licensing and Visual Studio test playback assemblies if unresolved -->
+				<assemblyIdentity name="BusinessObjects.Licensing.KeycodeDecoder" />
+				<assemblyIdentity name="Microsoft.VisualStudio.TestTools.UITest.Playback" />
+			</ignoreIfUnresolved>
+		</resolver>
+
+		<componentLocations>
+			<location folder="D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity" />
+		</componentLocations>
+
+		<addins>
+			<addin type="Sandcastle.Tools.ExtensionMethodAddIn" />
+			<addin type="Sandcastle.Tools.XamlAttachedMembersAddIn" />
+		</addins>
+
+		<!-- This specifies the base path to the source code.  If set, source code context information (filename and
+				 line number) will be included in the reflection data when possible.  An up-to-date program database
+				 (PDB) file is required.  If the warning option is set to true, missing source context information for
+				 types are reported as warnings rather than as informational messages. -->
+		<sourceContext basePath="D:\Unity\Projects\t-432-las-21-t-3-d\t-432-las-21-t-3-d\T3-Unity\Assets\Scripts\" warnOnMissingSourceContext="false"/>
+
+		<!-- This defines which members to include in the reflection data based on visibility -->
+		<visibility>
+			<!-- Include attributes.  When false, certain required attributes will still be included. -->
+			<attributes expose="false" />
+			<!-- Include explicit interface implementations -->
+			<explicitInterfaceImplementations expose="false" />
+			<!-- Include inherited members -->
+			<inheritedMembers expose="true" />
+			<!-- Include inherited framework members.  For this to work, InheritedMembers must also be enabled. -->
+			<inheritedFrameworkMembers expose="true" />
+			<!-- Include inherited internal framework members.  For this to work Internals and
+					 InheritedFrameworkMembers must also be enabled. -->
+			<inheritedFrameworkInternalMembers expose="false" />
+			<!-- Include inherited private framework members.  For this to work Privates and InheritedFrameworkMembers
+					 must also be enabled. -->
+			<inheritedFrameworkPrivateMembers expose="false" />
+			<!-- Include internal members -->
+			<internals expose="false" />
+			<!-- Include private members -->
+			<privates expose="false" />
+			<!-- Include private fields.  For this to work, Privates must also be enabled. -->
+			<privateFields expose="false" />
+			<!-- Include protected members -->
+			<protected expose="true" />
+			<!-- Include protected members of sealed classes.  For this to work, Protected must also be enabled. -->
+			<sealedProtected expose="false" />
+			<!-- Include "protected internal" members as "protected" only -->
+			<protectedInternalAsProtected expose="true" />
+			<!-- Include "no-PIA" COM types, those marked with CompilerGeneratedAttribute and TypeIdentifierAttribute -->
+			<noPIATypes expose="false" />
+			<!-- Include public compiler generated types/members -->
+			<publicCompilerGenerated expose="false" />
+			<!-- Include types and members marked with an EditorBrowsableAttribute set to Never -->
+			<editorBrowsableNever expose="false" />
+			<!-- Include types and members marked with a BrowsableAttribute set to False -->
+			<nonBrowsable expose="true" />
+			<!-- Internal members from base types in other assemblies and private members from base types -->
+			<internalAndPrivateIfExternal expose="false" />
+		</visibility>
+
+		<attributeFilter expose="true">
+			<!-- All attributes in the System namespace are included by default.  However, we need to indicate that for
+					 these two attributes, they are required and should never be excluded. -->
+			<namespace name="System" expose="true">
+				<!-- This is required to document Flags enumerated types -->
+				<type name="FlagsAttribute" required="true" />
+				<!-- This is required to document obsolete API members -->
+				<type name="ObsoleteAttribute" required="true" />
+				<!-- This one is required to find parameter array parameters on methods -->
+				<type name="ParamArrayAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="SerializableAttribute" required="true"/>
+			</namespace>
+			<!-- Most attributes in System.ComponentModel control designer behavior. Don't show them.
+					 The exceptions are attributes relating to data binding. Do show them. -->
+			<namespace name="System.ComponentModel" expose="false">
+				<type name="BindableAttribute" expose="true"/>
+				<type name="BrowsableAttribute" expose="true"/>
+				<type name="ComplexBindingPropertiesAttribute" expose="true"/>
+				<type name="DataObjectAttribute" expose="true"/>
+				<type name="DefaultBindingPropertyAttribute" expose="true"/>
+				<type name="ListBindableAttribute" expose="true"/>
+				<type name="LookupBindingPropertiesAttribute" expose="true"/>
+				<type name="SettingsBindableAttribute" expose="true"/>
+				<!-- This is required by the XAML usage syntax component  -->
+				<type name="TypeConverterAttribute" required="true"/>
+				<!-- These may provide useful information too -->
+				<type name="DefaultEventAttribute" expose="true"/>
+				<type name="DefaultPropertyAttribute" expose="true"/>
+				<type name="DefaultValueAttribute" expose="true"/>
+				<type name="DesignerSerializationVisibilityAttribute" expose="true"/>
+				<type name="EditorAttribute" expose="true"/>
+				<type name="EditorBrowsableAttribute" expose="true"/>
+				<type name="ExtenderProvidedProperty" expose="true"/>
+				<type name="ProvideProperty" expose="true"/>
+			</namespace>
+			<namespace name="System.ComponentModel.Design" expose="false" />
+			<namespace name="System.ComponentModel.Design.Serialization" expose="false" />
+			<!-- Most attributes in System.Diagnostics control debugger behavior. Don't show them. -->
+			<namespace name="System.Diagnostics" expose="false">
+				<type name="ConditionalAttribute" expose="true"/>
+				<type name="EventLogPermissionAttribute" expose="true"/>
+				<type name="PerformanceCounterPermissionAttribute" expose="true"/>
+			</namespace>
+			<!-- Attributes in System.Diagnostics.CodeAnalysis control interaction with FxCop. Don't show them. -->
+			<namespace name="System.Diagnostics.CodeAnalysis" expose="false" />
+			<!-- Attributes in System.EnterpriseServices control obscure details of COM+ interop. Don't show them. -->
+			<namespace name="System.EnterpriseServices" expose="false" />
+			<namespace name="System.Reflection" expose="true">
+				<!-- The DefaultMember attribute is usually compiler-generated. Users will see it from the member syntax. -->
+				<type name="DefaultMemberAttribute" expose="false" />
+				<!-- These two are required by the document model transformations -->
+				<type name="AssemblyInformationalVersionAttribute" required="true" />
+				<type name="AssemblyFileVersionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime" expose="false" />
+			<!-- Attributes in System.Runtime.CompilerServices control obscure details of compilation but there are a
+					 couple of required attributes and some that may be useful. -->
+			<namespace name="System.Runtime.CompilerServices" expose="false">
+				<!-- This is required to document extension methods -->
+				<type name="ExtensionAttribute" required="true" />
+				<!-- This is required to document fixed buffers -->
+				<type name="FixedBufferAttribute" required="true" />
+				<!-- This is required to document readonly structs -->
+				<type name="IsReadOnlyAttribute" required="true" />
+				<!-- This is required to document ref structs -->
+				<type name="IsByRefLikeAttribute" required="true" />
+				<!-- These may provide useful information -->
+				<type name="CallerFilePathAttribute" expose="true" />
+				<type name="CallerLineNumberAttribute" expose="true" />
+				<type name="CallerMemberNameAttribute" expose="true" />
+				<type name="UnsafeValueTypeAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.ConstrainedExecution control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime.ConstrainedExecution" expose="false" />
+			<!-- Most attributes in System.Runtime.InteropServices control obscure details of COM interop but there are
+					 some that are useful. -->
+			<namespace name="System.Runtime.InteropServices" expose="false">
+				<type name="ClassInterfaceAttribute" expose="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="ComImportAttribute" required="true"/>
+				<type name="ComVisibleAttribute" expose="true"/>
+				<type name="DispIdAttribute" expose="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="DllImportAttribute" required="true"/>
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="FieldOffsetAttribute" required="true"/>
+				<type name="GuidAttribute" expose="true"/>
+				<type name="InterfaceTypeAttribute" expose="true"/>
+				<!-- This is required to document optional parameters -->
+				<type name="OptionalAttribute" required="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="PreserveSigAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="StructLayoutAttribute" required="true"/>
+				<type name="TypeIdentifierAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.Versioning control details of resource loading. Don't show them. -->
+			<namespace name="System.Runtime.Versioning" expose="false" />
+			<!-- Attributes in System.Security might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security" expose="false">
+				<type name="SecurityCriticalAttribute" expose="true" />
+				<type name="SecurityTreatAsSafeAttribute" expose="true" />
+				<!-- This is required by the document model transformations  -->
+				<type name="AllowPartiallyTrustedCallersAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Security.Permissions might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security.Permissions" expose="false">
+				<!-- This is required by the presentation styles  -->
+				<type name="HostProtectionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Web.Compilation control interaction with the Expression designer. Don't show them. -->
+			<namespace name="System.Web.Compilation" expose="false" />
+			<!-- The ASP.NET team only wants these attributes exposed from their namespace. -->
+			<namespace name="System.Web.UI" expose="false">
+				<type name="ControlValuePropertyAttribute" expose="true"/>
+				<!-- This is required by the ASP.NET syntax component -->
+				<type name="PersistenceModeAttribute" required="true" />
+				<type name="ValidationPropertyAttribute" expose="true"/>
+				<type name="WebResourceAttribute" expose="true"/>
+				<type name="TemplateContainerAttribute" expose="true"/>
+				<type name="ThemeableAttribute" expose="true"/>
+				<type name="TemplateInstanceAttribute" expose="true"/>
+			</namespace>
+			<!-- Don't show attributes related to XAML serialization details. -->
+			<namespace name="System.Windows.Markup" expose="true">
+				<!-- This is required by the XAML syntax data transformation -->
+				<type name="ContentPropertyAttribute" required="true" />
+				<type name="ConstructorArgumentAttribute" expose="false" />
+				<type name="DependsOnAttribute" expose="false" />
+				<type name="DesignerSerializationOptionsAttribute" expose="false" />
+				<type name="ValueSerializerAttribute" expose="false" />
+				<type name="XmlnsCompatibleWithAttribute" expose="false" />
+				<type name="XmlnsDefinitionAttribute" expose="false" />
+				<type name="XmlnsPrefixAttribute" expose="false" />
+			</namespace>
+			<!-- The GeneratedCodeAttribute is useful only to tools, and should be hidden from end users.-->
+			<namespace name="System.CodeDom.Compiler" expose="true">
+				<type name="GeneratedCodeAttribute" expose="false" />
+			</namespace>
+		</attributeFilter>
+
+		<apiFilter expose="true">
+  <namespace name="" expose="false"/>
+</apiFilter>
+
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Help/Working/SHFBContent.xml b/T3-Unity/Help/Working/SHFBContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cb7e4d8542819e9d259e728125c616b361730ecd
--- /dev/null
+++ b/T3-Unity/Help/Working/SHFBContent.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info"></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text"></item>
+
+	<item id="header"><span class="introStyle"></span> </item>
+	<item id="footer_content"></item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root"><include item="rootTopicTitleLocalized"/></item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Namespaces</item>
+
+	<item id="productTitle">A Sandcastle Documented Class Library</item>
+	<item id="runningHeaderText">A Sandcastle Documented Class Library</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">en-us</item>
+	<item id="brandingLocaleCss">branding-en-US.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Send comments on this topic to
+        <a id="HT_MailLink" href="mailto:?Subject=A%20Sandcastle%20Documented%20Class%20Library"></a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright"></item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject=A%20Sandcastle%20Documented%20Class%20Library: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Help/Working/StopWordList.txt b/T3-Unity/Help/Working/StopWordList.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Help/Working/StopWordList.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Help/Working/WebsiteContent.xml b/T3-Unity/Help/Working/WebsiteContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..58c91decda6a2fe9edaf5a3cd7cd41113f2a3505
--- /dev/null
+++ b/T3-Unity/Help/Working/WebsiteContent.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!--	This file is specific to website output.
+
+				NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the files before it! -->
+	
+		<item id="websiteAdContent"></item>
+</content>
diff --git a/T3-Unity/Help/Working/obj/Debug/GenerateRefInfo-2e181c9b-ff48-4a00-aec7-89cd02725771.projAssemblyReference.cache b/T3-Unity/Help/Working/obj/Debug/GenerateRefInfo-2e181c9b-ff48-4a00-aec7-89cd02725771.projAssemblyReference.cache
new file mode 100644
index 0000000000000000000000000000000000000000..fa25db2f2705f01c141816b50df54d26056577cd
Binary files /dev/null and b/T3-Unity/Help/Working/obj/Debug/GenerateRefInfo-2e181c9b-ff48-4a00-aec7-89cd02725771.projAssemblyReference.cache differ
diff --git a/T3-Unity/Help/Working/reflection.org b/T3-Unity/Help/Working/reflection.org
new file mode 100644
index 0000000000000000000000000000000000000000..6523f7f7848cac61296f5b72b99f875d06679058
--- /dev/null
+++ b/T3-Unity/Help/Working/reflection.org
@@ -0,0 +1,739 @@
+<?xml version="1.0" encoding="utf-8"?>
+<reflection>
+  <assemblies>
+    <assembly name="Assembly-CSharp-Editor">
+      <assemblydata version="0.0.0.0" culture="" key="" hash="SHA1" />
+      <attributes>
+        <attribute>
+          <type api="T:System.Runtime.CompilerServices.ExtensionAttribute" ref="true" />
+        </attribute>
+      </attributes>
+    </assembly>
+    <assembly name="Assembly-CSharp">
+      <assemblydata version="0.0.0.0" culture="" key="" hash="SHA1" />
+      <attributes>
+        <attribute>
+          <type api="T:System.Runtime.CompilerServices.ExtensionAttribute" ref="true" />
+        </attribute>
+      </attributes>
+    </assembly>
+  </assemblies>
+  <apis>
+    <api id="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers">
+      <apidata name="Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" group="namespace" />
+      <elements>
+        <element api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary" />
+        <element api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data" />
+        <element api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" />
+      </elements>
+    </api>
+    <api id="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data">
+      <apidata name="Data" group="type" subgroup="class" />
+      <typedata visibility="public" serializable="false" defaultConstructor="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.#ctor" />
+      <family>
+        <ancestors>
+          <type api="T:System.Object" ref="true" />
+        </ancestors>
+      </family>
+      <elements>
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.Vertices" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.Holes" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.Dim" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.#ctor" />
+        <element api="M:System.Object.Equals(System.Object)">
+          <apidata name="Equals" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="true" />
+          <parameters>
+            <parameter name="obj">
+              <type api="T:System.Object" ref="true" />
+            </parameter>
+          </parameters>
+          <returns>
+            <type api="T:System.Boolean" ref="false" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.Finalize">
+          <apidata name="Finalize" group="member" subgroup="method" />
+          <memberdata visibility="family" />
+          <proceduredata virtual="true" />
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.GetHashCode">
+          <apidata name="GetHashCode" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="true" />
+          <returns>
+            <type api="T:System.Int32" ref="false" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.GetType">
+          <apidata name="GetType" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="false" />
+          <returns>
+            <type api="T:System.Type" ref="true" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.MemberwiseClone">
+          <apidata name="MemberwiseClone" group="member" subgroup="method" />
+          <memberdata visibility="family" />
+          <proceduredata virtual="false" />
+          <returns>
+            <type api="T:System.Object" ref="true" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.ToString">
+          <apidata name="ToString" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="true" />
+          <returns>
+            <type api="T:System.String" ref="true" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:Utils.ObjectSerializationExtension.SerializeToByteArray(System.Object)" source="extension">
+          <apidata name="SerializeToByteArray" group="member" subgroup="method" subsubgroup="extension" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="false" />
+          <returns>
+            <arrayOf rank="1">
+              <type api="T:System.Byte" ref="false" />
+            </arrayOf>
+          </returns>
+          <containers>
+            <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:Utils" />
+            <type api="T:Utils.ObjectSerializationExtension" ref="true" />
+          </containers>
+        </element>
+      </elements>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.#ctor">
+      <apidata name=".ctor" group="member" subgroup="constructor" />
+      <memberdata visibility="public" special="true" />
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.Dim">
+      <apidata name="Dim" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Int32" ref="false" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.Holes">
+      <apidata name="Holes" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Collections.Generic.List`1" ref="true">
+          <specialization>
+            <type api="T:System.Int32" ref="false" />
+          </specialization>
+        </type>
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data.Vertices">
+      <apidata name="Vertices" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Collections.Generic.List`1" ref="true">
+          <specialization>
+            <type api="T:System.Single" ref="false" />
+          </specialization>
+        </type>
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data" ref="true" />
+      </containers>
+    </api>
+    <api id="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary">
+      <apidata name="EarcutLibrary" group="type" subgroup="class" />
+      <typedata visibility="public" abstract="true" sealed="true" serializable="false" />
+      <family>
+        <ancestors>
+          <type api="T:System.Object" ref="true" />
+        </ancestors>
+      </family>
+      <elements>
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary.Earcut(System.Collections.Generic.List{System.Single},System.Collections.Generic.List{System.Int32},System.Int32)" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary.Flatten(System.Collections.Generic.List{System.Collections.Generic.List{UnityEngine.Vector3}})" />
+      </elements>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary.Earcut(System.Collections.Generic.List{System.Single},System.Collections.Generic.List{System.Int32},System.Int32)">
+      <apidata name="Earcut" group="member" subgroup="method" />
+      <memberdata visibility="public" static="true" />
+      <proceduredata virtual="false" />
+      <parameters>
+        <parameter name="data">
+          <type api="T:System.Collections.Generic.List`1" ref="true">
+            <specialization>
+              <type api="T:System.Single" ref="false" />
+            </specialization>
+          </type>
+        </parameter>
+        <parameter name="holeIndices">
+          <type api="T:System.Collections.Generic.List`1" ref="true">
+            <specialization>
+              <type api="T:System.Int32" ref="false" />
+            </specialization>
+          </type>
+        </parameter>
+        <parameter name="dim">
+          <type api="T:System.Int32" ref="false" />
+        </parameter>
+      </parameters>
+      <returns>
+        <type api="T:System.Collections.Generic.List`1" ref="true">
+          <specialization>
+            <type api="T:System.Int32" ref="false" />
+          </specialization>
+        </type>
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary.Flatten(System.Collections.Generic.List{System.Collections.Generic.List{UnityEngine.Vector3}})">
+      <apidata name="Flatten" group="member" subgroup="method" />
+      <memberdata visibility="public" static="true" />
+      <proceduredata virtual="false" />
+      <parameters>
+        <parameter name="data">
+          <type api="T:System.Collections.Generic.List`1" ref="true">
+            <specialization>
+              <type api="T:System.Collections.Generic.List`1" ref="true">
+                <specialization>
+                  <type api="T:UnityEngine.Vector3" ref="false" />
+                </specialization>
+              </type>
+            </specialization>
+          </type>
+        </parameter>
+      </parameters>
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Data" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.EarcutLibrary" ref="true" />
+      </containers>
+    </api>
+    <api id="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node">
+      <apidata name="Node" group="type" subgroup="class" />
+      <typedata visibility="public" serializable="false" />
+      <family>
+        <ancestors>
+          <type api="T:System.Object" ref="true" />
+        </ancestors>
+      </family>
+      <elements>
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.i" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.x" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.y" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.mZOrder" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.prev" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.next" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.prevZ" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.nextZ" />
+        <element api="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.steiner" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.#ctor(System.Int32,System.Single,System.Single)" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setPreviousNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getPreviousNode" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setNextNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getNextNode" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setZOrder(System.Int32)" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getZOrder" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setPreviousZNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getPreviousZNode" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setNextZNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)" />
+        <element api="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getNextZNode" />
+        <element api="M:System.Object.Equals(System.Object)">
+          <apidata name="Equals" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="true" />
+          <parameters>
+            <parameter name="obj">
+              <type api="T:System.Object" ref="true" />
+            </parameter>
+          </parameters>
+          <returns>
+            <type api="T:System.Boolean" ref="false" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.Finalize">
+          <apidata name="Finalize" group="member" subgroup="method" />
+          <memberdata visibility="family" />
+          <proceduredata virtual="true" />
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.GetHashCode">
+          <apidata name="GetHashCode" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="true" />
+          <returns>
+            <type api="T:System.Int32" ref="false" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.GetType">
+          <apidata name="GetType" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="false" />
+          <returns>
+            <type api="T:System.Type" ref="true" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.MemberwiseClone">
+          <apidata name="MemberwiseClone" group="member" subgroup="method" />
+          <memberdata visibility="family" />
+          <proceduredata virtual="false" />
+          <returns>
+            <type api="T:System.Object" ref="true" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:System.Object.ToString">
+          <apidata name="ToString" group="member" subgroup="method" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="true" />
+          <returns>
+            <type api="T:System.String" ref="true" />
+          </returns>
+          <containers>
+            <library assembly="netstandard" module="netstandard" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:System" />
+            <type api="T:System.Object" ref="true" />
+          </containers>
+        </element>
+        <element api="M:Utils.ObjectSerializationExtension.SerializeToByteArray(System.Object)" source="extension">
+          <apidata name="SerializeToByteArray" group="member" subgroup="method" subsubgroup="extension" />
+          <memberdata visibility="public" />
+          <proceduredata virtual="false" />
+          <returns>
+            <arrayOf rank="1">
+              <type api="T:System.Byte" ref="false" />
+            </arrayOf>
+          </returns>
+          <containers>
+            <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+            <namespace api="N:Utils" />
+            <type api="T:Utils.ObjectSerializationExtension" ref="true" />
+          </containers>
+        </element>
+      </elements>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.#ctor(System.Int32,System.Single,System.Single)">
+      <apidata name=".ctor" group="member" subgroup="constructor" />
+      <memberdata visibility="public" special="true" />
+      <parameters>
+        <parameter name="ind">
+          <type api="T:System.Int32" ref="false" />
+        </parameter>
+        <parameter name="pX">
+          <type api="T:System.Single" ref="false" />
+        </parameter>
+        <parameter name="pY">
+          <type api="T:System.Single" ref="false" />
+        </parameter>
+      </parameters>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getNextNode">
+      <apidata name="getNextNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getNextZNode">
+      <apidata name="getNextZNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getPreviousNode">
+      <apidata name="getPreviousNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getPreviousZNode">
+      <apidata name="getPreviousZNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.getZOrder">
+      <apidata name="getZOrder" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <returns>
+        <type api="T:System.Int32" ref="false" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.i">
+      <apidata name="i" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Int32" ref="false" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.mZOrder">
+      <apidata name="mZOrder" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Int32" ref="false" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.next">
+      <apidata name="next" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.nextZ">
+      <apidata name="nextZ" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.prev">
+      <apidata name="prev" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.prevZ">
+      <apidata name="prevZ" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setNextNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)">
+      <apidata name="setNextNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <parameters>
+        <parameter name="pNode">
+          <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+        </parameter>
+      </parameters>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setNextZNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)">
+      <apidata name="setNextZNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <parameters>
+        <parameter name="pNode">
+          <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+        </parameter>
+      </parameters>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setPreviousNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)">
+      <apidata name="setPreviousNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <parameters>
+        <parameter name="pNode">
+          <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+        </parameter>
+      </parameters>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setPreviousZNode(Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node)">
+      <apidata name="setPreviousZNode" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <parameters>
+        <parameter name="pNode">
+          <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+        </parameter>
+      </parameters>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="M:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.setZOrder(System.Int32)">
+      <apidata name="setZOrder" group="member" subgroup="method" />
+      <memberdata visibility="family" />
+      <proceduredata virtual="false" />
+      <parameters>
+        <parameter name="pZOrder">
+          <type api="T:System.Int32" ref="false" />
+        </parameter>
+      </parameters>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.steiner">
+      <apidata name="steiner" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Boolean" ref="false" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.x">
+      <apidata name="x" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Single" ref="false" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="F:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node.y">
+      <apidata name="y" group="member" subgroup="field" />
+      <memberdata visibility="public" />
+      <fielddata literal="false" initonly="false" serialized="true" />
+      <returns>
+        <type api="T:System.Single" ref="false" />
+      </returns>
+      <containers>
+        <library assembly="Assembly-CSharp" module="Assembly-CSharp" kind="DynamicallyLinkedLibrary" />
+        <namespace api="N:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers" />
+        <type api="T:Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers.Node" ref="true" />
+      </containers>
+    </api>
+    <api id="N:GoogleARCore">
+      <apidata name="GoogleARCore" group="namespace" />
+      <elements>
+        <element api="T:GoogleARCore.InstantPreviewInput" />
+        <element api="T:GoogleARCore.InstantPreviewTrackedPoseDriver" />
+        <element api="T:GoogleARCore.Anchor" />
+        <element api="T:GoogleARCore.AndroidPermissionsManager" />
+        <element api="T:GoogleARCore.AndroidPermissionsRequestResult" />
+        <element api="T:GoogleARCore.ApkAvailabilityStatus" />
+        <element api="T:GoogleARCore.ApkInstallationStatus" />
+        <element api="T:GoogleARCore.ARCoreBackgroundRenderer" />
+        <element api="T:GoogleARCore.ARCoreSession" />
+        <element api="T:GoogleARCore.ARCoreSessionConfig" />
+        <element api="T:GoogleARCore.AsyncTask`1" />
+        <element api="T:GoogleARCore.AsyncTask" />
+        <element api="T:GoogleARCore.CameraMetadataTag" />
+        <element api="T:GoogleARCore.CameraMetadataValue" />
+        <element api="T:GoogleARCore.CameraMetadataRational" />
+        <element api="T:GoogleARCore.EnvironmentalLight" />
+        <element api="T:GoogleARCore.Frame" />
+        <element api="T:GoogleARCore.Frame.CameraMetadata" />
+        <element api="T:GoogleARCore.Frame.PointCloud" />
+        <element api="T:GoogleARCore.Frame.CameraImage" />
+        <element api="T:GoogleARCore.LightEstimate" />
+        <element api="T:GoogleARCore.LightEstimateState" />
+        <element api="T:GoogleARCore.PointCloudPoint" />
+        <element api="T:GoogleARCore.Session" />
+        <element api="T:GoogleARCore.SessionStatus" />
+        <element api="T:GoogleARCore.SessionStatusExtensions" />
+        <element api="T:GoogleARCore.Trackable" />
+        <element api="T:GoogleARCore.TrackableHit" />
+        <element api="T:GoogleARCore.TrackableHitFlags" />
+        <element api="T:GoogleARCore.TrackableQueryFilter" />
+        <element api="T:GoogleARCore.TrackedPlane" />
+        <element api="T:GoogleARCore.TrackedPoint" />
+        <element api="T:GoogleARCore.TrackedPointOrientationMode" />
+        <element api="T:GoogleARCore.TrackingState" />
+      </elements>
+    </api>
+    <api id="T:GoogleARCore.Anchor">
+      <apidata name="Anchor" group="type" subgroup="class" />
+      <typedata visibility="public" serializable="false" defaultConstructor="M:GoogleARCore.Anchor.#ctor" />
+      <family>
+        <ancestors>
+          <type api="T:UnityEngine.MonoBehaviour" ref="true" />
+          <type api="T:UnityEngine.Behaviour" ref="true" />
+          <type api="T:UnityEngine.Component" ref="true" />
+          <type api="T:UnityEngine.Object" ref="true" />
+          <type api="T:System.Object" ref="true" />
+        </ancestors>
+      </family>
+    </api>
+  </apis>
+</reflection>
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/CategoryTemplate.cshtml b/T3-Unity/HelpContent/CategoryTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..44c3c205ee3779948e42d9401103f90908c05485
--- /dev/null
+++ b/T3-Unity/HelpContent/CategoryTemplate.cshtml
@@ -0,0 +1,53 @@
+@model ExcelDna.Documentation.Models.CategoryModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h2>@Model.Name Functions</h2>
+
+                        <p>Click one of the links in the following list to see detailed help about the function.</p>
+                        <br>
+
+                        <div>
+                            <table width="100%" cellspacing="0" style="font-size: 1em">
+                                <tbody>
+                                    <tr>
+                                        <th style="text-align: left; width: 206px">Function</th>
+
+                                        <th style="text-align: left">Description</th>
+                                    </tr>
+
+                                    @foreach (var function in @Model.Functions)
+                                    {
+                                        <tr>
+                                            <th style="text-align: left; width: 206px">
+                                                <a href="@(function.Name).htm">@function.Name</a>
+                                            </th>
+
+                                            <td>@function.Description</td>
+                                        </tr>
+                                    }
+                                </tbody>
+                            </table>
+                        </div>
+
+                        <h3>See Also</h3>
+                        <hr>
+                        <a href="index.htm">UDF List</a>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/CommandListTemplate.cshtml b/T3-Unity/HelpContent/CommandListTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..a0967e0ef1585571ac1f8fdc9465d9e10bddade3
--- /dev/null
+++ b/T3-Unity/HelpContent/CommandListTemplate.cshtml
@@ -0,0 +1,53 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h2>@Model.ProjectName Commands</h2>
+
+                        <p>Click one of the links in the following list to see detailed help about the command.</p>
+                        <br>
+
+                        <div>
+                            <table width="100%" cellspacing="0" style="font-size: 1em">
+                                <tbody>
+                                    <tr>
+                                        <th style="text-align: left; width: 206px">Command</th>
+
+                                        <th style="text-align: left">Description</th>
+                                    </tr>
+
+                                    @foreach (var command in @Model.Commands)
+                                    {
+                                        <tr>
+                                            <th style="text-align: left; width: 206px">
+                                                <a href="@(command.Name).htm">@command.Name</a>
+                                            </th>
+
+                                            <td>@command.Description</td>
+                                        </tr>
+                                    }
+                                </tbody>
+                            </table>
+                        </div>
+
+                        <h3>See Also</h3>
+                        <hr>
+                        <a href="index.htm">UDF List</a>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/CommandTemplate.cshtml b/T3-Unity/HelpContent/CommandTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..639c3d999c3d7f060a66583ed332543a1ce5e9e7
--- /dev/null
+++ b/T3-Unity/HelpContent/CommandTemplate.cshtml
@@ -0,0 +1,47 @@
+@model ExcelDna.Documentation.Models.CommandModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@(Model.Name) command</h1>
+                        <br/>
+
+                        @if(@Model.Description != string.Empty)
+                        {
+                            <h4>Description</h4>
+                            <hr/>
+
+                            <p>@Model.Description</p>
+                            <br/>
+                        }
+
+                         @if(@Model.ShortCut != string.Empty)
+                        {
+                            <h4>Shortcut</h4>
+                            <hr/>
+
+                            <p>@Model.ShortCut</p>
+                            <br/>
+                        }   
+
+                        <h4>See Also</h4>
+                        <hr/>
+
+                        <p><a href="@Model.Category Commands.htm">@Model.Category Commands</a></p>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/FunctionTemplate.cshtml b/T3-Unity/HelpContent/FunctionTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..2ac0aa30963ff14b3ab9169f463691c6ef054d0b
--- /dev/null
+++ b/T3-Unity/HelpContent/FunctionTemplate.cshtml
@@ -0,0 +1,85 @@
+@model ExcelDna.Documentation.Models.FunctionModel
+@{
+    var parameters = new List<string>();
+    foreach (var p in Model.Parameters)
+    {
+        parameters.Add(p.Name);
+    }
+    var paramList = string.Join(", ", parameters.ToArray());
+}
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@(Model.Name) function</h1>
+                        <br/>
+
+                        @if(@Model.Description != string.Empty)
+                        {
+                            <h4>Description</h4>
+                            <hr/>
+
+                            <p>@Model.Description</p>
+                            <br/>
+                        }
+
+                        <h4>Syntax</h4>
+                        <hr/>
+                        <code>@(Model.Name)(@(paramList))</code><br>
+
+                        <p>@Model.Name function syntax has the following arguments :</p>
+
+                        <ul>
+                            @foreach (var p in @Model.Parameters)
+                            {
+                                <li><b>@p.Name</b> <font color="green">@p.ParameterType</font> @p.Description</li>
+                            }
+                        </ul>
+                        <br/>
+
+                        <h4>Returns</h4>
+                        <hr/>
+
+                        <p><font color="green">@Model.ReturnType</font> @Model.Returns</p>
+                        <br/>
+
+                        @if (@Model.Summary != string.Empty)
+                        {
+                            <h4>Summary</h4>
+                            <hr/>
+
+                            <p>@Raw(@Model.Summary)</p>
+                            <br/>
+                        }
+
+                        @if (@Model.Remarks != string.Empty)
+                        { 
+                            <h4>Remarks</h4>
+                            <hr/>
+
+                            <p>@Raw(@Model.Remarks)</p>
+                            <br/>
+                        }
+
+                        <h4>See Also</h4>
+                        <hr/>
+
+                        <p><a href="@Model.Category Functions.htm">@Model.Category Functions</a></p>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/MethodListTemplate.cshtml b/T3-Unity/HelpContent/MethodListTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..027855dae046ecb27ab6fcc8ef1a13234b177060
--- /dev/null
+++ b/T3-Unity/HelpContent/MethodListTemplate.cshtml
@@ -0,0 +1,44 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@Model.ProjectName Contents</h1>
+                        <br>
+
+                        @foreach (var group in Model.Categories)
+                        {
+                            <h3><a href="@group.Name Functions.htm">@group.Name Functions</a></h3>
+
+                            foreach (var function in group.Functions)
+                            {
+                                <p><a href="@(function.Name).htm">@function.Name</a></p>
+                            }
+                        }
+
+                        @if (Model.Commands.Count() != 0)
+                        {
+                            <h3><a href="@Model.ProjectName Commands.htm">@Model.ProjectName Commands</a></h3>
+                            
+                            foreach (var command in Model.Commands)
+                            {
+                                <p><a href="@(command.Name).htm">@command.Name</a></p> 
+                            } 
+                        }
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/ProjectFileTemplate.cshtml b/T3-Unity/HelpContent/ProjectFileTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..5e5a0d3c87480a5e69a55dbaab2d9d357af3b28c
--- /dev/null
+++ b/T3-Unity/HelpContent/ProjectFileTemplate.cshtml
@@ -0,0 +1,33 @@
+@model ExcelDna.Documentation.Models.AddInModel
+@using System.Text;
+@using System.Linq;
+@{ var functions = Model.Functions.Where(f => f.TopicId != string.Empty);
+   var commands = Model.Commands.Where(c => c.TopicId != string.Empty);
+   var alias = new StringBuilder();
+   var map = new StringBuilder();
+   foreach (var f in functions)
+   {
+       alias.AppendLine(string.Format("Topic{0}={1}.htm", f.TopicId, f.Name));
+       map.AppendLine(string.Format("#define Topic{0} {0}", f.TopicId));
+   }
+   foreach (var c in commands)
+   {
+       alias.AppendLine(string.Format("Topic{0}={1}.htm", c.TopicId, c.Name));
+       map.AppendLine(string.Format("#define Topic{0} {0}", c.TopicId));
+   }
+   }
+[OPTIONS]
+Compatibility=1.1 or later
+Compiled file="@(Model.DnaFileName).chm"
+Contents file=Table of Contents.hhc
+Default topic=index.htm
+Display compile progress=No
+Language=0x409 English (United States)
+
+[INFOTYPES]
+
+[ALIAS]
+@alias
+
+[MAP]
+@map
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/TableOfContentsTemplate.cshtml b/T3-Unity/HelpContent/TableOfContentsTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..282d412d786f6bcc9c5200bb051f79d6a822e410
--- /dev/null
+++ b/T3-Unity/HelpContent/TableOfContentsTemplate.cshtml
@@ -0,0 +1,58 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
+<!-- Sitemap 1.0 -->
+</head>
+<body>
+	<object type="text/site	properties">
+		<param name="ImageType" value="Folder">
+	</object>
+	<ul>
+		<li> <object type="text/sitemap">
+				<param name="Name" value="@Model.ProjectName">
+				<param name="Local" value="index.htm">
+			</object>
+		</li>
+		<ul>
+			@foreach (var group in Model.Categories)
+			{
+				<li> <object type="text/sitemap">
+						<param name="Name" value="@group.Name Functions">
+						<param name="Local" value="@group.Name Functions.htm">
+					</object>
+				</li>
+				<ul>
+					@foreach (var function in group.Functions)
+					{
+						<li> <object type="text/sitemap">
+								<param name="Name" value="@function.Name">
+								<param name="Local" value="@(function.Name + ".htm")">
+							</object>
+						</li>
+					}
+				</ul>
+			}
+			@if (Model.Commands.Count() != 0)
+			{ 
+				<li> <object type="text/sitemap">
+						<param name="Name" value="@Model.ProjectName Commands">
+						<param name="Local" value="@Model.ProjectName Commands.htm">
+					</object>
+				</li>
+				<ul>
+					@foreach (var command in Model.Commands)
+					{
+						<li> <object type="text/sitemap">
+								<param name="Name" value="@command.Name">
+								<param name="Local" value="@(command.Name + ".htm")">
+							</object>
+						</li>
+					}
+				</ul>
+			}
+		</ul>
+	</ul>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/_readme_.txt b/T3-Unity/HelpContent/_readme_.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8f357db8ff93edaf2d5f2e16b017c1a106be845e
--- /dev/null
+++ b/T3-Unity/HelpContent/_readme_.txt
@@ -0,0 +1,40 @@
+HelpContent Files
+
+Purpose
+-------
+
+The files contained in this folder can be used to replace the default templates used by ExcelDnaDoc.  
+If any of the templates in this folder are either set to not copy to the output directory or are deleted 
+from this folder the default template embedded in ExcelDnaDoc will be used.  If no customization to the
+default output is desired the HelpContent folder and all of it's content can be removed from your
+project.  You can keep only the templates that you want to customize and delete the rest.
+
+
+
+Files Needed for Visual Studio Intellisense (not copied to output directory) 
+----------------------------------------------------------------------------
+
+web.config						
+bin/ExcelDna.Documentation.dll
+
+
+Core HTML Help Workshop (HHW) Razor Templates (replaces default if copied to output directory)
+----------------------------------------------------------------------------------------
+* customize if manually adding additional pages to help
+* HHW expects specific elements and I recommend changing these two templates only if needed
+
+ProjectFileTemplate.cshtml		- HTML Help Workshop project file (.hhp)
+TableOfContentsTemplate.cshtml	- HTML Help Workshop Table of Contents
+
+
+HTML Content Razor Templates (replaces default if copied to output directory)
+-----------------------------------------------------------------------------
+
+helpstyle.css - main stylesheet used by the templates below; if sent to output directory
+				will replace default stylesheet embeded in ExcelDnaDoc.s
+
+MethodListTemplate.cshtml	- functions/commands displayed when root folder is selected
+CategoryTemplate.cshtml		- function list displayed when a function category is selected
+CommandListTemplate.cshtml	- command (macro) list displayed when the project command folder is selected
+CommandTemplate.cshtml		- command (macro) page template
+FunctionTemplate.cshtml		- function page template
\ No newline at end of file
diff --git a/T3-Unity/HelpContent/bin/ExcelDna.Documentation.dll b/T3-Unity/HelpContent/bin/ExcelDna.Documentation.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0f73643f6b07d168a7edf31f850e92eb47b04d8d
Binary files /dev/null and b/T3-Unity/HelpContent/bin/ExcelDna.Documentation.dll differ
diff --git a/T3-Unity/HelpContent/helpstyle.css b/T3-Unity/HelpContent/helpstyle.css
new file mode 100644
index 0000000000000000000000000000000000000000..25d9c2705698b49c457adc3573d43714c784a088
--- /dev/null
+++ b/T3-Unity/HelpContent/helpstyle.css
@@ -0,0 +1,237 @@
+body
+{
+	width: 100%;
+	margin: 0px 0px 0px 0px;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 70%;
+}
+
+h1, h3, h4
+{
+	margin-bottom: .4em;
+	margin-top: 1em;
+}
+
+h1
+{
+	font-size: 120%;
+	margin-top: 0em;
+}
+
+h3
+{
+	color: darkblue;
+	font-size: 115%;
+}
+
+h4
+{
+	color: darkblue;
+	font-size: 100%;
+}
+
+div.table
+{
+	text-align: center;
+}
+
+table
+{
+	font-size: 100%;
+	border-collapse: collapse;
+	width: 93%;
+}
+
+th
+{
+	background-color: #cccccc;
+	color: #000000;
+	font-weight: bolder;
+	padding: 5px;
+	border: 1px solid #999999;
+}
+
+tr
+{
+	background-color: #ffffff;
+	padding: 5px;
+	text-align: left;
+	border: 1px solid #999999;
+}
+
+td
+{
+	border: 1px solid #999999;
+	padding: 5px;
+}
+
+p
+{
+	margin: .5em 0em .5em 0em;
+}
+
+pre
+{
+	margin-top: .5em;
+	margin-bottom: .5em;
+}
+
+code 
+{
+	background-color: lightgrey;
+}
+
+pre.code
+{
+	font: Monospace, Courier New, Courier;
+	color: #000066;
+	font-size: 100%;
+	margin-left: 20px;
+	background-color: lightgrey;
+}
+
+.syntax
+{
+	font: Monospace, Courier New, Courier;
+	letter-spacing: .1em;
+	background-color: #cccccc;
+	color: #000000;
+	font-size: 100%;
+	font-weight: bolder;
+	padding: 5px;
+	border: 1px solid #999999;
+	margin-left: 20px;
+	padding: 4px 8px;
+	margin-top: 1em;
+	margin-bottom: 1em;
+	width: 96%;
+}
+.comment
+{
+	color:Green;
+	font-weight:lighter;	
+}
+.i1
+{
+	margin-left: 20px;
+}
+
+.i2
+{
+	margin-left: 40px;
+}
+
+.i3
+{
+	margin-left: 60px;
+}
+
+.missing
+{
+	color: Red;
+}
+
+div#banner
+{
+	width: 100%;
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	border-bottom: 1px solid #999999;
+	padding: 0px 0px 0px 0px;
+	background-color: #99ccff;
+}
+
+div#header
+{
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	padding: .4em .4em 0 .4em;
+	background-color: #99ccff;
+	font-style: italic;
+}
+
+div#footer
+{
+	font-size: 100%;
+	font-style:italic;
+	border-top: 1px solid #999999;
+	margin-left: 20px;
+	margin-top: 1em;
+	margin-bottom: 1em;
+	width: 96%;
+}
+
+div#banner h1
+{
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	padding: 0 .4em .3em .4em;
+	background-color: #99ccff;
+}
+
+div#content
+{
+	margin: 0px 0px 0px 0px;
+	padding: 4px 4px 4px 4px;
+}
+
+code.ce
+{
+	font-style: italic;
+}
+
+pre.syntax span.lang
+{
+	margin: 0;
+	font-weight: normal;
+}
+
+pre.syntax span.meta
+{
+	margin: 0;
+	font-weight: normal;
+	font-style: italic;
+}
+
+.permissions
+{
+	margin-top: 6px;
+}
+
+blockquote.dtBlock
+{
+	margin: .5em 1.5em .5em 1.5em;
+}
+
+a:link
+{
+	color: #0000ff;
+}
+
+a:visited
+{
+	color: #0000ff;
+}
+
+a:hover
+{
+	color: #3366ff;
+}
+
+a.typeLink
+{
+	text-decoration:none;
+}
+a:link.typeLink
+{
+	text-decoration:none;
+}
+a:visited.typeLink;
+{
+	text-decoration:none;
+}
+a:hover.typeLink
+{
+	font-style:italic;
+	text-decoration:underline;
+}
diff --git a/T3-Unity/HelpContent/web.config b/T3-Unity/HelpContent/web.config
new file mode 100644
index 0000000000000000000000000000000000000000..866d9816f9d7e1c871a4209ca70dfd4f0a58d2f6
--- /dev/null
+++ b/T3-Unity/HelpContent/web.config
@@ -0,0 +1,29 @@
+<configuration>
+  <configSections>
+    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+    </sectionGroup>
+  </configSections>
+  <system.web.webPages.razor>
+    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+    <pages pageBaseType="System.Web.Mvc.WebViewPage">
+      <namespaces>
+        <add namespace="System.Web.Mvc" />
+        <add namespace="System.Web.Mvc.Ajax" />
+        <add namespace="System.Web.Mvc.Html" />
+        <add namespace="System.Web.Routing" />
+      </namespaces>
+    </pages>
+  </system.web.webPages.razor>
+  <system.web>
+    <compilation targetFramework="4.0">
+      <assemblies>
+        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+      </assemblies>
+    </compilation>
+  </system.web>
+</configuration>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/.signature.p7s b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/.signature.p7s
new file mode 100644
index 0000000000000000000000000000000000000000..fa6803578f652afc1e35c9bf972bb7e0769dd60b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/.signature.p7s differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/EWSoftware.SHFB.2021.11.7.nupkg b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/EWSoftware.SHFB.2021.11.7.nupkg
new file mode 100644
index 0000000000000000000000000000000000000000..94c5fdd0be529a47da04bd0c30762a20ae007ea3
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/EWSoftware.SHFB.2021.11.7.nupkg differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/ReadMe.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/ReadMe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ad2377dcab2273f54c5239a61b9c04c3b457c82c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/ReadMe.txt
@@ -0,0 +1,48 @@
+Sandcastle Help File Builder
+----------------------------
+This package allows you to deploy the Sandcastle Help File Builder tools inside of a project to build help files
+without installing the tools manually such as on a build server.  The following limitations apply:
+
+- You must install one or more of the Reflection Data Set packages based on which platform types you need:
+
+  .NET, .NETCore, .NETFramework, .NETMicroFramework, .NETPortable, Silverlight, WindowsPhone, WindowsPhoneApp,
+  and/or UniversalWindows.
+
+  If multiple versions are available for any given reflection data set package, download the latest version as
+  it will cover all prior versions as well.
+
+- Set the project's ComponentPath property to the .\packages folder so that the project can find the reflection
+  data files and any other third-party build components, plug-ins, presentation styles, etc. deployed as NuGet
+  packages.
+
+- Only the website, MS Help Viewer, Open XML, and markdown help file formats are supported unconditionally as
+  there are no external tool dependencies for them.
+
+- To build Help 1 output, the required help compiler tools and components must be installed separately.  Help file
+  builds using that formats will fail if those components are not installed.
+
+- Any third-party build components, plug-ins, presentation styles, etc. not deployed as NuGet packages must be
+  included within your project and must be placed within the project folder so that they can be found.
+
+- The SHFBROOT environment variable does not need to be defined.  However, the help file project must contain a
+  conditional property that defines the relative path to the SHFB tools folder within the main PropertyGroup
+  element.
+
+  Example:
+
+    <PropertyGroup>
+      <!-- NOTE: Update the version number in the path (YYYY.M.D.R) to match the package version -->
+      <SHFBROOT Condition=" '$(SHFBROOT)' == '' ">$(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.YYYY.M.D.R\Tools\</SHFBROOT>
+
+      ... other SHFB project properties ...
+
+    </PropertyGroup>
+
+- No standalone GUI or Visual Studio support is provided for managing the help project and none of the non-essential
+  tools or help files are included in this package in order to keep its size down to the bare minimum.  If wanted,
+  those items must be downloaded and installed from the GitHub project site using the guided installer:
+  https://GitHub.com/EWSoftware/SHFB
+
+See this help topic for more details on XCOPY/NuGet Build Server Deployment:
+
+    http://EWSoftware.github.io/SHFB/html/50ad2c8c-5004-4b4c-a77f-97b8c403c9f2.htm
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/SHFB.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/SHFB.png
new file mode 100644
index 0000000000000000000000000000000000000000..902b600cf8763e257e2c8143a84dc8393f22bd2c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/SHFB.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/build/EWSoftware.SHFB.props b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/build/EWSoftware.SHFB.props
new file mode 100644
index 0000000000000000000000000000000000000000..f6d8d371a54ee4c7c530452236be1d0b42099487
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/build/EWSoftware.SHFB.props
@@ -0,0 +1,5 @@
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <SHFBROOT Condition="$(SHFBROOT) == ''">$(MSBuildThisFileDirectory)..\Tools\</SHFBROOT >
+  </PropertyGroup>
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/CopyCode.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/CopyCode.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1678162660cfe65f8018be7f458b367531fc422c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/CopyCode.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/CopyCode_h.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/CopyCode_h.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be87230ff9140549163b83e6d62db0f6c8413e30
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/CopyCode_h.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/DocumentTemplate.xaml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/DocumentTemplate.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..50fa136c89f0c28bfa7e3f3e90d9b29a089f9359
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/DocumentTemplate.xaml
@@ -0,0 +1,76 @@
+<FlowDocument
+  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+	<FlowDocument.Resources>
+		<!-- This represents the style of the containing section and paragraph.  These settings should match
+         the style of the target document. -->
+		<Style TargetType="{x:Type Section}">
+			<Setter Property="FontFamily" Value="Consolas, Courier New, Courier"/>
+			<Setter Property="FontSize" Value="12.0"/>
+			<Setter Property="BorderBrush" Value="#939393"/>
+			<Setter Property="BorderThickness" Value="0.5"/>
+			<Setter Property="Margin" Value="0, 0, 0, 10"/>
+			<Setter Property="Padding" Value="5"/>
+			<Style.Resources>
+				<Style TargetType="{x:Type Paragraph}">
+					<Setter Property="Margin" Value="0"/>
+				</Style>
+			</Style.Resources>
+		</Style>
+		<!-- These represent the styles of the span elements -->
+		<Style x:Key="HighlightComment">
+			<Setter Property="TextElement.Foreground" Value="#006633" />
+		</Style>
+		<Style x:Key="HighlightLiteral">
+			<Setter Property="TextElement.Foreground" Value="#CC0000" />
+		</Style>
+		<Style x:Key="HighlightNumber">
+			<Setter Property="TextElement.Foreground" Value="#009966" />
+		</Style>
+		<Style x:Key="HighlightKeyword">
+			<Setter Property="TextElement.Foreground" Value="#0000FF" />
+		</Style>
+		<Style x:Key="HighlightPreprocessor">
+			<Setter Property="TextElement.Foreground" Value="#996666" />
+		</Style>
+		<Style x:Key="HighlightXmlTag">
+			<Setter Property="TextElement.Foreground" Value="#AA4400" />
+		</Style>
+		<Style x:Key="HighlightXmlBracket">
+			<Setter Property="TextElement.Foreground" Value="#0000FF" />
+		</Style>
+		<Style x:Key="HighlightXmlBracketInline">
+			<Setter Property="TextElement.Background" Value="#FFFF66" />
+			<Setter Property="TextElement.Foreground" Value="#000000" />
+		</Style>
+		<Style x:Key="HighlightXmlComment">
+			<Setter Property="TextElement.Foreground" Value="#006633" />
+		</Style>
+		<Style x:Key="HighlightXmlCData">
+			<Setter Property="TextElement.Foreground" Value="#AA0088" />
+		</Style>
+		<Style x:Key="HighlightXmlAttributeName">
+			<Setter Property="TextElement.Foreground" Value="#0000FF" />
+		</Style>
+		<Style x:Key="HighlightXmlAttributeEqual">
+			<Setter Property="TextElement.Foreground" Value="#000000" />
+		</Style>
+		<Style x:Key="HighlightXmlAttributeValue">
+			<Setter Property="TextElement.Foreground" Value="#CC0000" />
+		</Style>
+		<Style x:Key="HighlightPowerShellCmdLet">
+			<Setter Property="TextElement.Foreground" Value="#5A9EA5" />
+			<Setter Property="TextElement.FontWeight" Value="Bold" />
+		</Style>
+		<Style x:Key="HighlightNamespace">
+			<Setter Property="TextElement.Foreground" Value="#008284" />
+		</Style>
+		<Style x:Key="HighlightLineNo">
+			<Setter Property="TextElement.FontSize" Value="10" />
+		</Style>
+	</FlowDocument.Resources>
+	<!-- The colorized flow document element text can be inserted by replacing the marker text with it. -->
+	<Section>
+		<Paragraph xml:space="preserve">@CONTENT@</Paragraph>
+	</Section>
+</FlowDocument>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.css
new file mode 100644
index 0000000000000000000000000000000000000000..2916c31c3e086a832969326b538719b2ad6974f1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.css
@@ -0,0 +1,28 @@
+.highlight-inline { color: #000066; font-size: 9pt; font-family: Consolas, "Courier New", Courier, monospace; }
+.highlight-pre { clear: both; width: 99.5%; background-color: #EFEFF7; padding: 0.4em; font-size: 9pt; font-family: Consolas, "Courier New", Courier, monospace; margin-top: 0px; margin-bottom: 1em; }
+.highlight-comment { color: #006633; }
+.highlight-literal { color: #CC0000; }
+.highlight-number { color: #009966; }
+.highlight-keyword { color: #0000FF; }
+.highlight-preprocessor { color: #996666; }
+.highlight-xml-tag { color: #AA4400 }
+.highlight-xml-bracket { color: #0000FF }
+.highlight-xml-bracket-inline { background: #FFFF66 }
+.highlight-xml-comment { color: #006633 }
+.highlight-xml-cdata { color: #AA0088 }
+.highlight-xml-attribute-name { color: #0000FF }
+.highlight-xml-attribute-equal { color: #000000 }
+.highlight-xml-attribute-value {color: #CC0000 }
+.highlight-title { font-weight: bold; margin-top: 1em; margin-bottom: 2px; border-bottom: gray 1px solid; padding-bottom: 3px; }
+.highlight-copycode { float: right; padding-right: 10px; font-weight: normal; cursor: pointer; }
+.highlight-copycode_h { float: right; padding-right: 10px; font-weight: normal; cursor: pointer; text-decoration: underline}
+.highlight-lineno { font-size: 80%; color: black }
+.highlight-lnborder { border-right-style: solid; border-right-width: 1px; border-color: gray; padding-right: 4px; margin-right: 4px; width: 4px;}
+.highlight-spacer { padding-right: 20px; }
+.highlight-spacerShort { padding-right: 5px; }
+.highlight-collapsebox { cursor: pointer; color: black; text-align: center; border-style: solid; border-width: 1px; border-color: gray; margin-left: 2px; margin-right: 5px; }
+.highlight-collapsed { border-style: solid; border-width: 1px; border-color: gray; margin: 2px; color: gray; }
+.highlight-expanded { border-left-style: solid; border-left-width: 1px; border-color: gray; margin-left: 2px; margin-right: 10px; }
+.highlight-endblock { border-left-style: solid; border-left-width: 1px; border-bottom-style: solid; border-bottom-width: 1px; border-color: gray; margin-left: 2px; margin-right: 10px; }
+.highlight-pshell-cmdlet { color: #5A9EA5; font-weight: bold; }
+.highlight-namespace { color: #008284; }
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.js
new file mode 100644
index 0000000000000000000000000000000000000000..b4da6c4ce361a59791f306d386f231c57a78ef81
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.js
@@ -0,0 +1,148 @@
+//===============================================================================================================
+// System  : Color Syntax Highlighter
+// File    : Highlight.js
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 10/21/2012
+// Note    : Copyright 2006-2012, Eric Woodruff, All rights reserved
+//
+// This contains the script to expand and collapse the regions in the syntax highlighted code.
+//
+// This is a customized version for the Sandcastle Help File Builder.  It overrides the CopyCode() function
+// from the Hana, Prototype, and VS2005 presentation styles to remove the line numbering and collapsible
+// region elements.  The VS2010 style does not currently use the CopyCode() function in here as it has its own
+// version for copying the code.
+//===============================================================================================================
+
+// Expand/collapse a region
+function HighlightExpandCollapse(showId, hideId)
+{
+    var showSpan = document.getElementById(showId), hideSpan = document.getElementById(hideId);
+
+    showSpan.style.display = "inline";
+    hideSpan.style.display = "none";
+}
+
+// Copy the code from a colorized code block to the clipboard.
+function CopyCode(key)
+{
+    var idx, line, block, htmlLines, lines, codeText, hasLineNos, hasRegions, clip, trans,
+        copyObject, clipID;
+    var reLineNo = /^\s*\d{1,4}/;
+    var reRegion = /^\s*\d{1,4}\+.*?\d{1,4}-/;
+    var reRegionText = /^\+.*?\-/;
+
+    // Find the table row element containing the code
+	var trElements = document.getElementsByTagName("tr");
+
+	for(idx = 0; idx < trElements.length; idx++)
+		if(key.parentNode.parentNode.parentNode == trElements[idx].parentNode)
+		{
+		    block = trElements[idx].nextSibling;
+		    break;
+        }
+
+    if(block.innerText != undefined)
+        codeText = block.innerText;
+    else
+        codeText = block.textContent;
+
+    hasLineNos = block.innerHTML.indexOf("highlight-lineno");
+    hasRegions = block.innerHTML.indexOf("highlight-collapsebox");
+    htmlLines = block.innerHTML.split("\n");
+    lines = codeText.split("\n");
+
+    // Remove the line numbering and collapsible regions if present
+    if(hasLineNos != -1 || hasRegions != -1)
+    {
+        codeText = "";
+
+        for(idx = 0; idx < lines.length; idx++)
+        {
+            line = lines[idx];
+
+            if(hasRegions && reRegion.test(line))
+                line = line.replace(reRegion, "");
+            else
+            {
+                line = line.replace(reLineNo, "");
+
+                // Lines in expanded blocks have an extra space
+                if(htmlLines[idx].indexOf("highlight-expanded") != -1 ||
+                  htmlLines[idx].indexOf("highlight-endblock") != -1)
+                    line = line.substr(1);
+            }
+
+            if(hasRegions && reRegionText.test(line))
+                line = line.replace(reRegionText, "");
+
+            codeText += line;
+
+            // Not all browsers keep the line feed when split
+            if(line[line.length - 1] != "\n")
+                codeText += "\n";
+        }
+    }
+
+    // IE or FireFox/Netscape?
+    if(window.clipboardData)
+        window.clipboardData.setData("Text", codeText);
+    else
+        if(window.netscape)
+        {
+            // Give unrestricted access to browser APIs using XPConnect
+            try
+            {
+                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+            }
+            catch(e)
+            {
+                alert("Universal Connect was refused, cannot copy to clipboard.  Go to about:config and set " +
+                    "signed.applets.codebase_principal_support to true to enable clipboard support.");
+                return;
+            }
+
+            // Creates an instance of nsIClipboard
+            clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(
+                Components.interfaces.nsIClipboard);
+
+            // Creates an instance of nsITransferable
+            if(clip)
+                trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(
+                    Components.interfaces.nsITransferable);
+
+            if(!trans)
+            {
+                alert("Copy to Clipboard is not supported by this browser");
+                return;
+            }
+
+            // Register the data flavor
+            trans.addDataFlavor("text/unicode");
+
+            // Create object to hold the data
+            copyObject = new Object();
+
+            // Creates an instance of nsISupportsString
+            copyObject = Components.classes["@mozilla.org/supports-string;1"].createInstance(
+                Components.interfaces.nsISupportsString);
+
+            // Assign the data to be copied
+            copyObject.data = codeText;
+
+            // Add data objects to transferable
+            trans.setTransferData("text/unicode", copyObject, codeText.length * 2);
+
+            clipID = Components.interfaces.nsIClipboard;
+
+            if(!clipID)
+            {
+                alert("Copy to Clipboard is not supported by this browser");
+                return;
+            }
+
+            // Transfer the data to the clipboard
+            clip.setData(trans, null, clipID.kGlobalClipboard);
+        }
+        else
+            alert("Copy to Clipboard is not supported by this browser");
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9721eff93f15a7673dc831e85fddeb6e2fb7a849
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.xml
@@ -0,0 +1,1616 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<highlight needs-build="yes" save-build="no">
+	<!-- Map language ID variations to language IDs in this file. "from" should be lowercase.
+			 "to" should match an ID on one of the language elements. -->
+	<map>
+		<language from="c#" to="cs"/>
+		<language from="csharp" to="cs"/>
+		<language from="c++" to="cpp"/>
+		<language from="cplusplus" to="cpp"/>
+		<language from="cpp#" to="cpp"/>
+		<language from="f#" to="fs"/>
+		<language from="fsharp" to="fs"/>
+		<language from="fsscript" to="fs"/>
+		<language from="j#" to="jsharp"/>
+		<language from="ecmascript" to="javascript"/>
+		<language from="js" to="javascript"/>
+		<language from="jscript" to="jscriptnet"/>
+		<language from="jscript#" to="jscriptnet"/>
+		<language from="jscript.net" to="jscriptnet"/>
+		<language from="vb" to="vbnet"/>
+		<language from="vb#" to="vbnet"/>
+		<language from="vb.net" to="vbnet"/>
+		<language from="vbs" to="vbscript"/>
+		<language from="htm" to="xml"/>
+		<language from="html" to="xml"/>
+		<language from="aspnet" to="xml"/>
+		<language from="asp.net" to="xml"/>
+		<language from="xsl" to="xml"/>
+		<language from="sql server" to="sql"/>
+		<language from="sqlserver" to="sql"/>
+		<language from="powershell" to="pshell"/>
+		<language from="ps1" to="pshell"/>
+		<language from="py" to="python" />
+		<language from="batch" to="bat" />
+	</map>
+	<!-- families of keywords -->
+	<keywordlists>
+		<!-- Common C-like language keywords (C, C++, C#) -->
+		<keywordlist id="kwclang-keywords">
+			<kw>break</kw>
+			<kw>case</kw>
+			<kw>char</kw>
+			<kw>const</kw>
+			<kw>continue</kw>
+			<kw>default</kw>
+			<kw>do</kw>
+			<kw>double</kw>
+			<kw>else</kw>
+			<kw>enum</kw>
+			<kw>extern</kw>
+			<kw>float</kw>
+			<kw>for</kw>
+			<kw>goto</kw>
+			<kw>if</kw>
+			<kw>int</kw>
+			<kw>long</kw>
+			<kw>return</kw>
+			<kw>short</kw>
+			<kw>sizeof</kw>
+			<kw>static</kw>
+			<kw>struct</kw>
+			<kw>switch</kw>
+			<kw>void</kw>
+			<kw>volatile</kw>
+			<kw>while</kw>
+		</keywordlist>
+		<!-- Common C++-like object oriented language keywords (C++, C#) -->
+		<keywordlist id="kwclangoo-keywords">
+			<kw>bool</kw>
+			<kw>catch</kw>
+			<kw>class</kw>
+			<kw>explicit</kw>
+			<kw>false</kw>
+			<kw>namespace</kw>
+			<kw>new</kw>
+			<kw>operator</kw>
+			<kw>private</kw>
+			<kw>protected</kw>
+			<kw>public</kw>
+			<kw>this</kw>
+			<kw>throw</kw>
+			<kw>true</kw>
+			<kw>try</kw>
+			<kw>using</kw>
+			<kw>virtual</kw>
+		</keywordlist>
+		<!-- C keywords -->
+		<keywordlist id="kwc-keywords">
+			<kw>auto</kw>
+			<kw>register</kw>
+			<kw>signed</kw>
+			<kw>typedef</kw>
+			<kw>union</kw>
+			<kw>unsigned</kw>
+		</keywordlist>
+		<!-- C++ keywords -->
+		<keywordlist id="kwcpp-keywords">
+			<kw>asm</kw>
+			<kw>const_cast</kw>
+			<kw>delete</kw>
+			<kw>dynamic_cast</kw>
+			<kw>friend</kw>
+			<kw>inline</kw>
+			<kw>mutable</kw>
+			<kw>reinterpret_cast</kw>
+			<kw>static_cast</kw>
+			<kw>template</kw>
+			<kw>typeid</kw>
+			<kw>typename</kw>
+			<kw>wchar_t</kw>
+		</keywordlist>
+		<!-- STL keywords -->
+		<keywordlist id="kwcpp-stl" pre="(std\s*::\s*){0,1}">
+			<kw>vector</kw>
+			<kw>set</kw>
+			<kw>map</kw>
+			<kw>list</kw>
+			<kw>stack</kw>
+			<kw>deque</kw>
+			<kw>multimap</kw>
+			<kw>multiset</kw>
+		</keywordlist>
+		<!-- Managed C++ keywords -->
+		<keywordlist id="kwcpp-managed">
+			<kw>abstract</kw>
+			<kw>array</kw>
+			<kw>delegate</kw>
+			<kw>each</kw>
+			<kw>event</kw>
+			<kw>finally</kw>
+			<kw>gcnew</kw>
+			<kw>generic</kw>
+			<kw>interface</kw>
+			<kw>interior_ptr</kw>
+			<kw>literal</kw>
+			<kw>nullptr</kw>
+			<kw>override</kw>
+			<kw>pin_ptr</kw>
+			<kw>property</kw>
+			<kw>ref</kw>
+			<kw>safe_cast</kw>
+			<kw>sealed</kw>
+			<kw>typeid</kw>
+			<kw>value</kw>
+			<kw>where</kw>
+		</keywordlist>
+		<!-- C# keywords -->
+		<keywordlist id="kwcs-keywords">
+			<kw>abstract</kw>
+			<kw>as</kw>
+			<kw>ascending</kw>
+			<kw>async</kw>
+			<kw>await</kw>
+			<kw>base</kw>
+			<kw>byte</kw>
+			<kw>checked</kw>
+			<kw>decimal</kw>
+			<kw>delegate</kw>
+			<kw>descending</kw>
+			<kw>dynamic</kw>
+			<kw>equals</kw>
+			<kw>event</kw>
+			<kw>finally</kw>
+			<kw>fixed</kw>
+			<kw>foreach</kw>
+			<kw>from</kw>
+			<kw>get</kw>
+			<kw>global</kw>
+			<kw>group</kw>
+			<kw>implicit</kw>
+			<kw>in</kw>
+			<kw>interface</kw>
+			<kw>internal</kw>
+			<kw>into</kw>
+			<kw>is</kw>
+			<kw>join</kw>
+			<kw>let</kw>
+			<kw>lock</kw>
+			<kw>null</kw>
+			<kw>object</kw>
+			<kw>on</kw>
+			<kw>orderby</kw>
+			<kw>out</kw>
+			<kw>override</kw>
+			<kw>params</kw>
+			<kw>partial</kw>
+			<kw>readonly</kw>
+			<kw>ref</kw>
+			<kw>sbyte</kw>
+			<kw>sealed</kw>
+			<kw>select</kw>
+			<kw>set</kw>
+			<kw>stackalloc</kw>
+			<kw>string</kw>
+			<kw>typeof</kw>
+			<kw>uint</kw>
+			<kw>ulong</kw>
+			<kw>unchecked</kw>
+			<kw>unsafe</kw>
+			<kw>ushort</kw>
+			<kw>value</kw>
+			<kw>var</kw>
+			<kw>where</kw>
+			<kw>yield</kw>
+		</keywordlist>
+		<!-- Common VB-like language keywords (VB.NET, VBScript) -->
+		<keywordlist id="kwvblang-keywords">
+			<kw>And</kw>
+			<kw>CBool</kw>
+			<kw>CByte</kw>
+			<kw>CDate</kw>
+			<kw>CDbl</kw>
+			<kw>CInt</kw>
+			<kw>CLng</kw>
+			<kw>CSng</kw>
+			<kw>CStr</kw>
+			<kw>Call</kw>
+			<kw>Case</kw>
+			<kw>Class</kw>
+			<kw>Const</kw>
+			<kw>Date</kw>
+			<kw>Dim</kw>
+			<kw>Do</kw>
+			<kw>Each</kw>
+			<kw>Else</kw>
+			<kw>End</kw>
+			<kw>Erase</kw>
+			<kw>Error</kw>
+			<kw>Exit</kw>
+			<kw>False</kw>
+			<kw>For</kw>
+			<kw>Function</kw>
+			<kw>Get</kw>
+			<kw>If</kw>
+			<kw>Is</kw>
+			<kw>Loop</kw>
+			<kw>Mod</kw>
+			<kw>Next</kw>
+			<kw>Not</kw>
+			<kw>Nothing</kw>
+			<kw>On</kw>
+			<kw>Option</kw>
+			<kw>Or</kw>
+			<kw>Private</kw>
+			<kw>Property</kw>
+			<kw>Public</kw>
+			<kw>ReDim</kw>
+			<kw>Resume</kw>
+			<kw>Select</kw>
+			<kw>Set</kw>
+			<kw>Step</kw>
+			<kw>Stop</kw>
+			<kw>String</kw>
+			<kw>Sub</kw>
+			<kw>Then</kw>
+			<kw>To</kw>
+			<kw>True</kw>
+			<kw>While</kw>
+			<kw>With</kw>
+			<kw>Xor</kw>
+		</keywordlist>
+		<!-- VB.NET language keywords -->
+		<keywordlist id="kwvbnet-keywords">
+			<kw>AddHandler</kw>
+			<kw>AddressOf</kw>
+			<kw>Alias</kw>
+			<kw>AndAlso</kw>
+			<kw>As</kw>
+			<kw>Async</kw>
+			<kw>Await</kw>
+			<kw>Boolean</kw>
+			<kw>ByRef</kw>
+			<kw>ByVal</kw>
+			<kw>Byte</kw>
+			<kw>CChar</kw>
+			<kw>CDec</kw>
+			<kw>CObj</kw>
+			<kw>CSByte</kw>
+			<kw>CShort</kw>
+			<kw>CType</kw>
+			<kw>CUInt</kw>
+			<kw>CULng</kw>
+			<kw>CUShort</kw>
+			<kw>Catch</kw>
+			<kw>Char</kw>
+			<kw>Continue</kw>
+			<kw>Decimal</kw>
+			<kw>Declare</kw>
+			<kw>Default</kw>
+			<kw>Delegate</kw>
+			<kw>DirectCast</kw>
+			<kw>Double</kw>
+			<kw>ElseIf</kw>
+			<kw>Enum</kw>
+			<kw>Event</kw>
+			<kw>Finally</kw>
+			<kw>Friend</kw>
+			<kw>GetType</kw>
+			<kw>Global</kw>
+			<kw>GoTo</kw>
+			<kw>Handles</kw>
+			<kw>Implements</kw>
+			<kw>Imports</kw>
+			<kw>In</kw>
+			<kw>Inherits</kw>
+			<kw>Integer</kw>
+			<kw>Interface</kw>
+			<kw>IsNot</kw>
+			<kw>Lib</kw>
+			<kw>Like</kw>
+			<kw>Long</kw>
+			<kw>Me</kw>
+			<kw>Module</kw>
+			<kw>MustInherit</kw>
+			<kw>MustOverride</kw>
+			<kw>MyBase</kw>
+			<kw>MyClass</kw>
+			<kw>Namespace</kw>
+			<kw>Narrowing</kw>
+			<kw>New</kw>
+			<kw>NotInheritable</kw>
+			<kw>NotOverridable</kw>
+			<kw>Object</kw>
+			<kw>Of</kw>
+			<kw>Operator</kw>
+			<kw>Optional</kw>
+			<kw>OrElse</kw>
+			<kw>Overloads</kw>
+			<kw>Overridable</kw>
+			<kw>Overrides</kw>
+			<kw>ParamArray</kw>
+			<kw>Partial</kw>
+			<kw>Protected</kw>
+			<kw>RaiseEvent</kw>
+			<kw>ReadOnly</kw>
+			<kw>RemoveHandler</kw>
+			<kw>Return</kw>
+			<kw>SByte</kw>
+			<kw>Shadows</kw>
+			<kw>Shared</kw>
+			<kw>Short</kw>
+			<kw>Single</kw>
+			<kw>Static</kw>
+			<kw>Structure</kw>
+			<kw>SyncLock</kw>
+			<kw>Throw</kw>
+			<kw>Try</kw>
+			<kw>TryCast</kw>
+			<kw>TypeOf</kw>
+			<kw>UInteger</kw>
+			<kw>ULong</kw>
+			<kw>UShort</kw>
+			<kw>Using</kw>
+			<kw>When</kw>
+			<kw>Widening</kw>
+			<kw>WithEvents</kw>
+			<kw>WriteOnly</kw>
+		</keywordlist>
+		<!-- VBScript keywords -->
+		<keywordlist id="kwvbscript-statements">
+			<kw>Abs</kw>
+			<kw>Array</kw>
+			<kw>Asc</kw>
+			<kw>Atn</kw>
+			<kw>CCur</kw>
+			<kw>Chr</kw>
+			<kw>Clear</kw>
+			<kw>Cos</kw>
+			<kw>CreateObject</kw>
+			<kw>DateAdd</kw>
+			<kw>DateDiff</kw>
+			<kw>DatePart</kw>
+			<kw>DateSerial</kw>
+			<kw>DateValue</kw>
+			<kw>Day</kw>
+			<kw>Derived</kw>
+			<kw>Empty</kw>
+			<kw>Escape</kw>
+			<kw>Eval</kw>
+			<kw>Execute</kw>
+			<kw>ExecuteGlobal</kw>
+			<kw>Exp</kw>
+			<kw>Explicit</kw>
+			<kw>Filter</kw>
+			<kw>Fix</kw>
+			<kw>FormatCurrency</kw>
+			<kw>FormatDateTime</kw>
+			<kw>FormatNumber</kw>
+			<kw>FormatPercent</kw>
+			<kw>GetLocale</kw>
+			<kw>GetObject</kw>
+			<kw>GetRef</kw>
+			<kw>Hex</kw>
+			<kw>Hour</kw>
+			<kw>InStr</kw>
+			<kw>InStrRev</kw>
+			<kw>InputBox</kw>
+			<kw>Int</kw>
+			<kw>IsArray</kw>
+			<kw>IsDate</kw>
+			<kw>IsEmpty</kw>
+			<kw>IsNull</kw>
+			<kw>IsNumeric</kw>
+			<kw>IsObject</kw>
+			<kw>Join</kw>
+			<kw>LBound</kw>
+			<kw>LCase</kw>
+			<kw>LTrim</kw>
+			<kw>Left</kw>
+			<kw>Len</kw>
+			<kw>Let</kw>
+			<kw>LoadPicture</kw>
+			<kw>Log</kw>
+			<kw>Math</kw>
+			<kw>Maths</kw>
+			<kw>Mid</kw>
+			<kw>Minute</kw>
+			<kw>Month</kw>
+			<kw>MonthName</kw>
+			<kw>MsgBox</kw>
+			<kw>Now</kw>
+			<kw>Null</kw>
+			<kw>Oct</kw>
+			<kw>RGB</kw>
+			<kw>RTrim</kw>
+			<kw>Raise</kw>
+			<kw>Randomize</kw>
+			<kw>Replace</kw>
+			<kw>Right</kw>
+			<kw>Rnd</kw>
+			<kw>Round</kw>
+			<kw>ScriptEngine</kw>
+			<kw>ScriptEngineBuildVersion</kw>
+			<kw>ScriptEngineMajorVersion</kw>
+			<kw>ScriptEngineMinorVersion</kw>
+			<kw>Second</kw>
+			<kw>SetLocale</kw>
+			<kw>Sgn</kw>
+			<kw>Sin</kw>
+			<kw>Space</kw>
+			<kw>Split</kw>
+			<kw>Sqr</kw>
+			<kw>StrComp</kw>
+			<kw>StrReverse</kw>
+			<kw>Tan</kw>
+			<kw>Test</kw>
+			<kw>Time</kw>
+			<kw>TimeSerial</kw>
+			<kw>TimeValue</kw>
+			<kw>Timer</kw>
+			<kw>Trim</kw>
+			<kw>TypeName</kw>
+			<kw>UBound</kw>
+			<kw>UCase</kw>
+			<kw>Unescape</kw>
+			<kw>VarType</kw>
+			<kw>Weekday</kw>
+			<kw>WeekdayName</kw>
+			<kw>Wend</kw>
+			<kw>Write</kw>
+			<kw>WriteLine</kw>
+			<kw>Year</kw>
+		</keywordlist>
+		<!-- JavaScript keywords -->
+		<keywordlist id="kwjavascript-statements">
+			<kw>break</kw>
+			<kw>case</kw>
+			<kw>catch</kw>
+			<kw>const</kw>
+			<kw>continue</kw>
+			<kw>debugger</kw>
+			<kw>default</kw>
+			<kw>delete</kw>
+			<kw>do</kw>
+			<kw>each</kw>
+			<kw>else</kw>
+			<kw>export</kw>
+			<kw>false</kw>
+			<kw>for</kw>
+			<kw>function</kw>
+			<kw>get</kw>
+			<kw>if</kw>
+			<kw>in</kw>
+			<kw>instanceof</kw>
+			<kw>let</kw>
+			<kw>new</kw>
+			<kw>null</kw>
+			<kw>return</kw>
+			<kw>set</kw>
+			<kw>switch</kw>
+			<kw>this</kw>
+			<kw>throw</kw>
+			<kw>true</kw>
+			<kw>try</kw>
+			<kw>typeof</kw>
+			<kw>var</kw>
+			<kw>void</kw>
+			<kw>while</kw>
+			<kw>with</kw>
+			<kw>yield</kw>
+		</keywordlist>
+		<!-- JavaScript function keywords -->
+		<keywordlist id="kwjavascript-functions">
+			<kw>arguments</kw>
+			<kw>decodeURI</kw>
+			<kw>decodeURIComponent</kw>
+			<kw>encodeURI</kw>
+			<kw>encodeURIComponent</kw>
+			<kw>eval</kw>
+			<kw>isFinite</kw>
+			<kw>isNaN</kw>
+			<kw>parseFloat</kw>
+			<kw>parseInt</kw>
+		</keywordlist>
+		<!-- JavaScript object keywords -->
+		<keywordlist id="kwjavascript-objects">
+			<kw>ActiveXObject</kw>
+			<kw>Array</kw>
+			<kw>Boolean</kw>
+			<kw>Date</kw>
+			<kw>Debug</kw>
+			<kw>Enumerator</kw>
+			<kw>Error</kw>
+			<kw>EvalError</kw>
+			<kw>Function</kw>
+			<kw>Global</kw>
+			<kw>Math</kw>
+			<kw>Number</kw>
+			<kw>Object</kw>
+			<kw>RangeError</kw>
+			<kw>ReferenceError</kw>
+			<kw>RegExp</kw>
+			<kw>String</kw>
+			<kw>SyntaxError</kw>
+			<kw>TypeError</kw>
+			<kw>URIError</kw>
+			<kw>VBArray</kw>
+		</keywordlist>
+		<!-- JScript.NET keywords -->
+		<keywordlist id="kwjscriptnet-statements">
+			<kw>abstract</kw>
+			<kw>boolean</kw>
+			<kw>byte</kw>
+			<kw>char</kw>
+			<kw>class</kw>
+			<kw>decimal</kw>
+			<kw>double</kw>
+			<kw>enum</kw>
+			<kw>extends</kw>
+			<kw>final</kw>
+			<kw>finally</kw>
+			<kw>float</kw>
+			<kw>implements</kw>
+			<kw>import</kw>
+			<kw>int</kw>
+			<kw>interface</kw>
+			<kw>internal</kw>
+			<kw>long</kw>
+			<kw>package</kw>
+			<kw>private</kw>
+			<kw>protected</kw>
+			<kw>protected</kw>
+			<kw>public</kw>
+			<kw>sbyte</kw>
+			<kw>short</kw>
+			<kw>static</kw>
+			<kw>super</kw>
+			<kw>uint</kw>
+			<kw>ulong</kw>
+			<kw>ushort</kw>
+		</keywordlist>
+		<!-- J# keywords -->
+		<keywordlist id="kwjsharp">
+			<kw>abstract</kw>
+			<kw>boolean</kw>
+			<kw>break</kw>
+			<kw>byte</kw>
+			<kw>case</kw>
+			<kw>catch</kw>
+			<kw>char</kw>
+			<kw>class</kw>
+			<kw>const</kw>
+			<kw>continue</kw>
+			<kw>default</kw>
+			<kw>delegate</kw>
+			<kw>do</kw>
+			<kw>double</kw>
+			<kw>else</kw>
+			<kw>enum</kw>
+			<kw>extends</kw>
+			<kw>false</kw>
+			<kw>final</kw>
+			<kw>finally</kw>
+			<kw>float</kw>
+			<kw>for</kw>
+			<kw>if</kw>
+			<kw>implements</kw>
+			<kw>import</kw>
+			<kw>instanceof</kw>
+			<kw>int</kw>
+			<kw>interface</kw>
+			<kw>long</kw>
+			<kw>multicast</kw>
+			<kw>native</kw>
+			<kw>new</kw>
+			<kw>null</kw>
+			<kw>package</kw>
+			<kw>private</kw>
+			<kw>protected</kw>
+			<kw>public</kw>
+			<kw>return</kw>
+			<kw>short</kw>
+			<kw>static</kw>
+			<kw>strictfp</kw>
+			<kw>super</kw>
+			<kw>switch</kw>
+			<kw>synchronized</kw>
+			<kw>this</kw>
+			<kw>throw</kw>
+			<kw>throws</kw>
+			<kw>transient</kw>
+			<kw>true</kw>
+			<kw>try</kw>
+			<kw>ubyte</kw>
+			<kw>void</kw>
+			<kw>volatile</kw>
+			<kw>while</kw>
+		</keywordlist>
+		<!-- SQL keywords -->
+		<keywordlist id="kwsql-keywords">
+			<kw>ADD</kw>
+			<kw>ALL</kw>
+			<kw>ALTER</kw>
+			<kw>AND</kw>
+			<kw>ANY</kw>
+			<kw>AS</kw>
+			<kw>ASC</kw>
+			<kw>AUTHORIZATION</kw>
+			<kw>BACKUP</kw>
+			<kw>BEGIN</kw>
+			<kw>BETWEEN</kw>
+			<kw>BREAK</kw>
+			<kw>BROWSE</kw>
+			<kw>BULK</kw>
+			<kw>BY</kw>
+			<kw>CASCADE</kw>
+			<kw>CASE</kw>
+			<kw>CHECK</kw>
+			<kw>CHECKPOINT</kw>
+			<kw>CLOSE</kw>
+			<kw>CLUSTERED</kw>
+			<kw>COALESCE</kw>
+			<kw>COLLATE</kw>
+			<kw>COLUMN</kw>
+			<kw>COMMIT</kw>
+			<kw>COMPUTE</kw>
+			<kw>CONSTRAINT</kw>
+			<kw>CONTAINS</kw>
+			<kw>CONTAINSTABLE</kw>
+			<kw>CONTINUE</kw>
+			<kw>CONVERT</kw>
+			<kw>CREATE</kw>
+			<kw>CROSS</kw>
+			<kw>CURRENT</kw>
+			<kw>CURRENT_DATE</kw>
+			<kw>CURRENT_TIME</kw>
+			<kw>CURRENT_TIMESTAMP</kw>
+			<kw>CURRENT_USER</kw>
+			<kw>CURSOR</kw>
+			<kw>DATABASE</kw>
+			<kw>DBCC</kw>
+			<kw>DEALLOCATE</kw>
+			<kw>DECLARE</kw>
+			<kw>DEFAULT</kw>
+			<kw>DELETE</kw>
+			<kw>DENY</kw>
+			<kw>DESC</kw>
+			<kw>DISK</kw>
+			<kw>DISTINCT</kw>
+			<kw>DISTRIBUTED</kw>
+			<kw>DOUBLE</kw>
+			<kw>DROP</kw>
+			<kw>DUMMY</kw>
+			<kw>DUMP</kw>
+			<kw>ELSE</kw>
+			<kw>END</kw>
+			<kw>ERRLVL</kw>
+			<kw>ESCAPE</kw>
+			<kw>EXCEPT</kw>
+			<kw>EXEC</kw>
+			<kw>EXECUTE</kw>
+			<kw>EXISTS</kw>
+			<kw>EXIT</kw>
+			<kw>FETCH</kw>
+			<kw>FILE</kw>
+			<kw>FILLFACTOR</kw>
+			<kw>FOR</kw>
+			<kw>FOREIGN</kw>
+			<kw>FREETEXT</kw>
+			<kw>FREETEXTTABLE</kw>
+			<kw>FROM</kw>
+			<kw>FULL</kw>
+			<kw>FUNCTION</kw>
+			<kw>GOTO</kw>
+			<kw>GRANT</kw>
+			<kw>GROUP</kw>
+			<kw>HAVING</kw>
+			<kw>HOLDLOCK</kw>
+			<kw>IDENTITY</kw>
+			<kw>IDENTITY_INSERT</kw>
+			<kw>IDENTITYCOL</kw>
+			<kw>IF</kw>
+			<kw>IN</kw>
+			<kw>INDEX</kw>
+			<kw>INNER</kw>
+			<kw>INSERT</kw>
+			<kw>INTERSECT</kw>
+			<kw>INTO</kw>
+			<kw>IS</kw>
+			<kw>JOIN</kw>
+			<kw>KEY</kw>
+			<kw>KILL</kw>
+			<kw>LEFT</kw>
+			<kw>LIKE</kw>
+			<kw>LINENO</kw>
+			<kw>LOAD</kw>
+			<kw>NATIONAL</kw>
+			<kw>NOCHECK</kw>
+			<kw>NONCLUSTERED</kw>
+			<kw>NOT</kw>
+			<kw>NULL</kw>
+			<kw>NULLIF</kw>
+			<kw>OF</kw>
+			<kw>OFF</kw>
+			<kw>OFFSETS</kw>
+			<kw>ON</kw>
+			<kw>OPEN</kw>
+			<kw>OPENDATASOURCE</kw>
+			<kw>OPENQUERY</kw>
+			<kw>OPENROWSET</kw>
+			<kw>OPENXML</kw>
+			<kw>OPTION</kw>
+			<kw>OR</kw>
+			<kw>ORDER</kw>
+			<kw>OUTER</kw>
+			<kw>OVER</kw>
+			<kw>PERCENT</kw>
+			<kw>PLAN</kw>
+			<kw>PRECISION</kw>
+			<kw>PRIMARY</kw>
+			<kw>PRINT</kw>
+			<kw>PROC</kw>
+			<kw>PROCEDURE</kw>
+			<kw>PUBLIC</kw>
+			<kw>RAISERROR</kw>
+			<kw>READ</kw>
+			<kw>READTEXT</kw>
+			<kw>RECONFIGURE</kw>
+			<kw>REFERENCES</kw>
+			<kw>REPLICATION</kw>
+			<kw>RESTORE</kw>
+			<kw>RESTRICT</kw>
+			<kw>RETURN</kw>
+			<kw>REVOKE</kw>
+			<kw>RIGHT</kw>
+			<kw>ROLLBACK</kw>
+			<kw>ROWCOUNT</kw>
+			<kw>ROWGUIDCOL</kw>
+			<kw>RULE</kw>
+			<kw>SAVE</kw>
+			<kw>SCHEMA</kw>
+			<kw>SELECT</kw>
+			<kw>SESSION_USER</kw>
+			<kw>SET</kw>
+			<kw>SETUSER</kw>
+			<kw>SHUTDOWN</kw>
+			<kw>SOME</kw>
+			<kw>STATISTICS</kw>
+			<kw>SYSTEM_USER</kw>
+			<kw>TABLE</kw>
+			<kw>TEXTSIZE</kw>
+			<kw>THEN</kw>
+			<kw>TO</kw>
+			<kw>TOP</kw>
+			<kw>TRAN</kw>
+			<kw>TRANSACTION</kw>
+			<kw>TRIGGER</kw>
+			<kw>TRUNCATE</kw>
+			<kw>TSEQUAL</kw>
+			<kw>UNION</kw>
+			<kw>UNIQUE</kw>
+			<kw>UPDATE</kw>
+			<kw>UPDATETEXT</kw>
+			<kw>USE</kw>
+			<kw>USER</kw>
+			<kw>VALUES</kw>
+			<kw>VARYING</kw>
+			<kw>VIEW</kw>
+			<kw>WAITFOR</kw>
+			<kw>WHEN</kw>
+			<kw>WHERE</kw>
+			<kw>WHILE</kw>
+			<kw>WITH</kw>
+			<kw>WRITETEXT</kw>
+		</keywordlist>
+		<!-- Common PowerShell language keywords -->
+		<keywordlist id="kwpshelllangoo-keywords" use-word-boundary="false">
+			<kw>$true</kw>
+			<kw>$false</kw>
+			<kw>$_</kw>
+			<kw>$foreach</kw>
+			<kw>$host</kw>
+			<kw>$input</kw>
+			<kw>$error</kw>
+			<kw>$null</kw>
+			<kw>$OFS</kw>
+			<kw>$PSHOME</kw>
+			<kw>$switch</kw>
+			<kw>$this</kw>
+		</keywordlist>
+		<!-- Python keywords -->
+		<keywordlist id="kwpython-keywords">
+			<kw>and</kw>
+			<kw>as</kw>
+			<kw>assert</kw>
+			<kw>break</kw>
+			<kw>class</kw>
+			<kw>continue</kw>
+			<kw>def</kw>
+			<kw>del</kw>
+			<kw>elif</kw>
+			<kw>else</kw>
+			<kw>except</kw>
+			<kw>exec</kw>
+			<kw>finally</kw>
+			<kw>for</kw>
+			<kw>from</kw>
+			<kw>global</kw>
+			<kw>if</kw>
+			<kw>import</kw>
+			<kw>in</kw>
+			<kw>is</kw>
+			<kw>lambda</kw>
+			<kw>not</kw>
+			<kw>or</kw>
+			<kw>pass</kw>
+			<kw>print</kw>
+			<kw>raise</kw>
+			<kw>return</kw>
+			<kw>try</kw>
+			<kw>while</kw>
+			<kw>with</kw>
+			<kw>yield</kw>
+		</keywordlist>
+		<!-- F# language keywords -->
+		<keywordlist id="kwfslang-keywords">
+			<kw>abstract</kw>
+			<kw>and</kw>
+			<kw>as</kw>
+			<kw>asr</kw>
+			<kw>assert</kw>
+			<kw>atomic</kw>
+			<kw>base</kw>
+			<kw>begin</kw>
+			<kw>break</kw>
+			<kw>checked</kw>
+			<kw>class</kw>
+			<kw>component</kw>
+			<kw>const</kw>
+			<kw>constraint</kw>
+			<kw>constructor</kw>
+			<kw>continue</kw>
+			<kw>default</kw>
+			<kw>delegate</kw>
+			<kw>do</kw>
+			<kw>done</kw>
+			<kw>downcast</kw>
+			<kw>downto</kw>
+			<kw>eager</kw>
+			<kw>elif</kw>
+			<kw>else</kw>
+			<kw>end</kw>
+			<kw>event</kw>
+			<kw>exception</kw>
+			<kw>extern</kw>
+			<kw>external</kw>
+			<kw>false</kw>
+			<kw>finally</kw>
+			<kw>fixed</kw>
+			<kw>for</kw>
+			<kw>fori</kw>
+			<kw>fun</kw>
+			<kw>function</kw>
+			<kw>functor</kw>
+			<kw>global</kw>
+			<kw>if</kw>
+			<kw>in</kw>
+			<kw>include</kw>
+			<kw>inherit</kw>
+			<kw>inline</kw>
+			<kw>interface</kw>
+			<kw>internal</kw>
+			<kw>land</kw>
+			<kw>lazy</kw>
+			<kw>let</kw>
+			<kw>lor</kw>
+			<kw>lsl</kw>
+			<kw>lsr</kw>
+			<kw>lxor</kw>
+			<kw>match</kw>
+			<kw>member</kw>
+			<kw>method</kw>
+			<kw>mixin</kw>
+			<kw>mod</kw>
+			<kw>module</kw>
+			<kw>mutable</kw>
+			<kw>namespace</kw>
+			<kw>new</kw>
+			<kw>null</kw>
+			<kw>object</kw>
+			<kw>of</kw>
+			<kw>open</kw>
+			<kw>or</kw>
+			<kw>override</kw>
+			<kw>parallel</kw>
+			<kw>params</kw>
+			<kw>private</kw>
+			<kw>process</kw>
+			<kw>protected</kw>
+			<kw>public</kw>
+			<kw>pure</kw>
+			<kw>rec</kw>
+			<kw>return</kw>
+			<kw>sealed</kw>
+			<kw>sig</kw>
+			<kw>static</kw>
+			<kw>struct</kw>
+			<kw>tailcall</kw>
+			<kw>then</kw>
+			<kw>to</kw>
+			<kw>trait</kw>
+			<kw>true</kw>
+			<kw>try</kw>
+			<kw>type</kw>
+			<kw>upcast</kw>
+			<kw>use</kw>
+			<kw>val</kw>
+			<kw>virtual</kw>
+			<kw>void</kw>
+			<kw>volatile</kw>
+			<kw>when</kw>
+			<kw>while</kw>
+			<kw>with</kw>
+			<kw>yield</kw>
+		</keywordlist>
+		<!-- MS-DOS batch file keywords -->
+		<keywordlist id="kwbatch-keywords">
+			<kw>ASSIGN</kw>
+			<kw>ATTRIB</kw>
+			<kw>CALL</kw>
+			<kw>CD</kw>
+			<kw>CHDIR</kw>
+			<kw>CHOICE</kw>
+			<kw>CLS</kw>
+			<kw>COM1</kw>
+			<kw>COMMAND</kw>
+			<kw>COMP</kw>
+			<kw>CON</kw>
+			<kw>COPY</kw>
+			<kw>DEL</kw>
+			<kw>DELTREE</kw>
+			<kw>DIR</kw>
+			<kw>DO</kw>
+			<kw>ENDLOCAL</kw>
+			<kw>ERASE</kw>
+			<kw>ERRORLEVEL</kw>
+			<kw>EXIST</kw>
+			<kw>EXIT</kw>
+			<kw>FC</kw>
+			<kw>FIND</kw>
+			<kw>FOR</kw>
+			<kw>GOTO</kw>
+			<kw>IF</kw>
+			<kw>IN</kw>
+			<kw>LPT1</kw>
+			<kw>MD</kw>
+			<kw>MKDIR</kw>
+			<kw>MORE</kw>
+			<kw>MOVE</kw>
+			<kw>NOT</kw>
+			<kw>NUL</kw>
+			<kw>OFF</kw>
+			<kw>PATH</kw>
+			<kw>PAUSE</kw>
+			<kw>PRN</kw>
+			<kw>RD</kw>
+			<kw>REN</kw>
+			<kw>RENAME</kw>
+			<kw>RMDIR</kw>
+			<kw>SGN</kw>
+			<kw>SHIFT</kw>
+			<kw>SORT</kw>
+			<kw>TIME</kw>
+			<kw>TYPE</kw>
+			<kw>XCOPY</kw>
+		</keywordlist>
+	</keywordlists>
+	<!-- Languages syntax specification -->
+	<languages>
+		<!-- C language specification -->
+		<language id="c" tabSize="4" name="C">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- /* block of comment */ -->
+					<detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- preprocessor (#XXXX) -->
+					<regexp id="preprocessor" attribute="preprocessor" context="code" expression="#\w+" />
+					<!-- <include.file> -->
+					<regexp id="include" attribute="literal" context="code" expression="&lt;\w+(\.\w*)*&gt;" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- keyword C-like -->
+					<keyword attribute="keyword" context="code" family="kwclang-keywords" />
+					<!-- keyword C -->
+					<keyword attribute="keyword" context="code" family="kwc-keywords" />
+				</context>
+				<!-- block comment /* ... */ -->
+				<context id="blockcomment" attribute="blockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1="/" />
+				</context>
+			</contexts>
+		</language>
+		<!-- C++ language specification -->
+		<language id="cpp" tabSize="4" name="C++">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- /* block of comment */ -->
+					<detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" />
+					<!-- // line of comment -->
+					<detect2chars attribute="hidden" context="linecomment" char="/" char1="/" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- preprocessor (#XXXX) -->
+					<regexp id="preprocessor" attribute="preprocessor" context="code" expression="#\w+" />
+					<!-- <include.file> -->
+					<regexp id="include" attribute="literal" context="code" expression="&lt;\w+(\.\w*)*&gt;(?![\%\^\*])" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- keyword C-like -->
+					<keyword attribute="keyword" context="code" family="kwclang-keywords" />
+					<!-- keyword C++-like -->
+					<keyword attribute="keyword" context="code" family="kwclangoo-keywords" />
+					<!-- keyword C -->
+					<keyword attribute="keyword" context="code" family="kwc-keywords" />
+					<!-- keyword C++ -->
+					<keyword attribute="keyword" context="code" family="kwcpp-keywords" />
+					<!-- keyword stl -->
+					<keyword attribute="keyword" context="code" family="kwcpp-stl" />
+					<!-- keyword Managed C++ -->
+					<keyword attribute="keyword" context="code" family="kwcpp-managed" />
+				</context>
+				<!-- block comment /* ... */ -->
+				<context id="blockcomment" attribute="blockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1="/" />
+				</context>
+				<!-- line comment // ... -->
+				<context id="linecomment" attribute="cpp-linecomment">
+					<!-- finish line of comment, start block -->
+					<!-- detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" / -->
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<!-- C# language specification -->
+		<language id="cs" tabSize="4" name="C#">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- /* block of comment */ -->
+					<detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" />
+					<!-- // line of comment -->
+					<detect2chars attribute="hidden" context="linecomment" char="/" char1="/" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(@&quot;(.|[\r\n])*?&quot;|&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- preprocessor (#XXXX) -->
+					<regexp id="preprocessor" attribute="preprocessor" context="code" expression="#\w+" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- keyword C-like -->
+					<keyword attribute="keyword" context="code" family="kwclang-keywords" />
+					<!-- keyword C++-like -->
+					<keyword attribute="keyword" context="code" family="kwclangoo-keywords" />
+					<!-- keyword C# -->
+					<keyword attribute="keyword" context="code" family="kwcs-keywords" />
+				</context>
+				<!-- block comment /* ... */ -->
+				<context id="blockcomment" attribute="blockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1="/" />
+				</context>
+				<!-- line comment // ... -->
+				<context id="linecomment" attribute="cpp-linecomment">
+					<!-- finish line of comment, start block -->
+					<!-- detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" / -->
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<!-- F# language specification -->
+		<language id="fs" tabSize="4" name="F#">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- (* block of comment *) -->
+					<detect2chars attribute="hidden" context="blockcomment" char="(" char1="*" />
+					<!-- // line of comment -->
+					<detect2chars attribute="hidden" context="linecomment" char="/" char1="/" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(@&quot;(.|[\r\n])*?&quot;|&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- preprocessor (#XXXX) -->
+					<regexp id="preprocessor" attribute="preprocessor" context="code" expression="#\w+" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- keyword F# -->
+					<keyword attribute="keyword" context="code" family="kwfslang-keywords" />
+				</context>
+				<!-- block comment (* ... *) -->
+				<context id="blockcomment" attribute="fsblockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1=")" />
+				</context>
+				<!-- line comment // ... -->
+				<context id="linecomment" attribute="cpp-linecomment">
+					<!-- finish line of comment, start block -->
+					<!-- detect2chars attribute="hidden" context="blockcomment" char="(" char1="*" / -->
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<!-- VB.NET -->
+		<language id="vbnet" not-case-sensitive="yes" tabSize="4" name="VB.NET">
+			<contexts default="code">
+				<!-- Code context -->
+				<context id="code" attribute="code">
+					<!-- Single line of comment -->
+					<regexp id="vb-comment" attribute="comment" context="code" expression="(?&lt;=\W|^)('.*?|Rem(\t| ).*?|Rem)([\r\n]{1,2}|$)" />
+					<!-- literal -->
+					<regexp id="literal" attribute="literal" context="code" expression="&quot;(.|&quot;&quot;)*?&quot;" />
+					<!-- preprocessor (#XXXX) -->
+					<regexp id="preprocessor" attribute="preprocessor" context="code" expression="#\w+(\s*(if|region))?" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="&amp;[h][0-9a-f]*&amp;?|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- Keywords -->
+					<keyword attribute="keyword" context="code" family="kwvblang-keywords" />
+					<!-- Keywords -->
+					<keyword attribute="keyword" context="code" family="kwvbnet-keywords" />
+				</context>
+			</contexts>
+		</language>
+		<!-- VB Script -->
+		<language id="vbscript" not-case-sensitive="yes" tabSize="4" name="VBScript">
+			<contexts default="code">
+				<!-- Code context -->
+				<context id="code" attribute="code">
+					<!-- Single line of comment -->
+					<regexp id="vb-comment" attribute="comment" context="code" expression="(?&lt;=\W|^)('.*?|Rem(\t| ).*?|Rem)([\r\n]{1,2}|$)" />
+					<!-- literal -->
+					<regexp id="literal" attribute="literal" context="code" expression="&quot;(.|&quot;&quot;)*?&quot;" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="&amp;[h][0-9a-f]*&amp;?|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- Keywords -->
+					<keyword attribute="keyword" context="code" family="kwvblang-keywords" />
+					<!-- Keywords -->
+					<keyword attribute="keyword" context="code" family="kwvbscript-statements" />
+				</context>
+			</contexts>
+		</language>
+		<!-- JavaScript-->
+		<language id="javascript" tabSize="4" name="JavaScript">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- /* block of comment */ -->
+					<detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" />
+					<!-- // line of comment -->
+					<detect2chars attribute="hidden" context="linecomment" char="/" char1="/" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- regex literal -->
+					<regexp id="reliteral" attribute="literal" context="code" expression="/(\\/|[^/\r\n])+/[gim]*" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- statements -->
+					<keyword attribute="keyword" context="code" family="kwjavascript-statements" />
+					<!-- functions -->
+					<keyword attribute="keyword" context="code" family="kwjavascript-functions" />
+					<!-- objects -->
+					<keyword attribute="keyword" context="code" family="kwjavascript-objects" />
+				</context>
+				<!-- block comment /* ... */ -->
+				<context id="blockcomment" attribute="blockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1="/" />
+				</context>
+				<!-- line comment // ... -->
+				<context id="linecomment" attribute="cpp-linecomment">
+					<!-- finish line of comment, start block -->
+					<!-- detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" / -->
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<language id="jscriptnet" tabSize="4" name="JScript.NET">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- /* block of comment */ -->
+					<detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" />
+					<!-- // line of comment -->
+					<detect2chars attribute="hidden" context="linecomment" char="/" char1="/" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- regex literal -->
+					<regexp id="reliteral" attribute="literal" context="code" expression="/(\\/|[^/\r\n])+/[gim]*" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- statements -->
+					<keyword attribute="keyword" context="code" family="kwjavascript-statements" />
+					<!-- functions -->
+					<keyword attribute="keyword" context="code" family="kwjavascript-functions" />
+					<!-- objects -->
+					<keyword attribute="keyword" context="code" family="kwjavascript-objects" />
+					<!-- JScript.NET statements -->
+					<keyword attribute="keyword" context="code" family="kwjscriptnet-statements" />
+				</context>
+				<!-- block comment /* ... */ -->
+				<context id="blockcomment" attribute="blockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1="/" />
+				</context>
+				<!-- line comment // ... -->
+				<context id="linecomment" attribute="cpp-linecomment">
+					<!-- finish line of comment, start block -->
+					<!-- detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" / -->
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<!-- J# language specification -->
+		<language id="jsharp" tabSize="4" name="J#">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- /* block of comment */ -->
+					<detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" />
+					<!-- // line of comment -->
+					<detect2chars attribute="hidden" context="linecomment" char="/" char1="/" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- preprocessor (#XXXX) -->
+					<regexp id="preprocessor" attribute="preprocessor" context="code" expression="#\w+" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- keyword J# -->
+					<keyword attribute="keyword" context="code" family="kwjsharp" />
+				</context>
+				<!-- block comment /* ... */ -->
+				<context id="blockcomment" attribute="blockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1="/" />
+				</context>
+				<!-- line comment // ... -->
+				<context id="linecomment" attribute="cpp-linecomment">
+					<!-- finish line of comment, start block -->
+					<!-- detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" / -->
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<!-- XML - Catch-all for any XML type -->
+		<language id="xml" tabSize="2" name="XML">
+			<contexts default="value">
+				<!-- Value context -->
+				<context id="value" attribute="xml-value">
+					<!-- Comment -->
+					<regexp id="rx-xml-comment" attribute="xml-comment" context="value" expression="&lt;!--(.|\n)*?--&gt;" />
+					<!-- cdata -->
+					<regexp id="rx-hidden" attribute="hidden" context="cdata" expression="&lt;!\[CDATA\[" />
+					<!-- A doctype of some sort-->
+					<regexp id="rx-doctype" attribute="xml-bracket" context="doctype" expression="&lt;!" />
+					<!-- Inline script opening element -->
+					<regexp id="rx-inline-open" attribute="xml-bracket-inline" context="value" expression="&lt;%" />
+					<!-- Inline script closing element -->
+					<regexp id="rx-inline-close" attribute="xml-bracket-inline" context="value" expression="%&gt;" />
+					<!-- closing element -->
+					<regexp id="rx-close-elem" attribute="xml-bracket" context="closing-element" expression="&lt;/" />
+					<!-- opening element -->
+					<regexp id="rx-open-elem" attribute="xml-bracket" context="opening-element" expression="&lt;\?{0,1}" />
+					<!-- Leftover end bracket from doctype -->
+					<regexp id="rx-end-bracket" attribute="xml-bracket" context="value" expression="&gt;" />
+				</context>
+				<!-- cdata tag -->
+				<context id="cdata" attribute="xml-cdata">
+					<regexp id="rx-hidden" attribute="hidden" context="value" expression="\]\]&gt;" />
+				</context>
+				<!-- A doctype of some sort -->
+				<context id="doctype" attribute="xml-code">
+					<regexp id="rx-doc-bracket" attribute="xml-bracket" context="value" expression="&gt;" />
+					<!-- Comment -->
+					<regexp id="rx-doc-comment" attribute="xml-comment" context="doctype" expression="&lt;!--(.|\n)*?--&gt;" />
+					<!-- A quoted string or attribute name -->
+					<regexp id="rx-doc-quote" attribute="xml-attribute-value" context="doctype" expression="(&quot;(.|[\r\n])*?&quot;|&apos;(.|[\r\n])*?&apos;|\b(\w|-|\.)+\b)" />
+					<!-- A doctype of some sort-->
+					<regexp id="rx-doc-nested" attribute="xml-bracket" context="doctype" expression="&lt;!" />
+				</context>
+				<!-- opening element context -->
+				<context id="opening-element" attribute="xml-code">
+					<!-- find tag... -->
+					<regexp id="rx-attr" attribute="xml-tag" context="element-attributes" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+				</context>
+				<!-- closing element -->
+				<context id="closing-element" attribute="xml-code">
+					<regexp id="rx-closing-elem" attribute="xml-tag" context="closing-element" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+					<regexp id="rx-value" attribute="xml-bracket" context="value" expression="(\?|/){0,1}&gt;" />
+				</context>
+				<!-- attributes group -->
+				<context id="element-attributes" attribute="xml-code">
+					<!-- Find end of element -->
+					<regexp id="rx-value" attribute="xml-bracket" context="value" expression="(\?|/){0,1}&gt;" />
+					<!-- Find attributes -->
+					<regexp id="rx-attr-name" attribute="xml-attribute-name" context="attribute-name" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+					<!-- This is here in case there's an attribute without a value followed by one with a value.  Things
+							 get a bit complicated and this attempts to keep the processing in sync. -->
+					<regexp id="rx-elem-equal" attribute="xml-attribute-equal" context="attribute-name" expression="=" />
+				</context>
+				<!-- attribute name -->
+				<context id="attribute-name" attribute="xml-code">
+					<regexp id="rx-elem-attrs" attribute="xml-attribute-value" context="element-attributes" expression="(&quot;(.|[\r\n])*?&quot;|&apos;(.|[\r\n])*?&apos;)" />
+					<!-- This could be an attribute value without quotes or it could be another attribute name if the last
+							 one had no value.  We'll color it as if it is an attribute name. -->
+					<regexp id="rx-elem-attr-name" attribute="xml-attribute-name" context="element-attributes" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+					<!-- This must come after the conditions above as an equal sign can appear in quoted strings -->
+					<regexp id="rx-elem-equal" attribute="xml-attribute-equal" context="attribute-name" expression="=" />
+					<!-- End of element.  This can happen if there's an attribute name with no value. -->
+					<regexp id="rx-value" attribute="xml-bracket" context="value" expression="(\?|/){0,1}&gt;" />
+				</context>
+			</contexts>
+		</language>
+		<!-- XAML - Extensible Application Markup Language (WPF and things like it) -->
+		<language id="xaml" tabSize="2" name="XAML">
+			<contexts default="value">
+				<!-- Value context -->
+				<context id="value" attribute="xml-value">
+					<!-- Comment -->
+					<regexp id="rx-xml-comment" attribute="xml-comment" context="value" expression="&lt;!--(.|\n)*?--&gt;" />
+					<!-- cdata -->
+					<regexp id="rx-hidden" attribute="hidden" context="cdata" expression="&lt;!\[CDATA\[" />
+					<!-- A doctype of some sort-->
+					<regexp id="rx-doctype" attribute="xml-bracket" context="doctype" expression="&lt;!" />
+					<!-- closing element -->
+					<regexp id="rx-close-elem" attribute="xml-bracket" context="closing-element" expression="&lt;/" />
+					<!-- opening element -->
+					<regexp id="rx-open-elem" attribute="xml-bracket" context="opening-element" expression="&lt;\?{0,1}" />
+					<!-- Leftover end bracket from doctype -->
+					<regexp id="rx-end-bracket" attribute="xml-bracket" context="value" expression="&gt;" />
+				</context>
+				<!-- cdata tag -->
+				<context id="cdata" attribute="xml-cdata">
+					<regexp id="rx-hidden" attribute="hidden" context="value" expression="\]\]&gt;" />
+				</context>
+				<!-- A doctype of some sort -->
+				<context id="doctype" attribute="xml-code">
+					<regexp id="rx-doc-bracket" attribute="xml-bracket" context="value" expression="&gt;" />
+					<!-- Comment -->
+					<regexp id="rx-doc-comment" attribute="xml-comment" context="doctype" expression="&lt;!--(.|\n)*?--&gt;" />
+					<!-- A quoted string or attribute name -->
+					<regexp id="rx-doc-quote" attribute="xml-attribute-value" context="doctype" expression="(&quot;(.|[\r\n])*?&quot;|&apos;(.|[\r\n])*?&apos;|\b(\w|-|\.)+\b)" />
+					<!-- A doctype of some sort-->
+					<regexp id="rx-doc-nested" attribute="xml-bracket" context="doctype" expression="&lt;!" />
+				</context>
+				<!-- opening element context -->
+				<context id="opening-element" attribute="xml-code">
+					<!-- find tag... -->
+					<regexp id="rx-attr" attribute="xml-tag" context="element-attributes" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+				</context>
+				<!-- closing element -->
+				<context id="closing-element" attribute="xml-code">
+					<regexp id="rx-closing-elem" attribute="xml-tag" context="closing-element" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+					<regexp id="rx-value" attribute="xml-bracket" context="value" expression="(\?|/){0,1}&gt;" />
+				</context>
+				<!-- attributes group -->
+				<context id="element-attributes" attribute="xml-code">
+					<!-- find end of element -->
+					<regexp id="rx-value" attribute="xml-bracket" context="value" expression="(\?|/){0,1}&gt;" />
+					<!-- find attributes... -->
+					<regexp id="rx-attr-name" attribute="xml-attribute-name" context="attribute-name" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+				</context>
+				<!-- attribute name -->
+				<context id="attribute-name" attribute="hidden">
+					<regexp id="rx-elem-attrs" attribute="xml-attribute-value" context="element-attributes" expression="(&quot;(.|[\r\n])*?&quot;|&apos;(.|[\r\n])*?&apos;|\b(\w|-|\.)+\b)" />
+					<!-- This must come last as equals can appear in quoted strings -->
+					<regexp id="rx-elem-equal" attribute="xml-attribute-equal" context="attribute-name" expression="=" />
+				</context>
+			</contexts>
+		</language>
+		<!-- AXML - Android Extensible Markup Language.  Like XAML but Android-specific and different enough it gets
+				 its own set of rules to allow for a different code block title. -->
+		<language id="axml" tabSize="2" name="AXML">
+			<contexts default="value">
+				<!-- Value context -->
+				<context id="value" attribute="xml-value">
+					<!-- Comment -->
+					<regexp id="rx-xml-comment" attribute="xml-comment" context="value" expression="&lt;!--(.|\n)*?--&gt;" />
+					<!-- cdata -->
+					<regexp id="rx-hidden" attribute="hidden" context="cdata" expression="&lt;!\[CDATA\[" />
+					<!-- A doctype of some sort-->
+					<regexp id="rx-doctype" attribute="xml-bracket" context="doctype" expression="&lt;!" />
+					<!-- closing element -->
+					<regexp id="rx-close-elem" attribute="xml-bracket" context="closing-element" expression="&lt;/" />
+					<!-- opening element -->
+					<regexp id="rx-open-elem" attribute="xml-bracket" context="opening-element" expression="&lt;\?{0,1}" />
+					<!-- Leftover end bracket from doctype -->
+					<regexp id="rx-end-bracket" attribute="xml-bracket" context="value" expression="&gt;" />
+				</context>
+				<!-- cdata tag -->
+				<context id="cdata" attribute="xml-cdata">
+					<regexp id="rx-hidden" attribute="hidden" context="value" expression="\]\]&gt;" />
+				</context>
+				<!-- A doctype of some sort -->
+				<context id="doctype" attribute="xml-code">
+					<regexp id="rx-doc-bracket" attribute="xml-bracket" context="value" expression="&gt;" />
+					<!-- Comment -->
+					<regexp id="rx-doc-comment" attribute="xml-comment" context="doctype" expression="&lt;!--(.|\n)*?--&gt;" />
+					<!-- A quoted string or attribute name -->
+					<regexp id="rx-doc-quote" attribute="xml-attribute-value" context="doctype" expression="(&quot;(.|[\r\n])*?&quot;|&apos;(.|[\r\n])*?&apos;|\b(\w|-|\.)+\b)" />
+					<!-- A doctype of some sort-->
+					<regexp id="rx-doc-nested" attribute="xml-bracket" context="doctype" expression="&lt;!" />
+				</context>
+				<!-- opening element context -->
+				<context id="opening-element" attribute="xml-code">
+					<!-- find tag... -->
+					<regexp id="rx-attr" attribute="xml-tag" context="element-attributes" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+				</context>
+				<!-- closing element -->
+				<context id="closing-element" attribute="xml-code">
+					<regexp id="rx-closing-elem" attribute="xml-tag" context="closing-element" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+					<regexp id="rx-value" attribute="xml-bracket" context="value" expression="(\?|/){0,1}&gt;" />
+				</context>
+				<!-- attributes group -->
+				<context id="element-attributes" attribute="xml-code">
+					<!-- find end of element -->
+					<regexp id="rx-value" attribute="xml-bracket" context="value" expression="(\?|/){0,1}&gt;" />
+					<!-- find attributes... -->
+					<regexp id="rx-attr-name" attribute="xml-attribute-name" context="attribute-name" expression="\b((\w|-|\.)+\:){0,1}(\w|-|\.)+\b" />
+				</context>
+				<!-- attribute name -->
+				<context id="attribute-name" attribute="hidden">
+					<regexp id="rx-elem-attrs" attribute="xml-attribute-value" context="element-attributes" expression="(&quot;(.|[\r\n])*?&quot;|&apos;(.|[\r\n])*?&apos;|\b(\w|-|\.)+\b)" />
+					<!-- This must come last as equals can appear in quoted strings -->
+					<regexp id="rx-elem-equal" attribute="xml-attribute-equal" context="attribute-name" expression="=" />
+				</context>
+			</contexts>
+		</language>
+		<!-- SQL language specification -->
+		<language id="sql" not-case-sensitive="yes" tabSize="8" name="SQL">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- /* block of comment */ -->
+					<detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" />
+					<!-- (two dashes) line of comment -->
+					<detect2chars attribute="hidden" context="linecomment" char="-" char1="-" />
+					<!-- ' ' literals -->
+					<regexp id="literal" attribute="literal" context="code" expression="'(.|\\'|\\\r\n)*?((\\\\)+'|[^\\]{1}')" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- keyword SQL -->
+					<keyword attribute="keyword" context="code" family="kwsql-keywords"/>
+				</context>
+				<!-- block comment /* ... */ -->
+				<context id="blockcomment" attribute="blockcomment">
+					<!-- finish line of comment, start block -->
+					<detect2chars attribute="hidden" context="code" char="*" char1="/" />
+				</context>
+				<!-- line comment (two dashes) ... -->
+				<context id="linecomment" attribute="sql-linecomment">
+					<!-- finish line of comment, start block -->
+					<!-- detect2chars attribute="hidden" context="blockcomment" char="/" char1="*" / -->
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<!-- PowerShell language specification -->
+		<language id="pshell" tabSize="4" name="PowerShell">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(@&quot;(.|[\r\n])*?&quot;|&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- line comment -->
+					<regexp id="pshellComment" attribute="comment" context="code" expression="#[^\r\n]*" />
+					<!-- namespace -->
+					<regexp id="namespace" attribute="namespace" context="code" expression="\[[^\r\n]+\]" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- pshell cmdlets -->
+					<regexp id="pshellCmdlet" attribute="pshell-cmdlet" context="code" expression="(\b\w+-\b\w+)" />
+					<!-- keyword PowerShell -->
+					<keyword attribute="keyword" context="code" family="kwpshelllangoo-keywords" />
+					<!-- keyword C-like -->
+					<keyword attribute="keyword" context="code" family="kwclang-keywords" />
+				</context>
+			</contexts>
+		</language>
+		<!-- Python language specification -->
+		<language id="python" tabSize="4" name="Python">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- basic source code context -->
+				<context id="code" attribute="code">
+					<!-- Single line of comment -->
+					<regexp id="python-comment" attribute="comment" context="code" expression="(?&lt;=\W|^)(#.*?)([\r\n]{1,2}|$)" />
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="(&quot;&quot;)|(@&quot;(.|[\r\n])*?&quot;|&quot;(.|\\&quot;|\\\r\n)*?((\\\\)+&quot;|[^\\]{1}&quot;))" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="(&apos;&apos;)|(&apos;(.|\\&apos;|\\\r\n)*?((\\\\)+&apos;|[^\\]{1}&apos;))" />
+					<!-- numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- keyword Python-like -->
+					<keyword attribute="keyword" context="code" family="kwpython-keywords" />
+				</context>
+				<!-- line comment // ... -->
+				<context id="linecomment" attribute="cpp-linecomment">
+					<!-- finish line of comment end of line -->
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+		<!-- MS-DOS batch script language specification -->
+		<language id="bat" not-case-sensitive="yes" tabSize="4" name="Batch Script">
+			<!-- Code contexts: default (most common) is code. -->
+			<contexts default="code">
+				<!-- Basic source code context -->
+				<context id="code" attribute="code">
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="code" expression="&quot;.*?&quot;" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="code" expression="&apos;.*?&apos;" />
+					<!-- Variable -->
+					<regexp id="variable" attribute="preprocessor" context="code" expression="%[A-Za-z0-9_(){}\[\]$*+\-#,;.@!?]+%|%%[A-Za-z0-9_(){}\[\]$*+\-#,;.@!?]+" />
+					<!-- Numbers -->
+					<regexp id="number" attribute="number" context="code" expression="0x[0-9a-fA-F]*|(((?&lt;=[^0-9])(\+|-))?)\b[0-9][0-9]*(\.[0-9]+)?" />
+					<!-- Whole line statements.  These look a bit odd if not handled as a whole line as it may colorize
+						   parts of the displayed text or the comment.  A similar thing can happen for SET as well. -->
+					<regexp id="comment-line" attribute="keyword" context="comment-line-statement" expression="REM|ECHO OFF|ECHO|::" />
+					<regexp id="kw-line" attribute="keyword" context="line-statement" expression="SETLOCAL|SET" />
+					<!-- Keyword batch script -->
+					<keyword attribute="keyword" context="code" family="kwbatch-keywords" />
+				</context>
+				<context id="comment-line-statement" attribute="comment">
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+				<!-- This isn't an XML attribute equal sign but it's got the appropriate color -->
+				<context id="line-statement" attribute="xml-attribute-equal">
+					<!-- " " literals -->
+					<regexp id="dqliteral" attribute="literal" context="line-statement" expression="&quot;.*?&quot;" />
+					<!-- ' ' literals -->
+					<regexp id="sqliteral" attribute="literal" context="line-statement" expression="&apos;.*?&apos;" />
+					<!-- Variable -->
+					<regexp id="variable" attribute="preprocessor" context="code" expression="%[A-Za-z0-9_(){}\[\]$*+\-#,;.@!?]+%|%%[A-Za-z0-9_(){}\[\]$*+\-#,;.@!?]+" />
+					<!-- End of line comment -->
+					<regexp id="endcomment" attribute="comment" context="code" expression="::.*$" />
+					<linecontinue attribute="hidden" context="code" />
+				</context>
+			</contexts>
+		</language>
+	</languages>
+</highlight>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..04251214420f420b3c55e53741664fb967feae3c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight.xsl
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
+
+<xsl:template match="code">
+<xsl:value-of select="text()" disable-output-escaping="yes" />
+</xsl:template>
+
+<xsl:template match="comment">
+<span class="highlight-comment"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="blockcomment">
+<span class="highlight-comment">/*<xsl:value-of select="text()" disable-output-escaping="yes" />*/</span>
+</xsl:template>
+
+<xsl:template match="fsblockcomment">
+<span class="highlight-comment">(*<xsl:value-of select="text()" disable-output-escaping="yes" />*)</span>
+</xsl:template>
+
+<xsl:template match="cpp-linecomment">
+<span class="highlight-comment">//<xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="sql-linecomment">
+<span class="highlight-comment">--<xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="pshell-cmdlet">
+<span class="highlight-pshell-cmdlet"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="namespace">
+<span class="highlight-namespace"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="literal">
+<span class="highlight-literal"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="number">
+<span class="highlight-number"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="keyword">
+<span class="highlight-keyword"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="preprocessor">
+<span class="highlight-preprocessor"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+</xsl:template>
+
+<xsl:template match="xml-value"><xsl:value-of select="text()" disable-output-escaping="yes" /></xsl:template>
+<xsl:template match="xml-tag"><span class="highlight-xml-tag"><xsl:value-of select="text()" disable-output-escaping="yes" /></span></xsl:template>
+<xsl:template match="xml-bracket"><span class="highlight-xml-bracket"><xsl:value-of select="text()" disable-output-escaping="yes" /></span></xsl:template>
+<xsl:template match="xml-bracket-inline"><span class="highlight-xml-bracket-inline"><xsl:value-of select="text()" disable-output-escaping="yes" /></span></xsl:template>
+<xsl:template match="xml-comment"><span class="highlight-xml-comment"><xsl:value-of select="text()" disable-output-escaping="yes"/></span></xsl:template>
+<xsl:template match="xml-cdata">
+	<span class="highlight-xml-bracket"><xsl:text>&lt;![CDATA[</xsl:text></span>
+	<span class="highlight-xml-cdata"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	<span class="highlight-xml-bracket"><xsl:text>]]&gt;</xsl:text></span>
+</xsl:template>
+<xsl:template match="xml-attribute-name"><span class="highlight-xml-attribute-name"><xsl:value-of select="text()" disable-output-escaping="yes" /></span></xsl:template>
+<xsl:template match="xml-attribute-equal"><span class="highlight-xml-attribute-equal"><xsl:value-of select="text()" disable-output-escaping="yes" /></span></xsl:template>
+<xsl:template match="xml-attribute-value"><span class="highlight-xml-attribute-value"><xsl:value-of select="text()" disable-output-escaping="yes" /></span></xsl:template>
+
+<xsl:template match="parsedcode">
+	<xsl:choose>
+		<xsl:when test="@in-box[.=0]">
+			<xsl:element name="span">
+				<xsl:attribute name="class">highlight-inline</xsl:attribute>
+				<xsl:apply-templates/>
+			</xsl:element>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:apply-templates/>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+<xsl:template match="/">
+	<xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_ac.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_ac.js
new file mode 100644
index 0000000000000000000000000000000000000000..da4805412c8f9db21ee56ac592beea75e9dca30b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_ac.js
@@ -0,0 +1,190 @@
+//=============================================================================
+// System  : Color Syntax Highlighter
+// File    : Highlight_ac.js
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 11/13/2007
+// Note    : Copyright 2006, Eric Woodruff, All rights reserved
+//
+// This contains the script to expand and collapse the regions in the
+// syntax highlighted code.
+//
+// SHFB: This version is only used in additional content HTML files for
+//       backward compatibility.
+//
+//=============================================================================
+
+// Expand/collapse a region
+function HighlightExpandCollapse(showId, hideId)
+{
+    var showSpan = document.getElementById(showId),
+        hideSpan = document.getElementById(hideId);
+
+    showSpan.style.display = "inline";
+    hideSpan.style.display = "none";
+}
+
+// Copy the code if Enter or Space is hit with the image focused
+function CopyColorizedCodeCheckKey(titleDiv, eventObj)
+{
+    if(eventObj != undefined && (eventObj.keyCode == 13 ||
+      eventObj.keyCode == 32))
+        CopyColorizedCode(titleDiv);
+}
+
+// Change the icon as the mouse moves in and out of the Copy Code link
+// There should be an image with the same name but an "_h" suffix just
+// before the extension.
+function CopyCodeChangeIcon(linkSpan)
+{
+    var image = linkSpan.firstChild.src;
+    var pos = image.lastIndexOf(".");
+
+    if(linkSpan.className == "highlight-copycode")
+    {
+        linkSpan.className = "highlight-copycode_h";
+        linkSpan.firstChild.src = image.substr(0, pos) + "_h" +
+            image.substr(pos);
+    }
+    else
+    {
+        linkSpan.className = "highlight-copycode";
+        linkSpan.firstChild.src = image.substr(0, pos - 2) + image.substr(pos);
+    }
+}
+
+// Copy the code from a colorized code block to the clipboard.
+function CopyColorizedCode(titleDiv)
+{
+    var preTag, idx, line, block, htmlLines, lines, codeText, hasLineNos,
+        hasRegions, clip, trans, copyObject, clipID;
+    var reLineNo = /^\s*\d{1,4}/;
+    var reRegion = /^\s*\d{1,4}\+.*?\d{1,4}-/;
+    var reRegionText = /^\+.*?\-/;
+
+    // Find the <pre> tag containing the code.  It should be in the next
+    // element or one of its children.
+    block = titleDiv.nextSibling;
+
+    while(block.nodeName == "#text")
+        block = block.nextSibling;
+
+    while(block.tagName != "PRE")
+    {
+        block = block.firstChild;
+
+        while(block.nodeName == "#text")
+            block = block.nextSibling;
+    }
+
+    if(block.innerText != undefined)
+        codeText = block.innerText;
+    else
+        codeText = block.textContent;
+
+    hasLineNos = block.innerHTML.indexOf("highlight-lineno");
+    hasRegions = block.innerHTML.indexOf("highlight-collapsebox");
+    htmlLines = block.innerHTML.split("\n");
+    lines = codeText.split("\n");
+
+    // Remove the line numbering and collapsible regions if present
+    if(hasLineNos != -1 || hasRegions != -1)
+    {
+        codeText = "";
+
+        for(idx = 0; idx < lines.length; idx++)
+        {
+            line = lines[idx];
+
+            if(hasRegions && reRegion.test(line))
+                line = line.replace(reRegion, "");
+            else
+            {
+                line = line.replace(reLineNo, "");
+
+                // Lines in expanded blocks have an extra space
+                if(htmlLines[idx].indexOf("highlight-expanded") != -1 ||
+                  htmlLines[idx].indexOf("highlight-endblock") != -1)
+                    line = line.substr(1);
+            }
+
+            if(hasRegions && reRegionText.test(line))
+                line = line.replace(reRegionText, "");
+
+            codeText += line;
+
+            // Not all browsers keep the line feed when split
+            if(line[line.length - 1] != "\n")
+                codeText += "\n";
+        }
+    }
+
+    // IE or FireFox/Netscape?
+    if(window.clipboardData)
+        window.clipboardData.setData("Text", codeText);
+    else
+        if(window.netscape)
+        {
+            // Give unrestricted access to browser APIs using XPConnect
+            try
+            {
+                netscape.security.PrivilegeManager.enablePrivilege(
+                    "UniversalXPConnect");
+            }
+            catch(e)
+            {
+                alert("Universal Connect was refused, cannot copy to " +
+                    "clipboard.  Go to about:config and set " +
+                    "signed.applets.codebase_principal_support to true to " +
+                    "enable clipboard support.");
+                return;
+            }
+
+            // Creates an instance of nsIClipboard
+            clip = Components.classes[
+                "@mozilla.org/widget/clipboard;1"].createInstance(
+                Components.interfaces.nsIClipboard);
+
+            // Creates an instance of nsITransferable
+            if(clip)
+                trans = Components.classes[
+                    "@mozilla.org/widget/transferable;1"].createInstance(
+                    Components.interfaces.nsITransferable);
+
+            if(!trans)
+            {
+                alert("Copy to Clipboard is not supported by this browser");
+                return;
+            }
+
+            // Register the data flavor
+            trans.addDataFlavor("text/unicode");
+
+            // Create object to hold the data
+            copyObject = new Object();
+
+            // Creates an instance of nsISupportsString
+            copyObject = Components.classes[
+                "@mozilla.org/supports-string;1"].createInstance(
+                Components.interfaces.nsISupportsString);
+
+            // Assign the data to be copied
+            copyObject.data = codeText;
+
+            // Add data objects to transferable
+            trans.setTransferData("text/unicode", copyObject,
+                codeText.length * 2);
+
+            clipID = Components.interfaces.nsIClipboard;
+
+            if(!clipID)
+            {
+                alert("Copy to Clipboard is not supported by this browser");
+                return;
+            }
+
+            // Transfer the data to the clipboard
+            clip.setData(trans, null, clipID.kGlobalClipboard);
+        }
+        else
+            alert("Copy to Clipboard is not supported by this browser");
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_flowDoc.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_flowDoc.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..d3db665e2aaf70fc202bb7071a12a7832dee8e28
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_flowDoc.xsl
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- This is used to convert the syntax elements to XAML flow document elements -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
+
+<xsl:template match="code">
+<xsl:value-of select="text()" disable-output-escaping="yes" />
+</xsl:template>
+
+<xsl:template match="comment">
+<Span Style="{{DynamicResource HighlightComment}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="blockcomment">
+<Span Style="{{DynamicResource HighlightComment}}">/*<xsl:value-of select="text()" disable-output-escaping="yes" />*/</Span>
+</xsl:template>
+
+<xsl:template match="fsblockcomment">
+<Span Style="{{DynamicResource HighlightComment}}">(*<xsl:value-of select="text()" disable-output-escaping="yes" />*)</Span>
+</xsl:template>
+
+<xsl:template match="cpp-linecomment">
+<Span Style="{{DynamicResource HighlightComment}}">//<xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="sql-linecomment">
+<Span Style="{{DynamicResource HighlightComment}}">--<xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="pshell-cmdlet">
+<Span Style="{{DynamicResource HighlightPowerShellCmdLet}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="namespace">
+<Span Style="{{DynamicResource HighlightNamespace}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="literal">
+<Span Style="{{DynamicResource HighlightLiteral}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="number">
+<Span Style="{{DynamicResource HighlightNumber}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="keyword">
+<Span Style="{{DynamicResource HighlightKeyword}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="preprocessor">
+<Span Style="{{DynamicResource HighlightPreprocessor}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+</xsl:template>
+
+<xsl:template match="xml-value"><xsl:value-of select="text()" disable-output-escaping="yes" /></xsl:template>
+<xsl:template match="xml-tag"><Span Style="{{DynamicResource HighlightXmlTag}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span></xsl:template>
+<xsl:template match="xml-bracket"><Span Style="{{DynamicResource HighlightXmlBracket}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span></xsl:template>
+<xsl:template match="xml-bracket-inline"><Span Style="{{DynamicResource HighlightXmlBracketInline}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span></xsl:template>
+<xsl:template match="xml-comment"><Span Style="{{DynamicResource HighlightXmlComment}}"><xsl:value-of select="text()" disable-output-escaping="yes"/></Span></xsl:template>
+<xsl:template match="xml-cdata">
+	<Span Style="{{DynamicResource HighlightXmlBracket}}"><xsl:text>&lt;![CDATA[</xsl:text></Span>
+	<Span Style="{{DynamicResource HighlightXmlCData}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span>
+	<Span Style="{{DynamicResource HighlightXmlBracket}}"><xsl:text>]]&gt;</xsl:text></Span>
+</xsl:template>
+<xsl:template match="xml-attribute-name"><Span Style="{{DynamicResource HighlightXmlAttributeName}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span></xsl:template>
+<xsl:template match="xml-attribute-equal"><Span Style="{{DynamicResource HighlightXmlAttributeEqual}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span></xsl:template>
+<xsl:template match="xml-attribute-value"><Span Style="{{DynamicResource HighlightXmlAttributeValue}}"><xsl:value-of select="text()" disable-output-escaping="yes" /></Span></xsl:template>
+
+<xsl:template match="/">
+	<xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_openxml.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_openxml.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..9620c82dafd1891f63d7eca918dcbbff233c34b9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Colorizer/highlight_openxml.xsl
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+                xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+>
+	<xsl:output encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
+
+	<!-- This is used to keep extra whitespace and line breaks intact -->
+	<xsl:template match="text()">
+		<w:r>
+			<!-- Keep this on the same line to prevent extra space from getting included -->
+			<w:t xml:space="preserve"><xsl:value-of select="." /></w:t>
+		</w:r>
+	</xsl:template>
+
+	<xsl:template match="code">
+		<w:r>
+			<w:t xml:space="preserve"><xsl:value-of select="text()" disable-output-escaping="yes" /></w:t>
+		</w:r>
+	</xsl:template>
+
+	<xsl:template match="comment">
+		<span class="Comment"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="blockcomment">
+		<span class="Comment">/*<xsl:value-of select="text()" disable-output-escaping="yes" />*/</span>
+	</xsl:template>
+
+	<xsl:template match="fsblockcomment">
+		<span class="Comment">(*<xsl:value-of select="text()" disable-output-escaping="yes" />*)</span>
+	</xsl:template>
+
+	<xsl:template match="cpp-linecomment">
+		<span class="Comment">//<xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="sql-linecomment">
+		<span class="Comment">--<xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="pshell-cmdlet">
+		<span class="PShellCmdlet"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="namespace">
+		<span class="Namespace"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="literal">
+		<span class="Literal"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="number">
+		<span class="Number"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="keyword">
+		<span class="Keyword"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="preprocessor">
+		<span class="Preprocessor"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="xml-value">
+		<w:r>
+			<w:t xml:space="preserve"><xsl:value-of select="text()" disable-output-escaping="yes" /></w:t>
+		</w:r>
+	</xsl:template>
+
+	<xsl:template match="xml-tag">
+		<span class="XmlTag"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="xml-bracket">
+		<span class="XmlBracket"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="xml-bracket-inline">
+		<span class="XmlBracketInline"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="xml-comment">
+		<span class="XmlComment"><xsl:value-of select="text()" disable-output-escaping="yes"/></span>
+	</xsl:template>
+
+	<xsl:template match="xml-cdata">
+		<span class="XmlBracket"><xsl:text>&lt;![CDATA[</xsl:text></span>
+		<span class="XmlCDATA"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+		<span class="XmlBracket"><xsl:text>]]&gt;</xsl:text></span>
+	</xsl:template>
+
+	<xsl:template match="xml-attribute-name">
+		<span class="XmlAttributeName"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="xml-attribute-equal">
+		<span class="XmlAttributeEqual"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="xml-attribute-value">
+		<span class="XmlAttributeValue"><xsl:value-of select="text()" disable-output-escaping="yes" /></span>
+	</xsl:template>
+
+	<xsl:template match="parsedcode">
+		<xsl:choose>
+			<xsl:when test="@in-box[.=0]">
+				<xsl:element name="span">
+					<xsl:attribute name="class">CodeInline</xsl:attribute>
+					<xsl:apply-templates/>
+				</xsl:element>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="/">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/ColorizerLibrary.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/ColorizerLibrary.dll
new file mode 100644
index 0000000000000000000000000000000000000000..03f2ca2386221cb872338ee913ec05b3fd03951f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/ColorizerLibrary.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/ColorizerLibrary.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/ColorizerLibrary.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d3f38d022b62765ce8c9d0063a5d66cff80d5da6
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/ColorizerLibrary.xml
@@ -0,0 +1,407 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>ColorizerLibrary</name>
+    </assembly>
+    <members>
+        <member name="T:ColorizerLibrary.CodeColorizer">
+            <summary>
+            Code colorizer provides a flexible solution for colorizing code
+            </summary>
+            <remarks>Original Author: Jonathan de Halleux, dehalleux@pelikhan.com, 2003.
+            <p/>Modified by Eric Woodruff (Eric@EWoodruff.us) 11/2006. The original Code Project article and code by
+            Jonathan can be found at:
+            <see href="http://www.codeproject.com/Articles/3767/Multiple-Language-Syntax-Highlighting-Part-2-C-Con"/>.</remarks>
+            <threadsafety>The <see cref="M:ColorizerLibrary.CodeColorizer.ProcessAndHighlightText(System.String)"/> and <see cref="M:ColorizerLibrary.CodeColorizer.ColorizePlainText(System.String,System.String,System.Boolean,System.Nullable{System.Int32})"/> methods are
+            thread safe.  All other public instance properties and methods are not guaranteed to be thread safe
+            and are intended for setting the defaults prior to colorizing code.</threadsafety>
+        </member>
+        <member name="T:ColorizerLibrary.CodeColorizer.CollapsibleRegion">
+            <summary>
+            This is used to track a collapsible region within the code block
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.CollapsibleRegion.LineNumber">
+            <summary>
+            The line number on which the region part occurs
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.CollapsibleRegion.NestingLevel">
+            <summary>
+            This returns the nesting level for the entry
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.CollapsibleRegion.RegionType">
+            <summary>
+            The region type
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.CollapsibleRegion.Description">
+            <summary>
+            The description for the collapsed text
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.CollapsibleRegion.IsStart">
+            <summary>
+            This returns true if this entry represents the start of a
+            region.
+            </summary>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.CollapsibleRegion.#ctor(System.Int32,System.Text.RegularExpressions.Match,System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="lineNumber">The line number</param>
+            <param name="match">The match</param>
+            <param name="nestingLevel">The nesting level</param>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.CollapsibleRegion.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Constructor.  This version assumes it's an #endif
+            </summary>
+            <param name="lineNumber">The line number</param>
+            <param name="nestingLevel">The nesting level</param>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.OutputFormat">
+            <summary>
+            This is used to specify the output format used by the <see cref="P:ColorizerLibrary.CodeColorizer.LanguageStyleFileName"/>
+            </summary>
+            <remarks>This is used to determine the supported options when colorizing plain text with the
+            <see cref="M:ColorizerLibrary.CodeColorizer.ColorizePlainText(System.String,System.String,System.Boolean,System.Nullable{System.Int32})"/> method.</remarks>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.LanguageSyntaxFileName">
+            <summary>
+            The syntax file name
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.LanguageStyleFileName">
+            <summary>
+            The style file name
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.NumberLines">
+            <summary>
+            This is used to set or get whether or not lines will be numbered in code blocks without a
+            <b>numberLines</b> attribute.
+            </summary>
+            <value>The default is false</value>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.OutliningEnabled">
+            <summary>
+            This is used to set or get whether or not outlining of #region and #if/#else#/endif blocks is
+            enabled in blocks without an <b>outlining</b> attribute.
+            </summary>
+            <value>The default is false.  Note that if enabled, space for the outline markers will only be
+            reserved if the code contains any collapsible regions.</value>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.KeepSeeTags">
+            <summary>
+            This is used to set or get whether or not <c>&lt;see&gt;</c> tags are preserved within the code.
+            </summary>
+            <value>The default is false to treat them as part of the colorized code.  If set to true, any
+            <c>&lt;see&gt;</c> tags are preserved so that they may be processed as normal HTML tags.  This is
+            useful when using the code colorizer in conjunction with a documentation tool such as the
+            <see href="https://GitHub.com/EWSoftware/SHFB">Sandcastle Help File Builder</see>.</value>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.UseDefaultTitle">
+            <summary>
+            This is used to set or get whether or not to use a default title based on the language name if a
+            title is not specified.
+            </summary>
+            <value>The default is true.  If set to false, no title will appear if one is not specified.</value>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.TabSize">
+            <summary>
+            This is used to set or get the tab size override for the colorizer for code blocks without a
+            <b>tabSize</b> attribute and no tab size defined in the syntax file for the selected language.
+            </summary>
+            <value>The default is eight.</value>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.CopyText">
+            <summary>
+            This is used to set or get the text for the Copy link
+            </summary>
+            <value>The default is "Copy".</value>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.CopyImageUrl">
+            <summary>
+            This is used to set or get the image URL for the Copy link.
+            </summary>
+            <value>The default is "CopyCode.gif".  A copy of this file with the same name suffixed with "_h"
+            should exist to use as the image when the link is highlighted (i.e. CopyCode_h.gif).</value>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.FriendlyNames">
+            <summary>
+            This is used to return a read-only dictionary that maps the language IDs to friendly names.
+            </summary>
+        </member>
+        <member name="P:ColorizerLibrary.CodeColorizer.AlternateIds">
+            <summary>
+            This is used to return a read-only dictionary that maps the alternate IDs to actual IDs present in
+            the syntax file.
+            </summary>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="languageSyntaxFilename">The XML syntax file name</param>
+            <param name="languageStyleFilename">The XSL style file name</param>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.ToString">
+            <summary>
+            Converting to string
+            </summary>
+            <returns>Returns the syntax and style in a string</returns>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.ProcessAndHighlightText(System.String)">
+            <summary>
+            Processes HTML and highlight code in <c>&lt;code&gt;...&lt;/code&gt;</c> and
+            <c>&lt;pre&gt;...&lt;/pre&gt;</c> tags.
+            </summary>
+            <param name="htmlText">The HTML text to colorize</param>
+            <returns>The HTML with colorized code blocks</returns>
+            <remarks>See highlight.xml for a list of available languages.</remarks>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.ColorizePlainText(System.String,System.String,System.Boolean,System.Nullable{System.Int32})">
+            <summary>
+            This method is used to colorize a block of plain text using the given rules
+            </summary>
+            <param name="plainText">The plain text to colorize</param>
+            <param name="language">The language to use when colorizing the text</param>
+            <param name="onlyNormalizeWhiteSpace">False to colorize the text, true to only normalize whitespace
+            with no colorization</param>
+            <param name="tabSize">Null for the default tab size or a positive non-zero value to specify a
+            different tab size.  This will override the language's default tab size if there is one.</param>
+            <returns>The text with colorized code blocks</returns>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.StripLeadingWhitespace(System.String,System.Int32,System.Boolean,System.Collections.Generic.IList{ColorizerLibrary.CodeColorizer.CollapsibleRegion}@)">
+            <summary>
+            This is used to strip a common amount of leading whitespace on all lines of code in the block to
+            colorize and to convert tabs to a consistent number of spaces.
+            </summary>
+            <param name="text">The text containing the lines to clean up.</param>
+            <param name="tabSize">The number of spaces to which tab characters are converted.</param>
+            <param name="willAddOutlining">True if outlining will be added, false if not</param>
+            <param name="regions">On return, if outlining is to be added, this will contain an enumerable list
+            of collapsible regions.</param>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.NumberAndOutlineHtml(System.String,System.Boolean,System.Boolean,System.Collections.Generic.IList{ColorizerLibrary.CodeColorizer.CollapsibleRegion})">
+            <summary>
+            This is used to number lines and/or add collapsible sections for #region and #if/#else/#endif blocks
+            based on the current settings for HTML.
+            </summary>
+            <param name="text">The text containing the lines to modify.</param>
+            <param name="addLineNumbers">True to add line numbers, false if not</param>
+            <param name="addOutlining">True to add outlining, false if not</param>
+            <param name="regions">If adding outlining, this will contain an enumerable list of the collapsible
+            regions.</param>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.NumberFlowDocument(System.String)">
+            <summary>
+            This is used to number lines for flow documents
+            </summary>
+            <param name="text">The text containing the lines to modify.</param>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.BuildKeywordRegExp">
+            <summary>
+            Build the keyword family regular expressions.
+            </summary>
+            <remarks>This method creates regular expression that match a whole keyword family and adds it as a
+            parameter <c>regexp</c> to the <c>keywordlist</c> node.</remarks>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.BuildRuleRegExp(System.Xml.XmlNode,System.Xml.XmlNode)">
+            <summary>
+            This builds regular expressions out of the context node
+            </summary>
+            <param name="languageNode">The language node.</param>
+            <param name="contextNode">The context node.</param>
+            <remarks>This method creates regular expressions that match all the context rules and adds it as a
+            parameter <c>regexp</c> to the context node.</remarks>
+            <returns>The regular expression string for the context node.</returns>
+            <exception cref="T:System.InvalidOperationException">This is thrown if the regular expression rule is missing
+            the expression attribute, if the keyword list could not be found, or if the keyword list family or
+            regular expression could not be found.</exception>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.BuildRules(System.Xml.XmlNode)">
+            <summary>
+            This precompiles regular expressions and search strings and prepares rules attribute.
+            </summary>
+            <param name="languageNode">The context node</param>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.BuildSyntax">
+            <summary>
+            This prepares the syntax XML file for use.
+            </summary>
+            <exception cref="T:System.InvalidOperationException">This is thrown if the highlight node could not be found
+            in the configuration file.
+            </exception>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.FindRule(System.Xml.XmlNode,System.Xml.XmlNode,System.String)">
+            <summary>
+            This is used to find the rule that triggered the match.
+            </summary>
+            <param name="languageNode">The language node.</param>
+            <param name="contextNode">The context node.</param>
+            <param name="matchText">The text that matched the context regular expression</param>
+            <remarks>If the Regex finds a rule occurrence, this method is used to find which rule has been
+            triggered.</remarks>
+            <returns>The node that triggered the match or null if no node is found.</returns>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.ApplyRules(System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.Xml.XmlNode)">
+            <summary>
+            This is used to apply the context rules successively to the code string that needs colorizing.
+            </summary>
+            <param name="languageNode">The language node.</param>
+            <param name="contextNode">The context node.</param>
+            <param name="code">The code block to parse and convert.</param>
+            <param name="parsedCodeNode">Parent node that will contain the parsed code.</param>
+            <remarks>This method uses the pre-computed regular expressions of the context rules, rule matching,
+            etc.  The results are added to the XML document in the parsedcodeNode.</remarks>
+            <exception cref="T:System.InvalidOperationException">This is thrown if a rule match cannot be found or if a
+            matching context node cannot be found.</exception>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.BuildHighlightTree(System.Xml.XmlNode,System.String,System.Boolean,System.String)">
+            <summary>
+            Create and populate an xml document with the corresponding parsed language tree for highlighting.
+            </summary>
+            <param name="languageNode">The language node to use for parsing the code.</param> 
+            <param name="rootTag">Root tag (under parsed code) for the generated xml tree.</param>
+            <param name="inBox">True if the code should be rendered in a box (<c>pre</c> element) or inline
+            (a <c>span</c> element).</param>
+            <param name="code">The code to parse</param>
+            <returns>Returns an <seealso cref="T:System.Xml.XmlDocument"/> document containing the parsed nodes.</returns>
+            <remarks>This method builds an XML tree containing context node.  Use an XSL file to render it.</remarks>
+            <exception cref="T:System.ArgumentException">This is thrown if the language node does not contain any
+            contexts or if there is no default context node.</exception>
+            <exception cref="T:System.InvalidOperationException">This is thrown if the main node of the parsed code XML
+            document cannot be created.</exception>
+        </member>
+        <member name="M:ColorizerLibrary.CodeColorizer.ReplaceByCode(System.Text.RegularExpressions.Match)">
+            <summary>
+            This method is used as the match evaluator for the main colorizer regular expression
+            </summary>
+            <param name="match">Full match</param>
+        </member>
+        <member name="T:ColorizerLibrary.OutputFormat">
+            <summary>
+            This enumerated type defines the output format of the associated XSL transformation file used to
+            colorize the text.
+            </summary>
+        </member>
+        <member name="F:ColorizerLibrary.OutputFormat.Html">
+            <summary>HTML</summary>
+        </member>
+        <member name="F:ColorizerLibrary.OutputFormat.FlowDocument">
+            <summary>XAML flow document</summary>
+        </member>
+        <member name="T:ColorizerLibrary.RegexDictionary">
+            <summary>
+             Dictionary associating string to Regex
+            </summary>
+            <remarks>This implementation uses a <see cref="T:System.Collections.Generic.Dictionary`2" /> to store the Regex objects</remarks>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.KeyName(System.Xml.XmlNode,System.Xml.XmlNode)">
+            <summary>
+            This returns the key name based on the IDs of the two specified nodes
+            </summary>
+            <param name="node1">The first node</param>
+            <param name="node2">The second node</param>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.KeyName(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode)">
+            <summary>
+            This returns the key name based on the IDs of the three specified nodes
+            </summary>
+            <param name="node1">The first node</param>
+            <param name="node2">The second node</param>
+            <param name="node3">The third node</param>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.GetRegexOptions(System.Xml.XmlNode)">
+            <summary>
+            Retrieve the regular expression options from the language node
+            </summary>
+            <param name="languageNode">language name</param>
+            <returns>RegexOptions enumeration combination</returns>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.AddKey(System.Xml.XmlNode,System.Xml.XmlNode,System.String)">
+            <summary>
+            Add a regex depending on two nodes
+            </summary>
+            <param name="languageNode">The language node</param>
+            <param name="subNode">The sub-node</param>
+            <param name="sRegExp">The regular expression string</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if a node parameter is null or the regular
+            expression is null.</exception>
+            <exception cref="T:System.ArgumentException">This is thrown if a node parameter does not have an 'id'
+            attribute or if the regular expression could not be created.</exception>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.AddKey(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String)">
+            <summary>
+            Add a regex depending on three nodes
+            </summary>
+            <param name="languageNode">The language node</param>
+            <param name="subNode">The first sub-node</param>
+            <param name="subNode2">The second sub-node</param>
+            <param name="sRegExp">The regular expression string</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if a node parameter is null or the regular
+            expression is null.</exception>
+            <exception cref="T:System.ArgumentException">This is thrown if a node parameter does not have an 'id'
+            attribute or if the regular expression could not be created.</exception>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.GetKey(System.Xml.XmlNode,System.Xml.XmlNode)">
+            <summary>
+            Retrieves the regular expression out of 2 nodes
+            </summary>
+            <param name="languageNode">The language node</param>
+            <param name="subNode">The sub-node</param>
+            <returns>The regular expression</returns>
+            <exception cref="T:System.ArgumentNullException">This is thrown if a node parameter is null or the regular
+            expression is null.</exception>
+            <exception cref="T:System.ArgumentException">This is thrown if a node parameter does not have an 'id'
+            attribute.</exception>
+        </member>
+        <member name="M:ColorizerLibrary.RegexDictionary.GetKey(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode)">
+            <summary>
+            Retrieves the regular expression out of 3 nodes
+            </summary>
+            <param name="languageNode">The language node</param>
+            <param name="subNode">The first sub-node</param>
+            <param name="subNode2">The second sub-node</param>
+            <returns>The regular expression</returns>
+            <exception cref="T:System.ArgumentNullException">This is thrown if a node parameter is null or the regular
+            expression is null.</exception>
+            <exception cref="T:System.ArgumentException">This is thrown if a node parameter does not have an 'id'
+            attribute.</exception>
+        </member>
+        <member name="T:ColorizerLibrary.XmlHelper">
+            <summary>
+            This contains some basic extension methods for XML creation.
+            </summary>
+        </member>
+        <member name="M:ColorizerLibrary.XmlHelper.XmlAddChildCDATAElement(System.Xml.XmlNode,System.String,System.String)">
+            <summary>
+            Adds a CDATA child element
+            </summary>
+            <param name="node">node to append child</param>
+            <param name="nodeName">new child node name</param>
+            <param name="cdata">CDATA value</param>
+            <exception>If could not create child node</exception>
+            <exception>If could not create CDATA node</exception>
+        </member>
+        <member name="M:ColorizerLibrary.XmlHelper.XmlSetAttribute(System.Xml.XmlNode,System.String,System.String)">
+            <summary>
+            Adds or updates an attribute in the node
+            </summary>
+            <param name="node">node to modify</param>
+            <param name="name">Attribute name</param>
+            <param name="text">Attribute value</param>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/DotNetProjects.Wpf.Extended.Toolkit.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/DotNetProjects.Wpf.Extended.Toolkit.dll
new file mode 100644
index 0000000000000000000000000000000000000000..733f234ad307d8224568c4fec188140282f7e109
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/DotNetProjects.Wpf.Extended.Toolkit.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Collections.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Collections.dll
new file mode 100644
index 0000000000000000000000000000000000000000..eddf648161a190aae77ca2518e95158331c3c2bc
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Collections.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Collections.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Collections.xml
new file mode 100644
index 0000000000000000000000000000000000000000..346ff2d35773afabdda8e4f19b356b806b306351
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Collections.xml
@@ -0,0 +1,3288 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Esent.Collections</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.CollectionsSystemParameters">
+            <summary>
+            Global parameters for all collections.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.CollectionsSystemParameters.InitLock">
+            <summary>
+            Used to make sure only one thread can perform the global initialization.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.CollectionsSystemParameters.isInit">
+            <summary>
+            True if the Init() method has already run.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.CollectionsSystemParameters.Init">
+            <summary>
+            A global initialization function. This should be called
+            exactly once, before any ESENT instances are created.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.CollectionsSystemParameters.DoInit">
+            <summary>
+            Perform the global initialization. This sets the page
+            size, configuration, cache size and other global
+            parameters.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1">
+            <summary>
+            Contains methods to set and get data from the ESENT
+            database.
+            </summary>
+            <typeparam name="TColumn">The type of the column.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnMethodNamesMap">
+            <summary>
+            A mapping of types to RetrieveColumn function names.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnMethodNonNullableNamesMap">
+            <summary>
+            A mapping of types to RetrieveColumn function names for non-nullable versions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.ColumnTypeMap">
+            <summary>
+            A mapping of types to ESENT column types.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.columnSetter">
+            <summary>
+            The SetColumn delegate for this object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.columnRetriever">
+            <summary>
+            The RetrieveColumn delegate for this object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.coltyp">
+            <summary>
+            The column type for this object.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.#ctor">
+            <summary>
+            Initializes a new instance of the ColumnConverter class.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumnDelegate">
+            <summary>
+            Represents a SetColumn operation.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the value in. An update should be prepared.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnDelegate">
+            <summary>
+            Represents a RetrieveColumn operation.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the value from.</param>
+            <param name="columnid">The column to retrieve.</param>
+            <returns>The retrieved value.</returns>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.Coltyp">
+            <summary>
+            Gets the type of database column the value should be stored in.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.ColumnSetter">
+            <summary>
+            Gets a delegate that can be used to set the Key column with an object of
+            type <see cref="T:System.Type"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.ColumnRetriever">
+            <summary>
+            Gets a delegate that can be used to retrieve the Key column, returning
+            type <see cref="T:System.Type"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.IsNullableType(System.Type)">
+            <summary>
+            Determine if the given type is a nullable type.
+            </summary>
+            <param name="t">The type to check.</param>
+            <returns>True if the type is nullable.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.GetUnderlyingType(System.Type)">
+            <summary>
+            Get the type that underlies the nullable type.
+            </summary>
+            <param name="t">The nullable type.</param>
+            <returns>The type that underlies the nullable type.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.IsSerializable(System.Type)">
+            <summary>
+            Determine if the given type is a serializable structure.
+            </summary>
+            <param name="type">The type to check.</param>
+            <returns>
+            True if the type (and the types it contains) are all serializable structures.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.String)">
+            <summary>
+            Set a string.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Boolean})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Byte})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Int16})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.UInt16})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Int32})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.UInt32})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Int64})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.UInt64})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Single})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Double})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.Guid})">
+            <summary>
+            Set a nullable value.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.DateTime})">
+            <summary>
+            Set a nullable date time.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.DateTime)">
+            <summary>
+            Set a date time.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{System.TimeSpan})">
+            <summary>
+            Set a nullable timespan.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.TimeSpan)">
+            <summary>
+            Set a timespan.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Collections.Generic.PersistentBlob)">
+            <summary>
+            Set a PersistentBlob.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to set the value in.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsDateTime(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a nullable date time. We do not use Api.RetrieveColumnAsDateTime because
+            that stores the value in OADate format, which is less accurate than System.DateTime.
+            Instead we store a DateTime as its Tick value in an Int64 column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A nullable DateTime constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsTimeSpan(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a nullable TimeSpan.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A nullable TimeSpan constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsPersistentBlob(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a PersistentBlob.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A PersistentBlob constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableBoolean(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Boolean
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Boolean constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableByte(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Byte
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Byte constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableInt16(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Int16
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Int16 constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableUInt16(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable UInt16
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable UInt16 constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableInt32(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Int32
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Int32 constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableUInt32(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable UInt32
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable UInt32 constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableInt64(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Int64
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Int64 constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableUInt64(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable UInt64
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable UInt64 constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableFloat(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Float
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Float constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableDouble(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Double
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Double constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableGuid(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable Guid
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Guid constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableDateTime(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable DateTime
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable DateTime constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.RetrieveColumnAsNonNullableTimeSpan(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieve a non-nullable TimeSpan
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve the value from.</param>
+            <param name="columnid">The column containing the value.</param>
+            <returns>A non-nullable Float constructed from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.UnwrapNullableColumnValue``1(System.Nullable{``0})">
+            <summary>
+            Unwraps a nullable column value when used with a dictionary that is not
+            using nullable types
+            </summary>
+            <typeparam name="T">Type of value</typeparam>
+            <param name="val">Value to unwrap</param>
+            <returns>Unwrapped value</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.SetColumnIfNull``1(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Nullable{``0})">
+            <summary>
+            Set the column to null, if the nullable value is null.
+            </summary>
+            <typeparam name="T">The underlying type.</typeparam>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The tableid to set.</param>
+            <param name="columnid">The column to set.</param>
+            <param name="value">The nullable value to set.</param>
+            <returns>
+            True if the value was null and the column was set to null
+            .</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.CreateRetrieveColumnDelegate">
+            <summary>
+            Get the retrieve column delegate for the type.
+            </summary>
+            <returns>The retrieve column delegate for the type.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ColumnConverter`1.CreateSetColumnDelegate">
+            <summary>
+            Create the set column delegate.
+            </summary>
+            <returns>The set column delegate.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.Compare">
+            <summary>
+            Provides generic comparison methods.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Compare.AreEqual``1(``0,``0)">
+            <summary>
+            Compare two objects to determine if they are equal.
+            </summary>
+            <typeparam name="T">The type to compare.</typeparam>
+            <param name="value1">The first object.</param>
+            <param name="value2">The second object.</param>
+            <returns>True if they are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionCompiler">
+            <summary>
+            Compile and evaluate expressions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionCompiler.CompilersMap">
+            <summary>
+            Dictionary of type => compiler mapping. The compiler functions
+            take an expression and return its value.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionCompiler.Compile(System.Linq.Expressions.Expression)">
+            <summary>
+            Compile an expression and return its value.
+            </summary>
+            <param name="expression">The expression to compile.</param>
+            <returns>The value of the expression or null if no value can be determined.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionCompiler.GetValue``1(System.Linq.Expressions.Expression)">
+            <summary>
+            Compile an expression of a specific type and return its value.
+            </summary>
+            <typeparam name="T">The return type of the expression.</typeparam>
+            <param name="expression">The expression.</param>
+            <returns>The value of the compiled expression.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionEvaluator`1">
+            <summary>
+            Methods to evaluate an expression which returns a T.
+            </summary>
+            <typeparam name="T">The type returned by the expression.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionEvaluator`1.TryGetConstantExpression(System.Linq.Expressions.Expression,`0@)">
+            <summary>
+            Determine if the given expression is a constant expression, and
+            return the value of the expression.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <param name="value">The value of the expression.</param>
+            <returns>True if the expression was a constant, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionEvaluator`1.GetExpressionValue(System.Linq.Expressions.Expression)">
+            <summary>
+            Get the value of the expression.
+            </summary>
+            <param name="expression">The expression to get the value of.</param>
+            <returns>The value of the expression.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ConstantExpressionEvaluator`1.HasNoParameterAccess(System.Linq.Expressions.Expression)">
+            <summary>
+            Determine if there are any parameter access calls in the expression.
+            </summary>
+            <param name="expression">The expression.</param>
+            <returns>
+            True if there are no parameter accesses in the expression.
+            </returns>
+            <remarks>
+            This method is conservative. We only return true if we end up with
+            null, a constant or parameter access. Unknown expressions return false.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.Copy">
+            <summary>
+            Provides generic copy methods.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Copy.CopyTo``1(System.Collections.Generic.ICollection{``0},``0[],System.Int32)">
+            <summary>
+            Copy one collection to an array.
+            </summary>
+            <typeparam name="T">The type to compare.</typeparam>
+            <param name="items">The items to copy.</param>
+            <param name="array">The index to copy into.</param>
+            <param name="arrayIndex">The location in the index to start copying into.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig">
+            <summary>
+            An interface for meta-data configuration for the dictionary database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.Version">
+            <summary>
+            Gets a string describing the current version of the 
+            PersistentDictionary.
+            </summary>
+            <value>
+            A string describing the current version of the 
+            PersistentDictionary.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.GlobalsTableName">
+            <summary>
+            Gets the name of the globals table.
+            </summary>
+            <value>
+            The name of the globals table.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.VersionColumnName">
+            <summary>
+            Gets the name of the version column in the globals table.
+            </summary>
+            <value>
+            The name of the version column in the globals table.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.CountColumnName">
+            <summary>
+            Gets the name of the count column in the globals table.
+            </summary>
+            <value>
+            The name of the count column in the globals table.
+            This column tracks the number of items in the collection.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.FlushColumnName">
+            <summary>
+            Gets the name of the flush column in the globals table.
+            </summary>
+            <value>
+            The name of the flush column in the globals table.
+            This column is updated when a Flush operation is performed.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.KeyTypeColumnName">
+            <summary>
+            Gets the name of the key type column in the globals table.
+            </summary>
+            <value>
+            The name of the key type column in the globals table.
+            This column stores the type of the key in the dictionary.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.KeyTypeNameColumnName">
+            <summary>
+            Gets the name of the key type column in the globals table.
+            This column stores the type of the key in the dictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.ValueTypeColumnName">
+            <summary>
+            Gets the name of the value type column in the globals table.
+            </summary>
+            <value>
+            The name of the value type column in the globals table.
+            This column stores the type of the value in the dictionary.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.ValueTypeNameColumnName">
+            <summary>
+            Gets the name of the value type name column in the globals table.
+            This column stores the name of the type of the value in the dictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.DataTableName">
+            <summary>
+            Gets the name of the data table.
+            </summary>
+            <value>
+            The name of the data table.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.KeyColumnName">
+            <summary>
+            Gets the name of the key column in the data table.
+            </summary>
+            <value>
+            The name of the key column in the data table.
+            This column stores the key of the item.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig.ValueColumnName">
+            <summary>
+            Gets the name of the value column in the data table.
+            </summary>
+            <value>
+            The name of the value column in the data table.
+            This column stores the value of the item.
+            </value>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.Key`1">
+            <summary>
+            Represents a generic key value.
+            </summary>
+            <typeparam name="T">The datatype of the key.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.#ctor(`0,System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the Key class.
+            </summary>
+            <param name="value">The value of the key.</param>
+            <param name="isInclusive">True if this key is inclusive.</param>
+            <param name="isPrefix">True if this key is a prefix.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.Key`1.IsInclusive">
+            <summary>
+            Gets a value indicating whether the key is inclusive.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.Key`1.IsPrefix">
+            <summary>
+            Gets a value indicating whether the key is a prefix.
+            This only makes sense for string types.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.Key`1.Value">
+            <summary>
+            Gets the value of the key.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.CreateKey(`0,System.Boolean)">
+            <summary>
+            Create a new Key.
+            </summary>
+            <param name="value">The value of the key.</param>
+            <param name="isInclusive">True if the key is to be inclusive.</param>
+            <returns>The new key.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.CreatePrefixKey(`0)">
+            <summary>
+            Create a new prefix Key.
+            </summary>
+            <param name="value">The value of the key.</param>
+            <returns>The new key.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.ToString">
+            <summary>
+            Gets a string representation of the key.
+            </summary>
+            <returns>A string representation of the key.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.Equals(System.Object)">
+            <summary>
+            Compare an object to this one, to see if they are equal.
+            </summary>
+            <param name="obj">The object to compare against.</param>
+            <returns>True if this range equals the other object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.GetHashCode">
+            <summary>
+            Gets a hash code for this object.
+            </summary>
+            <returns>
+            A hash code for this object.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.Equals(Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Determine if this Key matches another Key.
+            </summary>
+            <param name="other">The Key to compare with.</param>
+            <returns>True if the keys are equal, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.Key`1.ValueEquals(Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Compare the value of this Key to another key.
+            </summary>
+            <param name="other">The Key to compare with.</param>
+            <returns>True if the values are equal, false otherwise.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1">
+            <summary>
+            Extends the ColumnConverter class with methods to make a key.
+            </summary>
+            <typeparam name="TColumn">The type of the column.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1.keyMaker">
+            <summary>
+            The MakeKey delegate for this object.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1.#ctor">
+            <summary>
+            Initializes a new instance of the KeyColumnConverter class.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1.MakeKeyDelegate">
+            <summary>
+            Represents a MakeKey operation.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to make the key in.</param>
+            <param name="value">The value to make the key with.</param>
+            <param name="grbit">Make key options.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1.KeyMaker">
+            <summary>
+            Gets a delegate that can be used to call JetMakeKey with an object of
+            type <see cref="T:System.Type"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.DateTime,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.TimeSpan,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyColumnConverter`1.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.KeyExpressionEvaluator`1">
+            <summary>
+            Contains methods to evaluate a predicate Expression which operates
+            on Key types to determine a key range which contains all items
+            matched by the predicate.
+            </summary>
+            <typeparam name="TKey">The key type.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyExpressionEvaluator`1.GetKeyRange(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Evaluate a predicate Expression and determine a key range which
+            contains all items matched by the predicate.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <returns>
+            A KeyRange that contains all items matched by the predicate. If no
+            range can be determined the range will include all items.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyExpressionEvaluator`1.KeyRangeIsExact(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Evaluate a predicate Expression and determine whether a key range can
+            be found that completely satisfies the expression. If this method returns
+            true then the key range returned by <see cref="M:Microsoft.Isam.Esent.Collections.Generic.KeyExpressionEvaluator`1.GetKeyRange(System.Linq.Expressions.Expression{System.Predicate{`0}})"/> will return
+            only records which match the expression.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <returns>
+            True if the key range returned by <see cref="M:Microsoft.Isam.Esent.Collections.Generic.KeyExpressionEvaluator`1.GetKeyRange(System.Linq.Expressions.Expression{System.Predicate{`0}})"/> will perfectly
+            match all records found by the expression.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1">
+            <summary>
+            Represents a range of keys, where each end can be inclusive or
+            exclusive.
+            </summary>
+            <typeparam name="T">The type of the key.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.OpenRangeInstance">
+            <summary>
+            A singleton instance of the open range (a range with no limits).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.EmptyRangeInstance">
+            <summary>
+            A singleton instance of the empty range (a range with no records).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.#ctor(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Initializes a new instance of the KeyRange class.
+            </summary>
+            <param name="min">The minimum key. This can be null.</param>
+            <param name="max">The maximum key. This can be null.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.OpenRange">
+            <summary>
+            Gets a singleton instance of the open range (a range with no limits).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.EmptyRange">
+            <summary>
+            Gets a singleton instance of the empty range (a range with no records).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.Min">
+            <summary>
+            Gets the minimum key value. This is null if there is
+            no minumum.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.Max">
+            <summary>
+            Gets the maximum key value. This is null if there is
+            no maximum.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.IsEmpty">
+            <summary>
+            Gets a value indicating whether the range is empty.
+            </summary>
+            <value>
+            A value indicating whether the range is empty.
+            </value>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.op_BitwiseAnd(Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0},Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0})">
+            <summary>
+            Return the intersection of two ranges.
+            </summary>
+            <param name="a">The first range.</param>
+            <param name="b">The second range.</param>
+            <returns>The intersection of the two ranges.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.op_BitwiseOr(Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0},Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0})">
+            <summary>
+            Return the union of two ranges.
+            </summary>
+            <param name="a">The first range.</param>
+            <param name="b">The second range.</param>
+            <returns>The union of the two ranges.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.Invert">
+            <summary>
+            Invert the key range, if possible. If only one of the lower
+            or upper bounds is set then swap them and invert the inclusive
+            setting, otherwise return an open range.
+            </summary>
+            <returns>
+            An inversion of the key range.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.Equals(System.Object)">
+            <summary>
+            Compare an object to this one, to see if they are equal.
+            </summary>
+            <param name="obj">The object to compare against.</param>
+            <returns>True if this range equals the other object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.GetHashCode">
+            <summary>
+            Gets a hash code for this object.
+            </summary>
+            <returns>
+            A hash code for this object.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.Equals(Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0})">
+            <summary>
+            Compare two key ranges to see if they are equal.
+            </summary>
+            <param name="other">The key range to compare against.</param>
+            <returns>True if they are equal, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.ToString">
+            <summary>
+            Generate a string representation of the range.
+            </summary>
+            <returns>A string representation of the range.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.LowerIntersection(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Returns the lower bound of two keys for range intersection.
+            This is the maximum of the keys, where null represents the
+            minimum value and exclusive ranges are preferred.
+            </summary>
+            <param name="a">The first key.</param>
+            <param name="b">The second key.</param>
+            <returns>The upper bound of the two keys.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.UpperIntersection(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Returns the upper bound of two keys for range union.
+            This is the minimum of the keys, where null represents the
+            maximum value and exclusive ranges are preferred.
+            </summary>
+            <param name="a">The first key.</param>
+            <param name="b">The second key.</param>
+            <returns>The lower bound of the two keys.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.LowerUnion(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Returns the lower bound of two keys for range union.
+            This is the minimum of the keys, where null represents the
+            minimum value and inclusive ranges are preferred.
+            </summary>
+            <param name="a">The first key.</param>
+            <param name="b">The second key.</param>
+            <returns>The upper bound of the two keys.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.UpperUnion(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Returns the upper bound of two keys for range union.
+            This is the maximum of the keys, where null represents the
+            maximum value. When two keys are equal the order of preference is:
+             1. prefix
+             2. inclusive
+             3. exclusive.
+            </summary>
+            <param name="a">The first key.</param>
+            <param name="b">The second key.</param>
+            <returns>The lower bound of the two keys.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.CompareNonPrefixAndPrefix(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Compare a prefix and non-prefix key.
+            </summary>
+            <param name="nonPrefix">The non prefix key.</param>
+            <param name="prefix">The prefix key.</param>
+            <returns>If the first key is less than the second then -1. 0 or 1 otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.ComparePrefixes(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Compare two prefix keys.
+            </summary>
+            <param name="a">The first prefix key.</param>
+            <param name="b">The second prefix key.</param>
+            <returns>If the first key is less than the second then -1. 0 or 1 otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyRange`1.CompareKeys(Microsoft.Isam.Esent.Collections.Generic.Key{`0},Microsoft.Isam.Esent.Collections.Generic.Key{`0})">
+            <summary>
+            Compare two keys. The keys cannot be null but their values can be.
+            Null is treated as less than any other value.
+            </summary>
+            <param name="a">The first key.</param>
+            <param name="b">The second key.</param>
+            <returns>
+            The result of the comparison.
+            </returns>
+            <remarks>
+            Null keys have different semantics depending on whether we are
+            comparing min or max keys. Null values can be treated uniformly
+            though.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.KeyValueExpressionEvaluator`2">
+            <summary>
+            Contains methods to evaluate a predicate Expression which operates
+            on KeyValuePair types to determine a key range which
+            contains all items matched by the predicate.
+            </summary>
+            <typeparam name="TKey">The key type.</typeparam>
+            <typeparam name="TValue">The value type.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.KeyValueExpressionEvaluator`2.KeyMemberInfo">
+            <summary>
+            The MemberInfo for KeyValuePair.Key. This is used to identify the key parameter when
+            getting the key range.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyValueExpressionEvaluator`2.GetKeyRange(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Evaluate a predicate Expression and determine a key range which
+            contains all items matched by the predicate.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <returns>
+            A KeyRange that contains all items matched by the predicate. If no
+            range can be determined the range will include all items.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.KeyValueExpressionEvaluator`2.KeyRangeIsExact(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Evaluate a predicate Expression and determine whether a key range can
+            be found that completely satisfies the expression. If this method returns
+            true then the key range returned by <see cref="M:Microsoft.Isam.Esent.Collections.Generic.KeyValueExpressionEvaluator`2.GetKeyRange(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})"/> will return
+            only records which match the expression.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <returns>
+            True if the key range returned by <see cref="M:Microsoft.Isam.Esent.Collections.Generic.KeyValueExpressionEvaluator`2.GetKeyRange(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})"/> will perfectly
+            match all records found by the expression.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.LazyTransaction">
+            <summary>
+            Disposable wrapper for a lazy transaction. The Dispose method
+            will rollback the transaction if it isn't committed. Unlike
+            the Transaction class this is a struct, so it isn't as flexible,
+            but it can be faster.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.LazyTransaction.sesid">
+            <summary>
+            The session that has the transaction.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.LazyTransaction.inTransaction">
+            <summary>
+            True if we are in a transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.LazyTransaction.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.LazyTransaction"/> struct.
+            </summary>
+            <param name="sesid">
+            The sesid.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.LazyTransaction.Commit">
+            <summary>
+            Commit the transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.LazyTransaction.Dispose">
+            <summary>
+            Rollback the transaction if not already committed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob">
+            <summary>
+            Represents a blob that can be persisted in a PersistentDictionary.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.blobData">
+            <summary>
+            Byte array containing the Blob.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.blobHashCode">
+            <summary>
+            Hash code to detect illegal changes to the Blob.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.#ctor(System.Byte[])">
+            <summary>
+            Initializes a new instance of the PersistentBlob class.
+            </summary>
+            <param name="fromBytes">The byte array to construct the Blob from.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.op_Equality(Microsoft.Isam.Esent.Collections.Generic.PersistentBlob,Microsoft.Isam.Esent.Collections.Generic.PersistentBlob)">
+            <summary>
+            Test for equality.
+            </summary>
+            <param name="lhs">Left hand side.</param>
+            <param name="rhs">Right hand side.</param>
+            <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.op_Inequality(Microsoft.Isam.Esent.Collections.Generic.PersistentBlob,Microsoft.Isam.Esent.Collections.Generic.PersistentBlob)">
+            <summary>
+            Test for inequality.
+            </summary>
+            <param name="lhs">Left hand side.</param>
+            <param name="rhs">Right hand side.</param>
+            <returns>true if the current object is not equal to the other parameter; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.GetBytes">
+            <summary>
+            Returns the byte array representing the blob.
+            </summary>
+            <returns>The byte[] array.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.GetStream">
+            <summary>
+            Returns a stream that can be used to read and write to the blob.
+            </summary>
+            <returns>The stream.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.Equals(Microsoft.Isam.Esent.Collections.Generic.PersistentBlob)">
+            <summary>
+            Indicates whether the current object is equal to another object of the same type.
+            </summary>
+            <param name="other">An object to compare with this object.</param>
+            <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.Equals(System.Object)">
+            <summary>
+            Indicates whether the current object is equal to another object of the same type.
+            </summary>
+            <param name="other">An object to compare with this object.</param>
+            <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>A Int32 that contains the hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentBlob.CheckImmutability">
+            <summary>
+            Checks that this instance hasn't changed illegally, throws an exception if it did.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2">
+            <summary>
+            Represents a collection of persistent keys and values.
+            </summary>
+            <typeparam name="TKey">The type of the key.</typeparam>
+            <typeparam name="TValue">The type of the value.</typeparam>
+            <content>
+            Represents a collection of persistent keys and values.
+            These are the methods that optimize LINQ extension methods
+            on a dictionary.
+            </content>
+            <content>
+            PersistentDictionary tracing.
+            </content>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.NumUpdateLocks">
+            <summary>
+            Number of lock objects. Keys are mapped to lock objects using their
+            hash codes. Making this count a prime number reduces the chance of
+            collisions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.instance">
+            <summary>
+            The ESENT instance this dictionary uses. An Instance object inherits
+            from SafeHandle so this instance will be (eventually) terminated even
+            if the dictionary isn't disposed. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.updateLocks">
+            <summary>
+            An update lock should be taken when the Dictionary is being updated. 
+            Read operations can proceed without any locks (the cursor cache has
+            its own lock to control access to the cursors). There are multiple
+            update locks, which allows multiple writers. When updating a key
+            take the lock which maps to key.GetHashCode() % updateLocks.Length.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.disposeLock">
+            <summary>
+            The disposeLock ensures safety when Disposing an object in a multi-threaded
+            environment.
+            All public access points of entry acquire a reader lock.
+            Once this is acquired, it calls <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CheckObjectDisposed"/>.
+            <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Dispose(System.Boolean)"/> enters as a writer, ensuring that
+            any call in progress will complete. While it is disposing, new calls
+            will be blocked.
+            </summary>
+            <remarks>
+            Consider moving to NoRecursion.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.converters">
+            <summary>
+            Methods to set and retrieve data in ESE.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.schema">
+            <summary>
+            Meta-data information for the dictionary database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.cursors">
+            <summary>
+            Cache of cursors used to access the dictionary.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.databaseDirectory">
+            <summary>
+            Path to the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.databasePath">
+            <summary>
+            Path to the database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.LocalCacheSize">
+            <summary>
+            Set this to a non-zero value to enable local caching of values to speed up read-only access
+            </summary>
+            <value>If set to zero, the default, the local cache will not be used and all values will be retrieved
+            from the database.  This is only intended for read-only dictionaries.  The local cache will not be
+            updated if the dictionary entries are updated.</value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.LocalCacheFlushCount">
+            <summary>
+            This read-only property returns the number of times the local cache was flushed because it filled up
+            </summary>
+            <value>This can help in figuring out an appropriate local cache size</value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CurrentLocalCacheCount">
+            <summary>
+            This read-only property returns the current number of local cache entries in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.database">
+            <summary>
+            Database object associated with the PersistentDictionary.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.alreadyDisposed">
+            <summary>
+            Tracks whether the object has been Disposed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="directory">
+            The directory in which to create the database.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(System.String,System.Boolean)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="directory">
+            The directory in which to create the database.
+            </param>
+            <param name="compressColumns">If true, the column data compression option will be enabled when the
+            database is created.  If false, the compression option is left off.  This only has an effect when
+            creating the database.  It will not change the compression option in existing files.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="customConfig">The custom config to use for creating the PersistentDictionary.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(System.String,Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="directory">The directory in which to create the database.</param>
+            <param name="customConfig">The custom config to use for creating the PersistentDictionary.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.String)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="dictionary">
+            The IDictionary whose contents are copied to the new dictionary.
+            </param>
+            <param name="directory">
+            The directory in which to create the database.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="dictionary">The IDictionary whose contents are copied to the new dictionary.</param>
+            <param name="customConfig">The custom config to use for creating the PersistentDictionary.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.String,Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="dictionary">The IDictionary whose contents are copied to the new dictionary.</param>
+            <param name="directory">The directory in which to create the database.</param>
+            <param name="customConfig">The custom config to use for creating the PersistentDictionary.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.#ctor(System.String,Microsoft.Database.Isam.Config.IConfigSet,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Boolean)">
+            <summary>
+            Initializes a new instance of the PersistentDictionary class.
+            </summary>
+            <param name="directory">The directory to create the database in.</param>
+            <param name="customConfig">The custom config to use for creating the PersistentDictionary.</param>
+            <param name="dictionary">The IDictionary whose contents are copied to the new dictionary.</param>
+            <param name="compressColumns">If true, the column data compression option will be enabled when the
+            database is created.  If false, the compression option is left off.  This only has an effect when
+            creating the database.  It will not change the compression option in existing files.</param>
+            <remarks>The constructor can either initialize PersistentDictionary from a directory string, or a full custom config set. But not both.</remarks>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Count">
+            <summary>
+            Gets the number of elements contained in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <value>
+            The number of elements contained in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> is read-only.
+            </summary>
+            <value>
+            True if the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> is read-only; otherwise, false.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Keys">
+            <summary>
+            Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <returns>
+            An <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2"/> containing the keys of the object that implements <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </returns>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Keys">
+            <summary>
+            Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <value>
+            An <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2"/> containing the keys of the object that implements <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.System#Collections#Generic#IDictionary{TKey,TValue}#Values">
+            <summary>
+            Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <value>
+            An <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> containing the values in the object that implements <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Values">
+            <summary>
+            Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <value>
+            An <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> containing the values in the object that implements <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Schema">
+            <summary>
+            Gets the schema configuration used by dictionary to store data in the underlying database.
+            </summary>
+            <value>
+            The schema configuration used by dictionary to store data in the underlying database.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.DatabasePath">
+            <summary>
+            Gets the path of the directory that contains the dictionary database.
+            The database consists of a set of files found in the directory.
+            </summary>
+            <value>
+            The path of the directory that contains the dictionary database.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Database">
+            <summary>
+            Gets the Database object associated with the dictionary.
+            Database can be used to control runtime parameters affecting the dictionary's backing database (e.g. database cache size).
+            See <see cref="T:Microsoft.Database.Isam.Config.DatabaseConfig"/>.
+            </summary>
+            <value>
+            The Database object associated with the dictionary.
+            Database can be used to control runtime parameters affecting the dictionary's backing database (e.g. database cache size).
+            See <see cref="T:Microsoft.Database.Isam.Config.DatabaseConfig"/>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Item(`0)">
+            <summary>
+            Gets or sets the element with the specified key.
+            </summary>
+            <returns>
+            The element with the specified key.
+            </returns>
+            <param name="key">The key of the element to get or set.</param>
+            <exception cref="T:System.Collections.Generic.KeyNotFoundException">
+            The property is retrieved and <paramref name="key"/> is not found.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> 
+            that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.IEnumerator"/>
+            object that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Removes the first occurrence of a specific object from the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <returns>
+            True if <paramref name="item"/> was successfully removed from the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>;
+            otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original
+            <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </returns>
+            <param name="item">The object to remove from the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Adds an item to the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <param name="item">The object to add to the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Determines whether the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> contains a specific value.
+            </summary>
+            <returns>
+            True if <paramref name="item"/> is found in the
+            <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>;
+            otherwise, false.
+            </returns>
+            <param name="item">
+            The object to locate in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+            <summary>
+            Copies the elements of the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
+            </summary>
+            <param name="array">
+            The one-dimensional <see cref="T:System.Array"/> that is the destination
+            of the elements copied from <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            The <see cref="T:System.Array"/> must have zero-based indexing.</param>
+            <param name="arrayIndex">
+            The zero-based index in <paramref name="array"/> at which copying begins.
+            </param>
+            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="arrayIndex"/> is equal to or greater than the length of <paramref name="array"/>.
+            -or-The number of elements in the source <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> is greater
+            than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Clear">
+            <summary>
+            Removes all items from the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.ContainsKey(`0)">
+            <summary>
+            Determines whether the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> contains an element with the specified key.
+            </summary>
+            <returns>
+            True if the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> contains an element with the key; otherwise, false.
+            </returns>
+            <param name="key">The key to locate in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Add(`0,`1)">
+            <summary>
+            Adds an element with the provided key and value to the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <param name="key">The object to use as the key of the element to add.</param>
+            <param name="value">The object to use as the value of the element to add.</param>
+            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.</exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Remove(`0)">
+            <summary>
+            Removes the element with the specified key from the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </summary>
+            <returns>
+            True if the element is successfully removed; otherwise, false. This method also returns false if
+            <paramref name="key"/> was not found in the original <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.
+            </returns>
+            <param name="key">The key of the element to remove.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.TryGetValue(`0,`1@)">
+            <summary>
+            Gets the value associated with the specified key.
+            </summary>
+            <returns>
+            True if the object that implements <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>
+            contains an element with the specified key; otherwise, false.
+            </returns>
+            <param name="key">
+            The key whose value to get.</param>
+            <param name="value">When this method returns, the value associated
+            with the specified key, if the key is found; otherwise, the default
+            value for the type of the <paramref name="value"/> parameter. This
+            parameter is passed uninitialized.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.ContainsValue(`1)">
+            <summary>
+            Determines whether the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> contains an element with the specified value.
+            </summary>
+            <remarks>
+            This method requires a complete enumeration of all items in the dictionary so it can be much slower than
+            <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.ContainsKey(`0)"/>.
+            </remarks>
+            <returns>
+            True if the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/> contains an element with the value; otherwise, false.
+            </returns>
+            <param name="value">The value to locate in the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Flush">
+            <summary>
+            Force all changes made to this dictionary to be written to disk.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Dispose">
+            <summary>
+            Invokes the Dispose(bool) function.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.GetCursor">
+            <summary>
+            Opens a cursor on the PersistentDictionary. Used by enumerators.
+            </summary>
+            <returns>
+            A new cursor that can be used to enumerate the PersistentDictionary.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.FreeCursor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor{`0,`1})">
+            <summary>
+            Frees a cursor on the PersistentDictionary. Used by enumerators.
+            </summary>
+            <param name="cursor">
+            The cursor being freed.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.GetValueEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the values.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the values.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.DoReadLockedOperation(System.Action)">
+            <summary>
+            Performs the specified action while under a ReadLock.
+            </summary>
+            <param name="action">The action to perform.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.ReturnReadLockedOperation``1(System.Func{``0})">
+            <summary>
+            Performs the specified action while under a ReadLock. This is usually done to
+            prevent the underlying dictionary from being Dispose'd from underneath us.
+            </summary>
+            <param name="action">The action to perform.</param>
+            <typeparam name="TReturn">The type of the return value of the block.</typeparam>
+            <returns>Returns the value of the function.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.ColumnCanBeCompressed(Microsoft.Isam.Esent.Interop.JET_COLUMNDEF)">
+            <summary>
+            Determine if the given column can be compressed.
+            </summary>
+            <param name="columndef">The definition of the column.</param>
+            <returns>True if the column can be compressed.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Dispose(System.Boolean)">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+            <param name="userInitiatedDisposing">Whether it's a user-initiated call.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CheckDatabaseMetaData(Microsoft.Database.Isam.Config.DatabaseConfig)">
+            <summary>
+            Check the database meta-data. This makes sure the tables and columns exist and
+            checks the type of the database.
+            </summary>
+            <param name="databaseConfig">The database configuration to use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CreateDatabase(Microsoft.Database.Isam.Config.DatabaseConfig)">
+            <summary>
+            Create the database.
+            </summary>
+            <param name="databaseConfig">The database configuration to use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CreateGlobalsTable(Microsoft.Isam.Esent.Interop.Session,Microsoft.Isam.Esent.Interop.JET_DBID)">
+            <summary>
+            Create the globals table.
+            </summary>
+            <param name="session">The session to use.</param>
+            <param name="dbid">The database to create the table in.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CreateDataTable(Microsoft.Isam.Esent.Interop.Session,Microsoft.Isam.Esent.Interop.JET_DBID)">
+            <summary>
+            Create the data table.
+            </summary>
+            <param name="session">The session to use.</param>
+            <param name="dbid">The database to create the table in.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.CheckObjectDisposed">
+            <summary>
+            Verifies that the object is not already disposed.
+            This should be checked while the disposeLock ReadLock is held. If
+            the read lock is not held, then the caller must acquire the lock
+            first and check for a guaranteed correct value.
+            (The caller may call this without the lock first to get a fast-but-
+            inaccurate result).
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            Thrown if the object has already been disposed.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.LockObject(System.Byte[])">
+            <summary>
+            Gets an object used to lock updates to the key.
+            </summary>
+            <param name="normalizedKey">The normalized key to be locked.</param>
+            <returns>
+            An object that should be locked when the key is updated.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Where(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Optimize a where statement which uses this dictionary.
+            </summary>
+            <param name="expression">
+            The predicate determining which items should be enumerated.
+            </param>
+            <returns>
+            An enumerator matching only the records matched by the predicate.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Reverse">
+            <summary>
+            Inverts the order of the elements in the dictionary.
+            </summary>
+            <returns>
+            A sequence whose elements correspond to those of the dictionary in reverse order.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Any(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Determine whether any element of the dictionary satisfies a condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            True if any elements match the predicate, false otherwise.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.First(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Returns the first element in the dictionary that satisfies a specified condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The first element in the dictionary that satisfies a specified condition.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.FirstOrDefault(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Returns the first element in the dictionary that satisfies a specified condition or a default
+            value if no element exists.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The first element in the dictionary that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Last(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Returns the last element in the dictionary that satisfies a specified condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the dictionary that satisfies a specified condition.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.LastOrDefault(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Returns the last element in the dictionary that satisfies a specified condition or a default
+            value if no element exists.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the dictionary that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Single(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Returns the only element in the dictionary that satisfies a specified condition and throws
+            an exception if there is more than one element.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the dictionary that satisfies a specified condition.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.SingleOrDefault(System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}})">
+            <summary>
+            Returns the only element of the dictionary that satisfies a specified condition or a default
+            value if no such element exists; this method throws an exception if more than one element
+            satisfies the condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the dictionary that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.Last">
+            <summary>
+            Returns the last element of the dictionary.
+            </summary>
+            <returns>The last element.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            Thrown if the dictionary is empty.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.LastOrDefault">
+            <summary>
+            Returns the last element of the dictionary or a default value.
+            </summary>
+            <returns>The last element.</returns>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.traceSwitch">
+            <summary>
+            PersistentDictionary tracing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.TraceSwitch">
+            <summary>
+            Gets the TraceSwitch for the dictionary.
+            </summary>
+            <value>
+            The TraceSwitch for the dictionary.
+            </value>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2.TraceWhere(Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0},System.Boolean)">
+            <summary>
+            Trace the results of examining a Where expression.
+            </summary>
+            <param name="range">The calculated range.</param>
+            <param name="isReversed">True if the range is to be enumerated in reverse order.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3">
+            <summary>
+            Base class for collections which can be returned from
+            a PersistentDictionary (i.e. Keys and Values).
+            </summary>
+            <typeparam name="TKey">The type of the key.</typeparam>
+            <typeparam name="TValue">The type of the value.</typeparam>
+            <typeparam name="T">The type to be enumerated.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.dictionary">
+            <summary>
+            The dictionary being enumerated.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.#ctor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{`0,`1})">
+            <summary>
+            Initializes a new instance of the PersistentDictionaryCollection class.
+            </summary>
+            <param name="dictionary">
+            The dictionary being enumerated to provide the collection.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.Count">
+            <summary>
+            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+            </summary>
+            <value>
+            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
+            </summary>
+            <value>
+            True if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
+            </value>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.Dictionary">
+            <summary>
+            Gets the dictionary being enumerated by this collection.
+            </summary>
+            <value>
+            The dictionary being enumerated by this collection.
+            </value>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.Add(`2)">
+            <summary>
+            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+            </summary>
+            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
+            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.Clear">
+            <summary>
+            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+            </summary>
+            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.Contains(`2)">
+            <summary>
+            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
+            </summary>
+            <returns>
+            True if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
+            </returns>
+            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.CopyTo(`2[],System.Int32)">
+            <summary>
+            Copies the elements of the collection to an <see cref="T:System.Array"/>,
+            starting at a particular <see cref="T:System.Array"/> index.
+            </summary>
+            <param name="array">
+            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from
+            <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.
+            </param>
+            <param name="arrayIndex">
+            The zero-based index in <paramref name="array"/> at which copying begins.
+            </param>
+            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="array"/> is multidimensional.-or-<paramref name="arrayIndex"/> is equal to or greater than the length of
+            <paramref name="array"/>.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/>
+            is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.
+            -or-Type T cannot be cast automatically to the type of the destination <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCollection`3.Remove(`2)">
+            <summary>
+            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+            </summary>
+            <returns>
+            True if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>;
+            otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original 
+            <see cref="T:System.Collections.Generic.ICollection`1"/>.
+            </returns>
+            <param name="item">
+            The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+            </param>
+            <exception cref="T:System.NotSupportedException">
+            The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
+            </exception>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig">
+            <summary>
+            Meta-data configuration for the dictionary database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.Version">
+            <summary>
+            Gets a string describing the current version of the 
+            PersistentDictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.GlobalsTableName">
+            <summary>
+            Gets the name of the globals table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.VersionColumnName">
+            <summary>
+            Gets the name of the version column in the globals table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.CountColumnName">
+            <summary>
+            Gets the name of the count column in the globals table.
+            This column tracks the number of items in the collection.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.FlushColumnName">
+            <summary>
+            Gets the name of the flush column in the globals table.
+            This column is updated when a Flush operation is performed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.KeyTypeColumnName">
+            <summary>
+            Gets the name of the key type column in the globals table.
+            This column stores the type of the key in the dictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.KeyTypeNameColumnName">
+            <summary>
+            Gets the name of the key type-name column in the globals table.
+            This column stores the type of the key in the dictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.ValueTypeColumnName">
+            <summary>
+            Gets the name of the value type column in the globals table.
+            This column stores the type of the value in the dictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.ValueTypeNameColumnName">
+            <summary>
+            Gets the name of the value type-name column in the globals table.
+            This column stores the name of the type of the value in the dictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.DataTableName">
+            <summary>
+            Gets the name of the data table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.KeyColumnName">
+            <summary>
+            Gets the name of the key column in the data table.
+            This column stores the key of the item.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConfig.ValueColumnName">
+            <summary>
+            Gets the name of the value column in the data table.
+            This column stores the value of the item.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2">
+            <summary>
+            Contains methods to set and get data from the ESENT
+            database.
+            </summary>
+            <typeparam name="TKey">The type of the key.</typeparam>
+            <typeparam name="TValue">The type of the value.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.keyColumnConverter">
+            <summary>
+            Column converter for the key column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.valueColumnConverter">
+            <summary>
+            Column converter for the value column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.MakeKey">
+            <summary>
+            Gets a delegate that can be used to call JetMakeKey with an object of
+            type <typeparamref name="TKey"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.SetKeyColumn">
+            <summary>
+            Gets a delegate that can be used to set the Key column with an object of
+            type <typeparamref name="TKey"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.SetValueColumn">
+            <summary>
+            Gets a delegate that can be used to set the Value column with an object of
+            type <typeparamref name="TValue"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.RetrieveKeyColumn">
+            <summary>
+            Gets a delegate that can be used to retrieve the Key column, returning
+            an object of type <typeparamref name="TKey"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.RetrieveValueColumn">
+            <summary>
+            Gets a delegate that can be used to retrieve the Value column, returning
+            an object of type <typeparamref name="TValue"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.KeyColtyp">
+            <summary>
+            Gets the JET_coltyp that the key column should have.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters`2.ValueColtyp">
+            <summary>
+            Gets the JET_coltyp that the value column should have.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2">
+            <summary>
+            Combines a JET_SESID and JET_TABLEID into a cursor which can
+            retrieve data from and update a PersistentDictionary database.
+            </summary>
+            <typeparam name="TKey">The type of the key.</typeparam>
+            <typeparam name="TValue">The type of the value.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.instance">
+            <summary>
+            The ESENT instance the cursor is opened against.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.sesid">
+            <summary>
+            The ESENT session the cursor is using.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.converters">
+            <summary>
+            Converters used to interact with ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.config">
+            <summary>
+            Database meta-data configuration.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.database">
+            <summary>
+            The database to use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.dbid">
+            <summary>
+            ID of the opened database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.globalsTable">
+            <summary>
+            ID of the opened globals table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.countColumn">
+            <summary>
+            ID of the count column in the globals table. This stores the
+            number of items in the collection.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.flushColumn">
+            <summary>
+            ID of the flush column in the globals table. This is updated
+            when we want to flush the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.dataTable">
+            <summary>
+            ID of the opened data table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.keyColumn">
+            <summary>
+            ID of the key column in the data table. This stores the keys of
+            the items.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.valueColumn">
+            <summary>
+            ID of the value column in the data table. This stores the values
+            of the items.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.#ctor(Microsoft.Isam.Esent.Interop.Instance,System.String,Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters{`0,`1},Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig)">
+            <summary>
+            Initializes a new instance of the PersistentDictionaryCursor class.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="database">The database to open.</param>
+            <param name="converters">ESENT conversion functions.</param>
+            <param name="config">The database meta-data config.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.TransactionLevel">
+            <summary>
+            Gets the current transaction level of the
+            <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2"/>.
+            Requires Win10. Otherwise returns -1, since 0 and positive numbers
+            are legitimate output.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.BeginTransaction">
+            <summary>
+            Begin a new transaction for this cursor.
+            </summary>
+            <returns>The new transaction.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.BeginLazyTransaction">
+            <summary>
+            Begin a new lazy transaction for this cursor. This is cheaper than
+            <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.BeginTransaction"/> because it returns a struct.
+            </summary>
+            <returns>The new transaction.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.BeginReadOnlyTransaction">
+            <summary>
+            Begin a new transaction for this cursor. This is the cheapest
+            transaction type because it returns a struct and no separate
+            commit call has to be made.
+            </summary>
+            <returns>The new transaction.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.TrySeek(`0)">
+            <summary>
+            Try to find the specified key. If the key is found
+            the cursor will be positioned on the record with the
+            key.
+            </summary>
+            <param name="key">The key to find.</param>
+            <returns>True if the key was found, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.TrySeek">
+            <summary>
+            Try to find the key specified with a previous call to <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.MakeKey(`0)"/>.
+            If the key is found
+            the cursor will be positioned on the record with the
+            key.
+            </summary>
+            <returns>True if the key was found, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.SeekWithKeyNotFoundException(`0)">
+            <summary>
+            Seek for the specified key. If the key is found the
+            cursor will be positioned with the record on the key.
+            If the key is not found then an exception will be thrown.
+            </summary>
+            <param name="key">The key to find.</param>
+            <exception cref="T:System.Collections.Generic.KeyNotFoundException">
+            The key wasn't found.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.MoveBeforeFirst">
+            <summary>
+            Position the cursor before the first record in the table.
+            A <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.TryMoveNext"/> will then position the cursor
+            on the first record.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.TryMoveNext">
+            <summary>
+            Try to move to the next record.
+            </summary>
+            <returns>
+            True if the move was successful, false if there are no more records.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.TryMovePrevious">
+            <summary>
+            Try to move to the previous record.
+            </summary>
+            <returns>
+            True if the move was successful, false if there are no more records.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.SetIndexRange(Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0})">
+            <summary>
+            Create an index range on the cursor, controlling which records will be enumerated.
+            </summary>
+            <param name="range">The range to set.</param>
+            <returns>False if the range is empty.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.SetReverseIndexRange(Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0})">
+            <summary>
+            Create an index range on the cursor, controlling which records will be enumerated.
+            After this call the cursor will be positioned on range.Max and can be enumerated
+            backwards to range.Min with TryMovePrevious.
+            </summary>
+            <param name="range">The range to set.</param>
+            <returns>False if the range is empty.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.RetrieveCurrentKey">
+            <summary>
+            Retrieve the key column of the record the cursor is currently positioned on.
+            </summary>
+            <returns>The key of the record.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.RetrieveCurrentValue">
+            <summary>
+            Retrieve the value column of the record the cursor is currently positioned on.
+            </summary>
+            <returns>The value of the record.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.RetrieveCurrent">
+            <summary>
+            Retrieve the key and value of record the cursor is currently positioned on.
+            </summary>
+            <returns>The key and value of the record as a KeyValuePair.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.RetrieveCount">
+            <summary>
+            Retrieve the count of items in the database from the globals table.
+            </summary>
+            <returns>The number of items in the database.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.Insert(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Insert data into the data table. No record with the same key
+            should exist.
+            </summary>
+            <param name="data">The data to add.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.DeleteCurrent">
+            <summary>
+            Delete the record the cursor is currently positioned on.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.ReplaceCurrentValue(`1)">
+            <summary>
+            Replace the value column of the record the cursor is currently on.
+            </summary>
+            <param name="value">The new value.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.Flush">
+            <summary>
+            Generate a null database update that we can wrap in a non-lazy transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.GetNormalizedKey">
+            <summary>
+            Calls JetRetrieveKey.
+            </summary>
+            <returns>The byte value of the normalized key.</returns> 
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.MakeKey(`0)">
+            <summary>
+            Calls JetMakeKey.
+            </summary>
+            <param name="key">The value of the key column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.MakePrefixKey(`0)">
+            <summary>
+            Calls JetMakeKey for a prefix.
+            </summary>
+            <param name="key">The value of the key column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.SetKeyColumn(`0)">
+            <summary>
+            Sets the key column.
+            </summary>
+            <param name="key">The value of the key column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.SetValue(`1)">
+            <summary>
+            Sets the value column.
+            </summary>
+            <param name="value">The value of the value column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.UpdateCount(System.Int32)">
+            <summary>
+            Update the count in the globals table. This is done with EscrowUpdate
+            so that there won't be any write conflicts.
+            </summary>
+            <param name="delta">The delta to apply to the count.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2.OpenDatabase">
+            <summary>
+            Open the database, open the global and data tables and get the required columnids.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2">
+            <summary>
+            A cache of <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor`2"/>
+            objects.
+            </summary>
+            <typeparam name="TKey">The type of the key.</typeparam>
+            <typeparam name="TValue">The type of the value.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.MaxCachedCursors">
+            <summary>
+            The maximum number of cursors that can be cached.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.instance">
+            <summary>
+            The underlying ESENT instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.converters">
+            <summary>
+            Data converters for the cursors.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.config">
+            <summary>
+            Configuration for the cursors.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.database">
+            <summary>
+            The name of the database to attach.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.cursors">
+            <summary>
+            The cached cursors.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.#ctor(Microsoft.Isam.Esent.Interop.Instance,System.String,Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryConverters{`0,`1},Microsoft.Isam.Esent.Collections.Generic.IPersistentDictionaryConfig)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2"/>
+            class.
+            </summary>
+            <param name="instance">The ESENT instance to use when opening a cursor.</param>
+            <param name="database">The database to open the cursors on.</param>
+            <param name="converters">The converters the cursors should use.</param>
+            <param name="config">The configuration for the cursors.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.GetCursor">
+            <summary>
+            Gets a new cursor. This will return a cached cursor if available,
+            or create a new one.
+            </summary>
+            <returns>A new cursor.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.FreeCursor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor{`0,`1})">
+            <summary>
+            Free a cursor. This will cache the cursor if the cache isn't full
+            and dispose of it otherwise.
+            </summary>
+            <param name="cursor">The cursor to free.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.OpenCursor">
+            <summary>
+            Create a new cursor.
+            </summary>
+            <returns>A new cursor.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursorCache`2.GetStartingOffset">
+            <summary>
+            Get the offset in the cached buffers array to start allocating or freeing 
+            buffers to. This is done so that all threads don't start operating on
+            slot zero, which would increase contention.
+            </summary>
+            <returns>The starting offset for Allocate/Free operations.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryDefaultConfig">
+            <summary>
+            Default configuration used by the dictionary.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryDefaultConfig.GetDefaultDatabaseConfig">
+            <summary>
+            Returns the default Ese configuration params.
+            </summary>
+            <returns>The default configuration params.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3">
+            <summary>
+            A PersistentDictionary enumerator that takes a key range and a filter.
+            </summary>
+            <typeparam name="TKey">The type of the dictionary .key.</typeparam>
+            <typeparam name="TValue">The type of the dictionary value.</typeparam>
+            <typeparam name="TReturn">The return value of the enumerator.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.dictionary">
+            <summary>
+            The dictionary being iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.range">
+            <summary>
+            The key range being iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.getter">
+            <summary>
+            A function that gets the value from a cursor.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.predicate">
+            <summary>
+            A compiled predicated expression to apply to the entries. Only values that
+            match the predicate are returned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.cursor">
+            <summary>
+            Cursor being used to iterate the dictionary.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.isAtEnd">
+            <summary>
+            Set to true once we reach the end.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.#ctor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{`0,`1},Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0},System.Func{Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor{`0,`1},`2},System.Predicate{`2})">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3"/> class.
+            </summary>
+            <param name="dictionary">The dictionary to enumerate.</param>
+            <param name="range">The range to enumerate.</param>
+            <param name="getter">A function that gets the value from a cursor.</param>
+            <param name="predicate">The predicate to filter items with.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.Current">
+            <summary>
+            Gets the current entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current entry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.Reset">
+            <summary>
+            Resets the enumerator. The next call to <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.MoveNext"/> will move
+            to the first entry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.Dispose">
+            <summary>
+            Disposes of any resources the enumerator is using.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.MoveNext">
+            <summary>
+            Move to the next entry.
+            </summary>
+            <returns>
+            True if an entry was found, false otherwise.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.MoveToMatch">
+            <summary>
+            Move to an entry that matches the predicate. This will only move off
+            the current entry if it doesn't match the predicate.
+            </summary>
+            <returns>True if a matching entry was found.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryEnumerator`3.CloseCursor">
+            <summary>
+            Close the cursor if it is open.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryFile">
+            <summary>
+            Methods that deal with <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary`2"/>
+            database files.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryFile.AllowReferenceTypeSerialization">
+            <summary>
+            This is used to get or set whether or not to allow reference type serialiation
+            </summary>
+            <value>False by default to disallow reference type serialization to avoid issues with persisted
+            copies not containing changes made to the original object.  Set to true to allow serialization in
+            cases where you don't care or if the persisted data is used in a read-only fashion when read back in
+            and will not change and is thus not affected by the issue.</value>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryFile.Exists(System.String)">
+            <summary>
+            Determine if a dictionary database file exists in the specified directory.
+            </summary>
+            <param name="directory">The directory to look in.</param>
+            <returns>True if the database file exists, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryFile.Exists(Microsoft.Database.Isam.Config.DatabaseConfig)">
+            <summary>
+            Determine if a dictionary database file exists in the specified directory.
+            </summary>
+            <param name="config">The config to use for locating dictionary files.</param>
+            <returns>True if the database file exists, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryFile.DeleteFiles(System.String)">
+            <summary>
+            Delete all files associated with a PersistedDictionary database from
+            the specified directory.
+            </summary>
+            <param name="directory">The directory to delete the files from.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryFile.DeleteFiles(Microsoft.Database.Isam.Config.DatabaseConfig)">
+            <summary>
+            Delete all files associated with a PersistedDictionary database from
+            the specified directory.
+            </summary>
+            <param name="config">The config to use for locating dictionary files.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryFile.DeleteIfExists(System.String)">
+            <summary>
+            Delete the file if it exists.
+            </summary>
+            <param name="path">File path to delete.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2">
+            <summary>
+            Collection of the keys in a PersistentDictionary.
+            </summary>
+            <typeparam name="TKey">The type of the key.</typeparam>
+            <typeparam name="TValue">The type of the value.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.#ctor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{`0,`1})">
+            <summary>
+            Initializes a new instance of the PersistentDictionaryKeyCollection class.
+            </summary>
+            <param name="dictionary">The dictionary containing the keys.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Contains(`0)">
+            <summary>
+            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
+            </summary>
+            <returns>
+            True if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
+            </returns>
+            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Reverse">
+            <summary>
+            Inverts the order of the elements in the collection.
+            </summary>
+            <returns>
+            A sequence whose elements correspond to those of the collection in reverse order.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Where(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Optimize a where statement which uses this collection.
+            </summary>
+            <param name="expression">
+            The predicate determining which items should be enumerated.
+            </param>
+            <returns>
+            An enumerator matching only the records matched by the predicate.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Min">
+            <summary>
+            Returns the minimum key.
+            </summary>
+            <returns>The minimum key.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            Thrown if the key collection is empty.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Max">
+            <summary>
+            Returns the maximum key.
+            </summary>
+            <returns>The maximum key.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            Thrown if the key collection is empty.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Any(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Determine whether any element of the collection satisfies a condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            True if any elements match the predicate, false otherwise.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.First(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Returns the first element in the collection that satisfies a specified condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The first element in the collection that satisfies a specified condition.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.FirstOrDefault(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Returns the first element in the collection that satisfies a specified condition or a default
+            value if no element exists.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The first element in the collection that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Last(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Returns the last element in the collection that satisfies a specified condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the collection that satisfies a specified condition.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.LastOrDefault(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Returns the last element in the collection that satisfies a specified condition or a default
+            value if no element exists.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the collection that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Last">
+            <summary>
+            Returns the last element of the collection.
+            </summary>
+            <returns>The last element.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            Thrown if the collection is empty.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.LastOrDefault">
+            <summary>
+            Returns the last element of the collection or a default value.
+            </summary>
+            <returns>The last element.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.Single(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Returns the only element in the collection that satisfies a specified condition and throws
+            an exception if there is more than one element.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the collection that satisfies a specified condition.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection`2.SingleOrDefault(System.Linq.Expressions.Expression{System.Predicate{`0}})">
+            <summary>
+            Returns the only element of the collection that satisfies a specified condition or a default
+            value if no such element exists; this method throws an exception if more than one element
+            satisfies the condition.
+            </summary>
+            <param name="expression">
+            A function to test each element for a condition.
+            </param>
+            <returns>
+            The last element in the collection that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqExtensions">
+            <summary>
+            Extension methods for LINQ queries on a dictionary.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqExtensions.Count``2(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryKeyCollection{``0,``1},System.Linq.Expressions.Expression{System.Predicate{``0}})">
+            <summary>
+            Returns a number that represents how many elements in the key collection satisfy a condition.
+            </summary>
+            <typeparam name="TKey">The type of the dictionary's keys.</typeparam>
+            <typeparam name="TValue">The type of the dictionary's values.</typeparam>
+            <param name="source">The dictionary key collection.</param>
+            <param name="expression">A function to test each element for a condition.</param>
+            <returns>The number of elements that satisfy the condition.</returns>
+            <remarks>
+            This method cannot be defined on the PersistentDictionaryKeyCollection because it conflicts
+            with the Count property.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqExtensions.Count``2(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{``0,``1},System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{``0,``1}}})">
+            <summary>
+            Returns a number that represents how many elements in the dictionary satisfy a condition.
+            </summary>
+            <typeparam name="TKey">The type of the dictionary's keys.</typeparam>
+            <typeparam name="TValue">The type of the dictionary's values.</typeparam>
+            <param name="source">The dictionary.</param>
+            <param name="expression">A function to test each element for a condition.</param>
+            <returns>The number of elements that satisfy the condition.</returns>
+            <remarks>
+            This method cannot be defined on the PersistentDictionary because it conflicts
+            with the Count property.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2">
+            <summary>
+            An object which can enumerate the specified key range in a PersistentDictionary and apply a filter.
+            </summary>
+            <typeparam name="TKey">The type of the key in the dictionary.</typeparam>
+            <typeparam name="TValue">The type of the value in the dictionary.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.dictionary">
+            <summary>
+            The dictionary being iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.expression">
+            <summary>
+            The expression describing the key range to be iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.predicate">
+            <summary>
+            A predicate to apply to the return values. Only entries that match 
+            the predicate are returned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.isReversed">
+            <summary>
+            A value that controls whether enumerators produced by this enumerable 
+            should be reversed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.#ctor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{`0,`1},System.Linq.Expressions.Expression{System.Predicate{`0}},System.Predicate{`0},System.Boolean)">
+            <summary>
+            Initializes a new instance of the PersistentDictionaryLinqKeyEnumerable class.
+            </summary>
+            <param name="dict">The dictionary to enumerate.</param>
+            <param name="expression">The expression describing the range of keys to return.</param>
+            <param name="predicate">Predicate to apply to the return values.</param>
+            <param name="isReversed">
+            A value that controls whether enumerators produced by this enumerable should be reversed.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.Reverse">
+            <summary>
+            Inverts the order of the elements in a sequence.
+            </summary>
+            <returns>
+            A sequence whose elements correspond to those of the input sequence in reverse order.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.Last">
+            <summary>
+            Returns the last element in a sequence.
+            </summary>
+            <returns>
+            The last element in a sequence.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyEnumerable`2.LastOrDefault">
+            <summary>
+            Returns the last element in a sequence that satisfies a specified condition or a default
+            value if no element exists.
+            </summary>
+            <returns>
+            The last element in a sequence that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2">
+            <summary>
+            An object which can enumerate the specified key range in a PersistentDictionary and apply a filter.
+            </summary>
+            <typeparam name="TKey">The type of the key in the dictionary.</typeparam>
+            <typeparam name="TValue">The type of the value in the dictionary.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.dictionary">
+            <summary>
+            The dictionary being iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.expression">
+            <summary>
+            The expression describing the key range to be iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.predicate">
+            <summary>
+            A predicate to apply to the return values. Only entries that match 
+            the predicate are returned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.isReversed">
+            <summary>
+            A value that controls whether enumerators produced by this enumerable 
+            should be reversed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.#ctor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{`0,`1},System.Linq.Expressions.Expression{System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}}},System.Predicate{System.Collections.Generic.KeyValuePair{`0,`1}},System.Boolean)">
+            <summary>
+            Initializes a new instance of the PersistentDictionaryLinqKeyValueEnumerable class.
+            </summary>
+            <param name="dict">The dictionary to enumerate.</param>
+            <param name="expression">The expression describing the range of keys to return.</param>
+            <param name="predicate">Predicate to apply to the return values.</param>
+            <param name="isReversed">
+            A value that controls whether enumerators produced by this enumerable should be reversed.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.Reverse">
+            <summary>
+            Inverts the order of the elements in a sequence.
+            </summary>
+            <returns>
+            A sequence whose elements correspond to those of the input sequence in reverse order.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.Last">
+            <summary>
+            Returns the last element in a sequence.
+            </summary>
+            <returns>
+            The last element in a sequence.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryLinqKeyValueEnumerable`2.LastOrDefault">
+            <summary>
+            Returns the last element in a sequence that satisfies a specified condition or a default
+            value if no element exists.
+            </summary>
+            <returns>
+            The last element in a sequence that satisfies a specified condition or a default value.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryMath">
+            <summary>
+            A collection of math-related functions useful for PersistentDictionary utilization.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryMath.GetHashCodeForKey(System.Byte[])">
+            <summary>
+            Calculates a hash code for the normalized key.
+            </summary>
+            <param name="normalizedKey">A byte array.</param>
+            <returns>A hash code based on the byte array.</returns>
+            <remarks>
+            This is similar to Store's IEqualityComparer&lt;object[]&gt;.GetHashCode(object[] x).
+            It is not meant to be cryptographically secure.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3">
+            <summary>
+            A PersistentDictionary enumerator that takes a key range and a filter and enumerates
+            the records from the last key to the first.
+            </summary>
+            <typeparam name="TKey">The type of the dictionary .key.</typeparam>
+            <typeparam name="TValue">The type of the dictionary value.</typeparam>
+            <typeparam name="TReturn">The return value of the enumerator.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.dictionary">
+            <summary>
+            The dictionary being iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.range">
+            <summary>
+            The key range being iterated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.getter">
+            <summary>
+            A function that gets the value from a cursor.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.predicate">
+            <summary>
+            A compiled predicated expression to apply to the entries. Only values that
+            match the predicate are returned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.cursor">
+            <summary>
+            Cursor being used to iterate the dictionary.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.isAtEnd">
+            <summary>
+            Set to true once we reach the end.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.#ctor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{`0,`1},Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0},System.Func{Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryCursor{`0,`1},`2},System.Predicate{`2})">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3"/> class.
+            </summary>
+            <param name="dictionary">The dictionary to enumerate.</param>
+            <param name="range">The range to enumerate.</param>
+            <param name="getter">A function that gets the value from a cursor.</param>
+            <param name="predicate">The predicate to filter items with.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.Current">
+            <summary>
+            Gets the current entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current entry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.Reset">
+            <summary>
+            Resets the enumerator. The next call to MoveNext will move
+            to the first entry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.Dispose">
+            <summary>
+            Disposes of any resources the enumerator is using.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.MoveNext">
+            <summary>
+            Move to the next entry.
+            </summary>
+            <returns>
+            True if an entry was found, false otherwise.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.MoveToMatch">
+            <summary>
+            Move to an entry that matches the predicate. This will only move off
+            the current entry if it doesn't match the predicate.
+            </summary>
+            <returns>True if a matching entry was found.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryReverseEnumerator`3.CloseCursor">
+            <summary>
+            Close the cursor if it is open.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryValueCollection`2">
+            <summary>
+            Collection of the values in a PersistentDictionary.
+            </summary>
+            <typeparam name="TKey">The type of the key.</typeparam>
+            <typeparam name="TValue">The type of the value.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryValueCollection`2.#ctor(Microsoft.Isam.Esent.Collections.Generic.PersistentDictionary{`0,`1})">
+            <summary>
+            Initializes a new instance of the PersistentDictionaryValueCollection class.
+            </summary>
+            <param name="dictionary">The dictionary containing the values.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryValueCollection`2.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PersistentDictionaryValueCollection`2.Contains(`1)">
+            <summary>
+            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
+            </summary>
+            <returns>
+            True if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
+            </returns>
+            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1">
+            <summary>
+            Contains methods to evaluate a predicate Expression and determine
+            a key range which contains all items matched by the predicate.
+            </summary>
+            <typeparam name="TKey">The key type.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.CompareToMethod">
+            <summary>
+            A MethodInfo describes TKey.CompareTo(TKey).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.EqualsMethod">
+            <summary>
+            A MethodInfo describing TKey.Equals(TKey).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.GetKeyRange(System.Linq.Expressions.Expression,System.Reflection.MemberInfo)">
+            <summary>
+            Evaluate a predicate Expression and determine a key range which
+            contains all items matched by the predicate.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <param name="keyMemberInfo">The name of the parameter member that is the key.</param>
+            <returns>
+            A KeyRange that contains all items matched by the predicate. If no
+            range can be determined the range will include all items.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.KeyRangeIsExact(System.Linq.Expressions.Expression,System.Reflection.MemberInfo)">
+            <summary>
+            Evaluate a predicate Expression and determine whether a key range can
+            be found that completely satisfies the expression. If this method returns
+            true then the key range returned by <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.GetKeyRange(System.Linq.Expressions.Expression,System.Reflection.MemberInfo)"/> will return
+            only records which match the expression.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <param name="keyMemberInfo">The name of the parameter member that is the key.</param>
+            <returns>
+            True if the key range returned by <see cref="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.GetKeyRange(System.Linq.Expressions.Expression,System.Reflection.MemberInfo)"/> will perfectly
+            match all records found by the expression.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.GetKeyRangeOfSubtree(System.Linq.Expressions.Expression,System.Reflection.MemberInfo)">
+            <summary>
+            Evaluate a predicate Expression and determine key range which
+            contains all items matched by the predicate.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <param name="keyMemberInfo">The name of the parameter member that is the key.</param>
+            <returns>
+            A KeyRange containing all items matched by the predicate. If no
+            range can be determined the ranges will include all items.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsComparisonMethod(System.Linq.Expressions.MethodCallExpression,System.Reflection.MemberInfo,Microsoft.Isam.Esent.Collections.Generic.KeyRange{`0}@)">
+            <summary>
+            Determine if the MethodCallExpression is a key comparison method, and
+            return the index range if it is.
+            </summary>
+            <param name="methodCall">The method call expression.</param>
+            <param name="keyMemberInfo">The name of the parameter member that is the key.</param>
+            <param name="keyRange">Returns the key range if this is a key comparison method.</param>
+            <returns>True if the method is a key comparison method.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.GetNegationOf(System.Linq.Expressions.Expression,System.Reflection.MemberInfo)">
+            <summary>
+            Get the negation of the given expression.
+            </summary>
+            <param name="expression">The expression.</param>
+            <param name="keyMemberInfo">The name of the parameter member that is the key.</param>
+            <returns>The negation of the given range.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsConstantComparison(System.Linq.Expressions.BinaryExpression,System.Reflection.MemberInfo,`0@,System.Linq.Expressions.ExpressionType@)">
+            <summary>
+            Determine if the current binary expression involves the Key of the parameter
+            and a constant value.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <param name="keyMemberInfo">The name of the parameter member that is the key.</param>
+            <param name="value">Returns the value being compared to the key.</param>
+            <param name="expressionType">Returns the type of the expression.</param>
+            <returns>
+            True if the expression involves the key of the parameter and a constant value.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsSimpleComparisonExpression(System.Linq.Expressions.BinaryExpression,System.Reflection.MemberInfo,`0@,System.Linq.Expressions.ExpressionType@)">
+            <summary>
+            Determine if the binary expression is comparing the key value against a constant.
+            </summary>
+            <param name="expression">The expression.</param>
+            <param name="keyMemberInfo">The name of the parameter key.</param>
+            <param name="value">Returns the constant being compared against.</param>
+            <param name="expressionType">Returns the type of the comparison.</param>
+            <returns>True if this expression is comparing the key value against a constant.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsCompareToExpression(System.Linq.Expressions.BinaryExpression,System.Reflection.MemberInfo,`0@,System.Linq.Expressions.ExpressionType@)">
+            <summary>
+            Determine if the binary expression is comparing the key value against a constant
+            using CompareTo.
+            </summary>
+            <param name="expression">The expression.</param>
+            <param name="keyMemberInfo">The name of the parameter key.</param>
+            <param name="value">Returns the constant being compared against.</param>
+            <param name="expressionType">Returns the type of the comparison.</param>
+            <returns>True if this expression is comparing the key value against a constant.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsStringComparisonExpression(System.Linq.Expressions.BinaryExpression,System.Reflection.MemberInfo,`0@,System.Linq.Expressions.ExpressionType@)">
+            <summary>
+            Determine if the binary expression is comparing the key value against a string
+            using the simplest (two-argument) form of String.Compare.
+            </summary>
+            <param name="expression">The expression.</param>
+            <param name="keyMemberInfo">The name of the parameter key.</param>
+            <param name="value">Returns the constant being compared against.</param>
+            <param name="expressionType">Returns the type of the comparison.</param>
+            <returns>True if this expression is comparing the key value against a constant string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.GetReverseExpressionType(System.Linq.Expressions.ExpressionType)">
+            <summary>
+            Reverse the type of the comparison. This is used when the key is on the right hand side
+            of the comparison, so that 3 LT Key becomes Key GT 3.
+            </summary>
+            <param name="originalExpressionType">The original expression type.</param>
+            <returns>The reverse of a comparison expression type or the original expression type.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsKeyAccess(System.Linq.Expressions.Expression,System.Reflection.MemberInfo)">
+            <summary>
+            Determine if the expression is accessing the key of the paramter of the expression.
+            parameter.
+            </summary>
+            <param name="expression">The expression to evaluate.</param>
+            <param name="keyMemberInfo">The name of the parameter member that is the key.</param>
+            <returns>True if the expression is accessing the key of the parameter.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsCompareTo(System.Linq.Expressions.Expression,System.Reflection.MemberInfo,`0@)">
+            <summary>
+            Determine if the expression is a call to [param].[member].CompareTo(value).
+            </summary>
+            <param name="expression">The expression to examine.</param>
+            <param name="keyMemberInfo">The name of the key member.</param>
+            <param name="value">Returns the string value being compared against.</param>
+            <returns>
+            True if the expression is a call to parameter.keyMember.CompareTo(value).
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsStringCompare(System.Linq.Expressions.Expression,System.Reflection.MemberInfo,`0@)">
+            <summary>
+            Determine if the expression is a call to String.Compare(key, value).
+            </summary>
+            <param name="expression">The expression to examine.</param>
+            <param name="keyMemberInfo">The name of the key member.</param>
+            <param name="value">Returns the string value being compared against.</param>
+            <returns>
+            True if the expression is a call to String.Compare(key, value).
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.PredicateExpressionEvaluator`1.IsStringCompareReversed(System.Linq.Expressions.Expression,System.Reflection.MemberInfo,`0@)">
+            <summary>
+            Determine if the expression is a call to String.Compare(value, key).
+            </summary>
+            <param name="expression">The expression to examine.</param>
+            <param name="keyMemberInfo">The name of the key member.</param>
+            <param name="value">Returns the string value being compared against.</param>
+            <returns>
+            True if the expression is a call to String.Compare(value, key).
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.ReadOnlyTransaction">
+            <summary>
+            Disposable wrapper for a read-only transaction. The Dispose method
+            will commit the transaction. Unlike the Transaction class this is
+            a struct, so it isn't as flexible, but it can be faster.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.ReadOnlyTransaction.sesid">
+            <summary>
+            The session that has the transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ReadOnlyTransaction.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Collections.Generic.ReadOnlyTransaction"/> struct.
+            </summary>
+            <param name="sesid">
+            The sesid.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Collections.Generic.ReadOnlyTransaction.Dispose">
+            <summary>
+            Rollback the transaction if not already committed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Collections.Generic.StringExpressionEvaluatorHelper">
+            <summary>
+            Methods for dealing with string expressions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.StringExpressionEvaluatorHelper.StringStaticCompareMethodImplementation">
+            <summary>
+            A MethodInfo describing the static String.Compare(string, string).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.StringExpressionEvaluatorHelper.StringStaticEqualsMethodImplementation">
+            <summary>
+            A MethodInfo describing the static String.Equals(string, string).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Collections.Generic.StringExpressionEvaluatorHelper.StringStartsWithMethodImplementation">
+            <summary>
+            A MethodInfo describing String.StartsWith(string).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.StringExpressionEvaluatorHelper.StringStaticCompareMethod">
+            <summary>
+            Gets a MethodInfo describing the static String.Compare(string, string).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.StringExpressionEvaluatorHelper.StringStaticEqualsMethod">
+            <summary>
+            Gets a MethodInfo describing the static String.Equals(string, string).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Collections.Generic.StringExpressionEvaluatorHelper.StringStartWithMethod">
+            <summary>
+            Gets a MethodInfo describing String.StartsWith(string, string).
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Interop.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Interop.dll
new file mode 100644
index 0000000000000000000000000000000000000000..aca50620dda75b2a23d8704a4572d5e2b18c71b7
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Interop.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Interop.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Interop.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b84d73b7a501fc9d84e108a5cbdc5137f7c4f749
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Interop.xml
@@ -0,0 +1,34538 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Esent.Interop</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Isam.Esent.Interop.Api">
+            <summary>
+            Managed versions of the ESENT Api. This class contains static methods corresponding
+            with the unmanaged ESENT Api. These methods throw exceptions when errors are returned.
+            </summary>
+            <summary>
+            Helper methods for the ESENT API. These wrap JetMakeKey.
+            </summary>
+            <summary>
+            Internal-only methods of the Api.
+            </summary>
+            <summary>
+            Helper methods for the ESENT API. These do data conversion for
+            JetMakeKey.
+            </summary>
+            <summary>
+            Helper methods for the ESENT API. These methods deal with database
+            meta-data.
+            </summary>
+            <summary>
+            Helper methods for the ESENT API. These aren't interop versions
+            of the API, but encapsulate very common uses of the functions.
+            </summary>
+            <summary>
+            API members that are marked as obsolete.
+            </summary>
+            <summary>
+            Helper methods for the ESENT API. These methods deal with database
+            meta-data.
+            </summary>
+            <summary>
+            Helper methods for the ESENT API. These aren't interop versions
+            of the API, but encapsulate very common uses of the functions.
+            </summary>
+            <summary>
+            Helper methods for the ESENT API. These do data conversion for
+            setting columns.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.#cctor">
+            <summary>
+            Initializes static members of the Api class.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Api.ErrorHandler">
+            <summary>
+            Delegate for error handling code.
+            </summary>
+            <param name="error">The error that has been encountered.</param>
+        </member>
+        <member name="E:Microsoft.Isam.Esent.Interop.Api.HandleError">
+            <summary>
+            Gets or sets the ErrorHandler for all errors. This can
+            be used for logging or to throw an exception.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Api.Impl">
+            <summary>
+            Gets or sets the IJetApi this is called for all functions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)">
+            <summary>
+            Allocates a new instance of the database engine.
+            </summary>
+            <param name="instance">Returns the new instance.</param>
+            <param name="name">The name of the instance. Names must be unique.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String,System.String,Microsoft.Isam.Esent.Interop.CreateInstanceGrbit)">
+            <summary>
+            Allocate a new instance of the database engine for use in a single
+            process, with a display name specified.
+            </summary>
+            <param name="instance">Returns the newly create instance.</param>
+            <param name="name">
+            Specifies a unique string identifier for the instance to be created.
+            This string must be unique within a given process hosting the
+            database engine.
+            </param>
+            <param name="displayName">
+            A display name for the instance to be created. This will be used
+            in eventlog entries.
+            </param>
+            <param name="grbit">Creation options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetInit2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <param name="grbit">
+            Initialization options.
+            </param>
+            <returns>
+            A warning code.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetInstanceInfo(System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@)">
+            <summary>
+            Retrieves information about the instances that are running.
+            </summary>
+            <param name="numInstances">
+            Returns the number of instances.
+            </param>
+            <param name="instances">
+            Returns an array of instance info objects, one for each running
+            instance.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetStopBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Prevents streaming backup-related activity from continuing on a
+            specific running instance, thus ending the streaming backup in
+            a predictable way.
+            </summary>
+            <param name="instance">The instance to use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetStopServiceInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Prepares an instance for termination.
+            </summary>
+            <param name="instance">The (running) instance to use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetTerm(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Terminate an instance that was created with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> or
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)"/>.
+            </summary>
+            <param name="instance">The instance to terminate.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetTerm2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.TermGrbit)">
+            <summary>
+            Terminate an instance that was created with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> or
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)"/>.
+            </summary>
+            <param name="instance">The instance to terminate.</param>
+            <param name="grbit">Termination options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.Int32,System.String)">
+            <summary>
+            Sets database configuration options.
+            </summary>
+            <param name="instance">
+            The instance to set the option on or <see cref="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil"/>
+            to set the option on all instances.
+            </param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to set.</param>
+            <param name="paramValue">The value of the parameter to set, if the parameter is an integer type.</param>
+            <param name="paramString">The value of the parameter to set, if the parameter is a string type.</param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.String)">
+            <summary>
+            Sets database configuration options.
+            </summary>
+            <param name="instance">
+            The instance to set the option on or <see cref="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil"/>
+            to set the option on all instances.
+            </param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to set.</param>
+            <param name="paramValue">The value of the parameter to set, if the parameter is a JET_CALLBACK.</param>
+            <param name="paramString">The value of the parameter to set, if the parameter is a string type.</param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr,System.String)">
+            <summary>
+            Sets database configuration options.
+            </summary>
+            <param name="instance">
+            The instance to set the option on or <see cref="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil"/>
+            to set the option on all instances.
+            </param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to set.</param>
+            <param name="paramValue">The value of the parameter to set, if the parameter is an integer type.</param>
+            <param name="paramString">The value of the parameter to set, if the parameter is a string type.</param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr@,System.String@,System.Int32)">
+            <summary>
+            Gets database configuration options.
+            </summary>
+            <param name="instance">The instance to retrieve the options from.</param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to get.</param>
+            <param name="paramValue">Returns the value of the parameter, if the value is an integer.</param>
+            <param name="paramString">Returns the value of the parameter, if the value is a string.</param>
+            <param name="maxParam">The maximum size of the parameter string.</param>
+            <returns>An ESENT warning code.</returns>
+            <remarks>
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.ErrorToString"/> passes in the error number in the paramValue, which is why it is
+            a ref parameter and not an out parameter.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.Int32@,System.String@,System.Int32)">
+            <summary>
+            Gets database configuration options.
+            </summary>
+            <param name="instance">The instance to retrieve the options from.</param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to get.</param>
+            <param name="paramValue">Returns the value of the parameter, if the value is an integer.</param>
+            <param name="paramString">Returns the value of the parameter, if the value is a string.</param>
+            <param name="maxParam">The maximum size of the parameter string.</param>
+            <returns>An ESENT warning code.</returns>
+            <remarks>
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.ErrorToString"/> passes in the error number in the paramValue, which is why it is
+            a ref parameter and not an out parameter.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetVersion(Microsoft.Isam.Esent.Interop.JET_SESID,System.UInt32@)">
+            <summary>
+            Retrieves the version of the database engine.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="version">Returns the version number of the database engine.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)">
+            <summary>
+            Creates and attaches a database file.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The path to the database file to create.</param>
+            <param name="connect">The parameter is not used.</param>
+            <param name="dbid">Returns the dbid of the new database.</param>
+            <param name="grbit">Database creation options.</param>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.CreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)">
+            <summary>
+            Creates and attaches a database file with a maximum database size specified.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The path to the database file to create.</param>
+            <param name="maxPages">
+            The maximum size, in database pages, of the database. Passing 0 means there is
+            no enforced maximum.
+            </param>
+            <param name="dbid">Returns the dbid of the new database.</param>
+            <param name="grbit">Database creation options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)">
+            <summary>
+            Attaches a database file for use with a database instance. In order to use the
+            database, it will need to be subsequently opened with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The database to attach.</param>
+            <param name="grbit">Attach options.</param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)">
+            <summary>
+            Attaches a database file for use with a database instance. In order to use the
+            database, it will need to be subsequently opened with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The database to attach.</param>
+            <param name="maxPages">
+            The maximum size, in database pages, of the database. Passing 0 means there is
+            no enforced maximum.
+            </param>
+            <param name="grbit">Attach options.</param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)">
+            <summary>
+            Opens a database previously attached with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>,
+            for use with a database session. This function can be called multiple times
+            for the same database.
+            </summary>
+            <param name="sesid">The session that is opening the database.</param>
+            <param name="database">The database to open.</param>
+            <param name="connect">Reserved for future use.</param>
+            <param name="dbid">Returns the dbid of the attached database.</param>
+            <param name="grbit">Open database options.</param>
+            <returns>An ESENT warning code.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.OpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCloseDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.CloseDatabaseGrbit)">
+            <summary>
+            Closes a database file that was previously opened with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/> or
+            created with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to close.</param>
+            <param name="grbit">Close options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDetachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String)">
+            <summary>
+            Releases a database file that was previously attached to a database session.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="database">The database to detach.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDetachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit)">
+            <summary>
+            Releases a database file that was previously attached to a database session.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="database">The database to detach.</param>
+            <param name="grbit">Detach options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCompact(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS,Microsoft.Isam.Esent.Interop.JET_CONVERT,Microsoft.Isam.Esent.Interop.CompactGrbit)">
+            <summary>
+            Makes a copy of an existing database. The copy is compacted to a
+            state optimal for usage. Data in the copied data will be packed
+            according to the measures chosen for the indexes at index create.
+            In this way, compacted data may be stored as densely as possible.
+            Alternatively, compacted data may reserve space for subsequent
+            record growth or index insertions.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="sourceDatabase">The source database that will be compacted.</param>
+            <param name="destinationDatabase">The name to use for the compacted database.</param>
+            <param name="statusCallback">
+            A callback function that can be called periodically through the
+            database compact operation to report progress.
+            </param>
+            <param name="ignored">
+            This parameter is ignored and should be null.
+            </param>
+            <param name="grbit">Compact options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGrowDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@)">
+            <summary>
+            Extends the size of a database that is currently open.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">
+            The size of the database, in pages, after the call.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetDatabaseSize(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,System.Int32@)">
+            <summary>
+            Sets the size of an unopened database file.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The name of the database.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">
+            The size of the database, in pages, after the call.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_DBINFOMISC@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="dbinfomisc">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetDatabaseFileInfo(System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetDatabaseFileInfo(System.String,System.Int64@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetDatabaseFileInfo(System.String,Microsoft.Isam.Esent.Interop.JET_DBINFOMISC@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="dbinfomisc">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)">
+            <summary>
+            Performs a streaming backup of an instance, including all the attached
+            databases, to a directory. With multiple backup methods supported by
+            the engine, this is the simplest and most encapsulated function.
+            </summary>
+            <param name="instance">The instance to backup.</param>
+            <param name="destination">
+            The directory where the backup is to be stored. If the backup path is
+            null to use the function will truncate the logs, if possible.
+            </param>
+            <param name="grbit">Backup options.</param>
+            <param name="statusCallback">
+            Optional status notification callback.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRestoreInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)">
+            <summary>
+            Restores and recovers a streaming backup of an instance including all
+            the attached databases. It is designed to work with a backup created
+            with the <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)"/> function. This is the
+            simplest and most encapsulated restore function.
+            </summary>
+            <param name="instance">
+            The instance to use. The instance should not be initialized.
+            Restoring the files will initialize the instance.
+            </param>
+            <param name="source">
+            Location of the backup. The backup should have been created with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)"/>.
+            </param>
+            <param name="destination">
+            Name of the folder where the database files from the backup set will
+            be copied and recovered. If this is set to null, the database files
+            will be copied and recovered to their original location.
+            </param>
+            <param name="statusCallback">
+            Optional status notification callback.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotFreeze(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.SnapshotFreezeGrbit)">
+            <summary>
+            Starts a snapshot. While the snapshot is in progress, no
+            write-to-disk activity by the engine can take place.
+            </summary>
+            <param name="snapshot">The snapshot session.</param>
+            <param name="numInstances">
+            Returns the number of instances that are part of the snapshot session.
+            </param>
+            <param name="instances">
+            Returns information about the instances that are part of the snapshot session.
+            </param>
+            <param name="grbit">
+            Snapshot freeze options.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotPrepare(Microsoft.Isam.Esent.Interop.JET_OSSNAPID@,Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit)">
+            <summary>
+            Begins the preparations for a snapshot session. A snapshot session
+            is a short time interval in which the engine does not issue any
+            write IOs to disk, so that the engine can participate in a volume
+            snapshot session (when driven by a snapshot writer).
+            </summary>
+            <param name="snapshot">Returns the ID of the snapshot session.</param>
+            <param name="grbit">Snapshot options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)">
+            <summary>
+            Notifies the engine that it can resume normal IO operations after a
+            freeze period and a successful snapshot.
+            </summary>
+            <param name="snapshot">The ID of the snapshot.</param>
+            <param name="grbit">Thaw options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)">
+            <summary>
+            Initiates an external backup while the engine and database are online and active.
+            </summary>
+            <param name="instance">The instance prepare for backup.</param>
+            <param name="grbit">Backup options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCloseFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Closes a file that was opened with JetOpenFileInstance after the
+            data from that file has been extracted using JetReadFileInstance.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="handle">The handle to close.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetEndExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Ends an external backup session. This API is the last API in a series
+            of APIs that must be called to execute a successful online
+            (non-VSS based) backup.
+            </summary>
+            <param name="instance">The instance to end the backup for.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetEndExternalBackupInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.EndExternalBackupGrbit)">
+            <summary>
+            Ends an external backup session. This API is the last API in a series
+            of APIs that must be called to execute a successful online
+            (non-VSS based) backup.
+            </summary>
+            <param name="instance">The instance to end the backup for.</param>
+            <param name="grbit">Options that specify how the backup ended.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetAttachInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of database files that should become part of
+            the backup file set. Only databases that are currently attached to the instance
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/> will be considered. These files may
+            subsequently be opened using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/> and read
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database files
+            that should be a part of the backup file set. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetLogInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of database patch files and logfiles that
+            should become part of the backup file set. These files may subsequently be
+            opened using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/> and read using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database patch files
+            and log files that should be a part of the backup file set. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTruncateLogInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of the transaction log files that can be safely
+            deleted after the backup has successfully completed.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database log files
+            that can be safely deleted after the backup completes. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)">
+            <summary>
+            Opens an attached database, database patch file, or transaction log
+            file of an active instance for the purpose of performing a streaming
+            fuzzy backup. The data from these files can subsequently be read
+            through the returned handle using JetReadFileInstance. The returned
+            handle must be closed using JetCloseFileInstance. An external backup
+            of the instance must have been previously initiated using
+            JetBeginExternalBackupInstance.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="file">The file to open.</param>
+            <param name="handle">Returns a handle to the file.</param>
+            <param name="fileSizeLow">Returns the least significant 32 bits of the file size.</param>
+            <param name="fileSizeHigh">Returns the most significant 32 bits of the file size.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves the contents of a file opened with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/>.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="file">The file to read from.</param>
+            <param name="buffer">The buffer to read into.</param>
+            <param name="bufferSize">The size of the buffer.</param>
+            <param name="bytesRead">Returns the amount of data read into the buffer.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetTruncateLogInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Used during a backup initiated by JetBeginExternalBackup to delete
+            any transaction log files that will no longer be needed once the
+            current backup completes successfully.
+            </summary>
+            <param name="instance">The instance to truncate.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetBeginSession(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID@,System.String,System.String)">
+            <summary>
+            Initialize a new ESENT session.
+            </summary>
+            <param name="instance">The initialized instance to create the session in.</param>
+            <param name="sesid">Returns the created session.</param>
+            <param name="username">The parameter is not used.</param>
+            <param name="password">The parameter is not used.</param>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.BeginSession(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID@)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID,System.IntPtr)">
+            <summary>
+            Associates a session with the current thread using the given context
+            handle. This association overrides the default engine requirement
+            that a transaction for a given session must occur entirely on the
+            same thread. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetResetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID)"/> to remove the
+            association.
+            </summary>
+            <param name="sesid">The session to set the context on.</param>
+            <param name="context">The context to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetResetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Disassociates a session from the current thread. This should be
+            used in conjunction with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID,System.IntPtr)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetEndSession(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.EndSessionGrbit)">
+            <summary>
+            Ends a session.
+            </summary>
+            <param name="sesid">The session to end.</param>
+            <param name="grbit">This parameter is not used.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDupSession(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_SESID@)">
+            <summary>
+            Initialize a new ESE session in the same instance as the given sesid.
+            </summary>
+            <param name="sesid">The session to duplicate.</param>
+            <param name="newSesid">Returns the new session.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.OpenTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Opens a cursor on a previously created table.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="dbid">The database to open the table in.</param>
+            <param name="tablename">The name of the table to open.</param>
+            <param name="parameters">The parameter is not used.</param>
+            <param name="parametersSize">The parameter is not used.</param>
+            <param name="grbit">Table open options.</param>
+            <param name="tableid">Returns the opened table.</param>
+            <returns>An ESENT warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Close an open table.
+            </summary>
+            <param name="sesid">The session which opened the table.</param>
+            <param name="tableid">The table to close.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDupCursor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.DupCursorGrbit)">
+            <summary>
+            Duplicates an open cursor and returns a handle to the duplicated cursor.
+            If the cursor that was duplicated was a read-only cursor then the
+            duplicated cursor is also a read-only cursor.
+            Any state related to constructing a search key or updating a record is
+            not copied into the duplicated cursor. In addition, the location of the
+            original cursor is not duplicated into the duplicated cursor. The
+            duplicated cursor is always opened on the clustered index and its
+            location is always on the first row of the table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to duplicate.</param>
+            <param name="newTableid">The duplicated cursor.</param>
+            <param name="grbit">Reserved for future use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetComputeStats(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Walks each index of a table to exactly compute the number of entries
+            in an index, and the number of distinct keys in an index. This
+            information, together with the number of database pages allocated
+            for an index and the current time of the computation is stored in
+            index metadata in the database. This data can be subsequently retrieved
+            with information operations.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table that the statistics will be computed on.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)">
+            <summary>
+            Enables the application to associate a context handle known as
+            Local Storage with a cursor or the table associated with that
+            cursor. This context handle can be used by the application to
+            store auxiliary data that is associated with a cursor or table.
+            The application is later notified using a runtime callback when
+            the context handle must be released. This makes it possible to
+            associate dynamically allocated state with a cursor or table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use.</param>
+            <param name="ls">The context handle to be associated with the session or cursor.</param>
+            <param name="grbit">Set options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS@,Microsoft.Isam.Esent.Interop.LsGrbit)">
+            <summary>
+            Enables the application to retrieve the context handle known
+            as Local Storage that is associated with a cursor or the table
+            associated with that cursor. This context handle must have been
+            previously set using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)"/>. JetGetLS can also
+            be used to simultaneously fetch the current context handle for
+            a cursor or table and reset that context handle.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use.</param>
+            <param name="ls">Returns the retrieved context handle.</param>
+            <param name="grbit">Retrieve options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetCursorInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Determine whether an update of the current record of a cursor
+            will result in a write conflict, based on the current update
+            status of the record. It is possible that a write conflict will
+            ultimately be returned even if JetGetCursorInfo returns successfully.
+            because another session may update the record before the current
+            session is able to update the same record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to check.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetBeginTransaction(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetBeginTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.BeginTransactionGrbit)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <param name="grbit">Transaction options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCommitTransaction(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit)">
+            <summary>
+            Commits the changes made to the state of the database during the current save point
+            and migrates them to the previous save point. If the outermost save point is committed
+            then the changes made during that save point will be committed to the state of the
+            database and the session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to commit the transaction for.</param>
+            <param name="grbit">Commit options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRollback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.RollbackTransactionGrbit)">
+            <summary>
+            Undoes the changes made to the state of the database
+            and returns to the last save point. JetRollback will also close any cursors
+            opened during the save point. If the outermost save point is undone, the
+            session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to rollback the transaction for.</param>
+            <param name="grbit">Rollback options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Create an empty table. The newly created table is opened exclusively.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to create the table in.</param>
+            <param name="table">The name of the table to create.</param>
+            <param name="pages">Initial number of pages in the table.</param>
+            <param name="density">
+            The default density of the table. This is used when doing sequential inserts.
+            </param>
+            <param name="tableid">Returns the tableid of the new table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetAddColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.JET_COLUMNID@)">
+            <summary>
+            Add a new column to an existing table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to add the column to.</param>
+            <param name="column">The name of the column.</param>
+            <param name="columndef">The definition of the column.</param>
+            <param name="defaultValue">The default value of the column.</param>
+            <param name="defaultValueSize">The size of the default value.</param>
+            <param name="columnid">Returns the columnid of the new column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDeleteColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Deletes a column from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the column from.</param>
+            <param name="column">The name of the column to be deleted.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDeleteColumn2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.DeleteColumnGrbit)">
+            <summary>
+            Deletes a column from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the column from.</param>
+            <param name="column">The name of the column to be deleted.</param>
+            <param name="grbit">Column deletion options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDeleteIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Deletes an index from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the index from.</param>
+            <param name="index">The name of the index to be deleted.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDeleteTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String)">
+            <summary>
+            Deletes a table from a database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to delete the table from.</param>
+            <param name="table">The name of the table to delete.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.String,System.Int32,System.Int32)">
+            <summary>
+            Creates an index over data in an ESE database. An index can be used to locate
+            specific data quickly.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexName">
+            Pointer to a null-terminated string that specifies the name of the index to create.
+            </param>
+            <param name="grbit">Index creation options.</param>
+            <param name="keyDescription">
+            Pointer to a double null-terminated string of null-delimited tokens.
+            </param>
+            <param name="keyDescriptionLength">
+            The length, in characters, of szKey including the two terminating nulls.
+            </param>
+            <param name="density">Initial B+ tree density.</param>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.String,System.Int32,System.Int32)"/>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <remarks>
+            When creating multiple indexes (i.e. with numIndexCreates
+            greater than 1) this method MUST be called
+            outside of any transactions and with exclusive access to the
+            table. The JET_TABLEID returned by "JetCreateTable"
+            will have exlusive access or the table can be opened for
+            exclusive access by passing <see cref="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.DenyRead"/>
+            to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.OpenTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@)"/>.
+            <para>
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>
+            are very similar, and appear to take the same arguments. The difference is in the
+            implementation. JetCreateIndex2 uses LCIDs for Unicode indices (e.g. 1033), while
+            JetCreateIndex4 uses Locale Names (e.g. "en-US" or "de-DE". LCIDs are older, and not as well
+            supported in newer version of windows.
+            </para>
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.String,System.Int32,System.Int32)"/>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/> frees the resources associated
+            with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of
+            the input array.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>,
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="lcid">
+            The locale ID to use to compare any Unicode key column data in the temporary table.
+            Any locale may be used as long as the appropriate language pack has been installed
+            on the machine.
+            </param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/> frees the resources associated
+            with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of
+            the input array.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>,
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="unicodeindex">
+            The Locale ID and normalization flags that will be used to compare
+            any Unicode key column data in the temporary table. When this
+            is not present then the default options are used.
+            </param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/> frees the resources associated
+            with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of
+            the input array.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetCreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateTableColumnIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnid">The columnid of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columnbase">Filled in with information about the column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST@)">
+            <summary>
+            Retrieves information about all columns in the table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The parameter is ignored.</param>
+            <param name="columnlist">Filled in with information about the columns in the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.ColInfoGrbit,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST@)">
+            <summary>
+            Retrieves information about all columns in the table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The parameter is ignored.</param>
+            <param name="grbit">Additional options for JetGetTableColumnInfo.</param>
+            <param name="columnlist">Filled in with information about the columns in the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST@)">
+            <summary>
+            Retrieves information about all columns in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnName">This parameter is ignored.</param>
+            <param name="columnlist">Filled in with information about the columns in the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a column in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columnbase">Filled in with information about the columns in the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetObjectInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_OBJECTLIST@)">
+            <summary>
+            Retrieves information about database objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="objectlist">Filled in with information about the objects in the database.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetObjectInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_objtyp,System.String,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO@)">
+            <summary>
+            Retrieves information about database objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="objtyp">The type of the object.</param>
+            <param name="objectName">The object name about which to retrieve information.</param>
+            <param name="objectinfo">Filled in with information about the objects in the database.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,System.Int32)">
+             <summary>
+             Determines the name of the current index of a given cursor.
+             </summary>
+             <remarks>
+             This name is also used to later re-select that index as the current index using
+             <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)"/>.  It can also be used to discover the properties of that index using
+             JetGetTableIndexInfo.
+            
+             The returned name of the index will be an empty string if the current index is the clustered index and no
+             primary index was explicitly defined.
+             </remarks>
+             <param name="sesid">The session to use.</param>
+             <param name="tableid">The cursor to get the index name for.</param>
+             <param name="indexName">Returns the name of the index.</param>
+             <param name="maxNameLength">
+             The maximum length of the index name. Index names are no more than
+             <see cref="F:Microsoft.Isam.Esent.Interop.SystemParameters.NameMost"/> characters.
+             </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Default"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Name"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.TemplateTableName"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Dbid"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32[],Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceUsage"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAlloc"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceOwned"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAvailable"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.UInt16@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.UInt16@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRenameTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String)">
+            <summary>
+            Changes the name of an existing table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the table.</param>
+            <param name="tableName">The name of the table.</param>
+            <param name="newTableName">The new name of the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRenameColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.String,Microsoft.Isam.Esent.Interop.RenameColumnGrbit)">
+            <summary>
+            Changes the name of an existing column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="name">The name of the column.</param>
+            <param name="newName">The new name of the column.</param>
+            <param name="grbit">Column rename options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumnDefaultValue(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnDefaultValueGrbit)">
+            <summary>
+            Changes the default value of an existing column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the column.</param>
+            <param name="tableName">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="data">The new default value.</param>
+            <param name="dataSize">Size of the new default value.</param>
+            <param name="grbit">Column default value options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGotoBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32)">
+            <summary>
+            Positions a cursor to an index entry for the record that is associated with
+            the specified bookmark. The bookmark can be used with any index defined over
+            a table. The bookmark for a record can be retrieved using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="bookmark">The bookmark used to position the cursor.</param>
+            <param name="bookmarkSize">The size of the bookmark.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGotoSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit)">
+            <summary>
+            Positions a cursor to an index entry that is associated with the
+            specified secondary index bookmark. The secondary index bookmark
+            must be used with the same index over the same table from which it
+            was originally retrieved. The secondary index bookmark for an index
+            entry can be retrieved using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGotoSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table cursor to position.</param>
+            <param name="secondaryKey">The buffer that contains the secondary key.</param>
+            <param name="secondaryKeySize">The size of the secondary key.</param>
+            <param name="primaryKey">The buffer that contains the primary key.</param>
+            <param name="primaryKeySize">The size of the primary key.</param>
+            <param name="grbit">Options for positioning the bookmark.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)">
+            <summary>
+            Navigate through an index. The cursor can be positioned at the start or
+            end of the index and moved backwards and forwards by a specified number
+            of index entries. Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMoveFirst(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>, <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMoveLast(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>,
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMoveNext(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>, <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMovePrevious(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="numRows">An offset which indicates how far to move the cursor.</param>
+            <param name="grbit">Move options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_Move,Microsoft.Isam.Esent.Interop.MoveGrbit)">
+            <summary>
+            Navigate through an index. The cursor can be positioned at the start or
+            end of the index and moved backwards and forwards by a specified number
+            of index entries. Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMoveFirst(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>, <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMoveLast(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>,
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMoveNext(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>, <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TryMovePrevious(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="numRows">An offset which indicates how far to move the cursor.</param>
+            <param name="grbit">Move options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetMakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs search keys that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <remarks>
+            The MakeKey functions provide datatype-specific make key functionality.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="dataSize">Size of the data.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)">
+            <summary>
+            Efficiently positions a cursor to an index entry that matches the search
+            criteria specified by the search key in that cursor and the specified
+            inequality. A search key must have been previously constructed using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetMakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)"/>.
+            Also see <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TrySeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="grbit">Seek options.</param>
+            <returns>An ESENT warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)">
+            <summary>
+            Temporarily limits the set of index entries that the cursor can walk using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)"/> to those starting
+            from the current index entry and ending at the index entry that matches the
+            search criteria specified by the search key in that cursor and the specified
+            bound criteria. A search key must have been previously constructed using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetMakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)"/>.
+            Also see <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.TrySetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index range on.</param>
+            <param name="grbit">Index range options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetIntersectIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXRANGE[],System.Int32,Microsoft.Isam.Esent.Interop.JET_RECORDLIST@,Microsoft.Isam.Esent.Interop.IntersectIndexesGrbit)">
+            <summary>
+            Computes the intersection between multiple sets of index entries from different secondary
+            indices over the same table. This operation is useful for finding the set of records in a
+            table that match two or more criteria that can be expressed using index ranges. Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.IntersectIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID[])"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="ranges">
+            An the index ranges to intersect. The tableids in the ranges
+            must have index ranges set on them. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>
+            to create an index range.
+            </param>
+            <param name="numRanges">
+            The number of index ranges.
+            </param>
+            <param name="recordlist">
+            Returns information about the temporary table containing the intersection results.
+            </param>
+            <param name="grbit">Intersection options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit,System.Int32)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <param name="itagSequence">
+            Sequence number of the multi-valued column value which will be used
+            to position the cursor on the new index. This parameter is only used
+            in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.NoMove"/>. When
+            this parameter is not present or is set to zero, its value is presumed
+            to be 1.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit,System.Int32)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="indexid">
+            The id of the index to select. This id can be obtained using JetGetIndexInfo
+            or JetGetTableIndexInfo with the <see cref="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.IndexId"/> option.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <param name="itagSequence">
+            Sequence number of the multi-valued column value which will be used
+            to position the cursor on the new index. This parameter is only used
+            in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.NoMove"/>. When
+            this parameter is not present or is set to zero, its value is presumed
+            to be 1.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetIndexRecordCount(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,System.Int32)">
+            <summary>
+            Counts the number of entries in the current index from the current position forward.
+            The current position is included in the count. The count can be greater than the
+            total number of records in the table if the current index is over a multi-valued
+            column and instances of the column have multiple-values. If the table is empty,
+            then 0 will be returned for the count.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to count the records in.</param>
+            <param name="numRecords">Returns the number of records.</param>
+            <param name="maxRecordsToCount">
+            The maximum number of records to count. A value of 0 indicates that the count
+            is unlimited.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetIndexRecordCount2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int64@,System.Int64)">
+            <summary>
+            Counts the number of entries in the current index from the current position forward.
+            The current position is included in the count. The count can be greater than the
+            total number of records in the table if the current index is over a multi-valued
+            column and instances of the column have multiple-values. If the table is empty,
+            then 0 will be returned for the count. 
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to count the records in.</param>
+            <param name="numRecords">Returns the number of records.</param>
+            <param name="maxRecordsToCount">
+            The maximum number of records to count. A value of 0 indicates that the count
+            is unlimited.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetTableSequentialGrbit)">
+            <summary>
+            Notifies the database engine that the application is scanning the entire
+            index that the cursor is positioned on. Consequently, the methods that
+            are used to access the index data will be tuned to make this scenario as
+            fast as possible.
+            Also see <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetResetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ResetTableSequentialGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor that will be accessing the data.</param>
+            <param name="grbit">Reserved for future use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetResetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ResetTableSequentialGrbit)">
+            <summary>
+            Notifies the database engine that the application is no longer scanning the
+            entire index the cursor is positioned on. This call reverses a notification
+            sent by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetTableSequentialGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor that was accessing the data.</param>
+            <param name="grbit">Reserved for future use.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetRecordPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS@)">
+            <summary>
+            Returns the fractional position of the current record in the current index
+            in the form of a <see cref="T:Microsoft.Isam.Esent.Interop.JET_RECPOS"/> structure.
+            Also see <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetGotoPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor positioned on the record.</param>
+            <param name="recpos">Returns the approximate fractional position of the record.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGotoPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS)">
+            <summary>
+            Moves a cursor to a new location that is a fraction of the way through
+            the current index.
+            Also see <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetRecordPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="recpos">The approximate position to move to.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves the bookmark for the record that is associated with the index entry
+            at the current position of a cursor. This bookmark can then be used to
+            reposition that cursor back to the same record using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGotoBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32)"/>.
+            The bookmark will be no longer than <see cref="P:Microsoft.Isam.Esent.Interop.SystemParameters.BookmarkMost"/>
+            bytes.
+            Also see <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.GetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <param name="bookmark">Buffer to contain the bookmark.</param>
+            <param name="bookmarkSize">Size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.GetSecondaryIndexBookmarkGrbit)">
+            <summary>
+            Retrieves a special bookmark for the secondary index entry at the
+            current position of a cursor. This bookmark can then be used to
+            efficiently reposition that cursor back to the same index entry
+            using JetGotoSecondaryIndexBookmark. This is most useful when
+            repositioning on a secondary index that contains duplicate keys or
+            that contains multiple index entries for the same record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <param name="secondaryKey">Output buffer for the secondary key.</param>
+            <param name="secondaryKeySize">Size of the secondary key buffer.</param>
+            <param name="actualSecondaryKeySize">Returns the size of the secondary key.</param>
+            <param name="primaryKey">Output buffer for the primary key.</param>
+            <param name="primaryKeySize">Size of the primary key buffer.</param>
+            <param name="actualPrimaryKeySize">Returns the size of the primary key.</param>
+            <param name="grbit">Options for the call.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRetrieveKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit)">
+            <summary>
+            Retrieves the key for the index entry at the current position of a cursor.
+            Also see <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.RetrieveKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the key from.</param>
+            <param name="data">The buffer to retrieve the key into.</param>
+            <param name="dataSize">The size of the buffer.</param>
+            <param name="actualDataSize">Returns the actual size of the data.</param>
+            <param name="grbit">Retrieve key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRetrieveColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit,Microsoft.Isam.Esent.Interop.JET_RETINFO)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            Alternatively, this function can retrieve a column from a record being created
+            in the cursor copy buffer. This function can also retrieve column data from an
+            index entry that references the current record. In addition to retrieving the
+            actual column value, JetRetrieveColumn can also be used to retrieve the size
+            of a column, before retrieving the column data itself so that application
+            buffers can be sized appropriately.
+            </summary>
+            <remarks>
+            The RetrieveColumnAs functions provide datatype-specific retrieval functions.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="data">The data buffer to be retrieved into.</param>
+            <param name="dataSize">The size of the data buffer.</param>
+            <param name="actualDataSize">Returns the actual size of the data buffer.</param>
+            <param name="grbit">Retrieve column options.</param>
+            <param name="retinfo">
+            If pretinfo is give as NULL then the function behaves as though an itagSequence
+            of 1 and an ibLongValue of 0 (zero) were given. This causes column retrieval to
+            retrieve the first value of a multi-valued column, and to retrieve long data at
+            offset 0 (zero).
+            </param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRetrieveColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN[],System.Int32)">
+            <summary>
+            Retrieves multiple column values from the current record in a
+            single operation. An array of JET_RETRIEVECOLUMN structures is
+            used to describe the set of column values to be retrieved, and
+            to describe output buffers for each column value to be retrieved.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the data from.</param>
+            <param name="retrievecolumns">
+            An array of one or more <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN"/> objects
+            describing the data to be retrieved.
+            </param>
+            <param name="numColumns">
+            The number of entries in the columns array.
+            </param>
+            <returns>
+            If any column retrieved is truncated due to an insufficient
+            length buffer, then the API will return
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.BufferTruncated"/>. However other errors
+            JET_wrnColumnNull are returned only in the error field of
+            the <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN"/> object.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID[],System.Int32@,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN[]@,Microsoft.Isam.Esent.Interop.JET_PFNREALLOC,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit)">
+            <summary>
+            Efficiently retrieves a set of columns and their values from the
+            current record of a cursor or the copy buffer of that cursor. The
+            columns and values retrieved can be restricted by a list of
+            column IDs, itagSequence numbers, and other characteristics. This
+            column retrieval API is unique in that it returns information in
+            dynamically allocated memory that is obtained using a
+            user-provided realloc compatible callback. This new flexibility
+            permits the efficient retrieval of column data with specific
+            characteristics (such as size and multiplicity) that are unknown
+            to the caller. This eliminates the need for the use of the discovery
+            modes of JetRetrieveColumn to determine those
+            characteristics in order to setup a final call to
+            JetRetrieveColumn that will successfully retrieve
+            the desired data.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve data from.</param>
+            <param name="numColumnids">The numbers of JET_ENUMCOLUMNIDS.</param>
+            <param name="columnids">
+            An optional array of column IDs, each with an optional array of itagSequence
+            numbers to enumerate.
+            </param>
+            <param name="numColumnValues">
+            Returns the number of column values retrieved.
+            </param>
+            <param name="columnValues">
+            Returns the enumerated column values.
+            </param>
+            <param name="allocator">
+            Callback used to allocate memory.
+            </param>
+            <param name="allocatorContext">
+            Context for the allocation callback.
+            </param>
+            <param name="maxDataSize">
+            Sets a cap on the amount of data to return from a long text or long
+            binary column. This parameter can be used to prevent the enumeration
+            of an extremely large column value.
+            </param>
+            <param name="grbit">Retrieve options.</param>
+            <returns>A warning or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit,System.Collections.Generic.IEnumerable{Microsoft.Isam.Esent.Interop.EnumeratedColumn}@)">
+            <summary>
+            Efficiently retrieves a set of columns and their values from the
+            current record of a cursor or the copy buffer of that cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve data from.</param>
+            <param name="grbit">Enumerate options.</param>
+            <param name="enumeratedColumns">The discovered columns and their values.</param>
+            <returns>A warning or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Deletes the current record in a database table.
+            </summary>
+            <param name="sesid">The session that opened the cursor.</param>
+            <param name="tableid">The cursor on a database table. The current row will be deleted.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)">
+            <summary>
+            Prepare a cursor for update.
+            </summary>
+            <param name="sesid">The session which is starting the update.</param>
+            <param name="tableid">The cursor to start the update for.</param>
+            <param name="prep">The type of update to prepare.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            The JetUpdate function performs an update operation including inserting a new row into
+            a table or updating an existing row. Deleting a table row is performed by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session which started the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="bookmark">Returns the bookmark of the updated record. This can be null.</param>
+            <param name="bookmarkSize">The size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <remarks>
+            JetUpdate is the final step in performing an insert or an update. The update is begun by
+            calling <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)"/> and then by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)"/>
+            one or more times to set the record state. Finally, <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)"/>
+            is called to complete the update operation. Indexes are updated only by JetUpdate or and not during JetSetColumn.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            The JetUpdate function performs an update operation including inserting a new row into
+            a table or updating an existing row. Deleting a table row is performed by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session which started the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <remarks>
+            JetUpdate is the final step in performing an insert or an update. The update is begun by
+            calling <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)"/> and then by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)"/>
+            one or more times to set the record state. Finally, <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)"/>
+            is called to complete the update operation. Indexes are updated only by JetUpdate or and not during JetSetColumn.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)">
+            <summary>
+            The JetSetColumn function modifies a single column value in a modified record to be inserted or to
+            update the current record. It can overwrite an existing value, add a new value to a sequence of
+            values in a multi-valued column, remove a value from a sequence of values in a multi-valued column,
+            or update all or part of a long value (a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>).
+            </summary>
+            <remarks>
+            The SetColumn methods provide datatype-specific overrides which may be more efficient.
+            </remarks>
+            <param name="sesid">The session which is performing the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="dataSize">The size of data to set.</param>
+            <param name="grbit">SetColumn options.</param>
+            <param name="setinfo">Used to specify itag or long-value offset.</param>
+            <returns>A warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_SETCOLUMN[],System.Int32)">
+            <summary>
+            Allows an application to set multiple column values in a single
+            operation. An array of <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN"/> structures is
+            used to describe the set of column values to be set, and to describe
+            input buffers for each column value to be set.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the columns on.</param>
+            <param name="setcolumns">
+            An array of <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN"/> structures describing the
+            data to set.
+            </param>
+            <param name="numColumns">
+            Number of entries in the setcolumns parameter.
+            </param>
+            <returns>
+            A warning. If the last column set has a warning, then
+            this warning will be returned from JetSetColumns itself.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetLock(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.GetLockGrbit)">
+            <summary>
+            Explicitly reserve the ability to update a row, write lock, or to explicitly prevent a row from
+            being updated by any other session, read lock. Normally, row write locks are acquired implicitly as a
+            result of updating rows. Read locks are usually not required because of record versioning. However,
+            in some cases a transaction may desire to explicitly lock a row to enforce serialization, or to ensure
+            that a subsequent operation will succeed.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use. A lock will be acquired on the current record.</param>
+            <param name="grbit">Lock options, use this to specify which type of lock to obtain.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetEscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit)">
+            <summary>
+            Performs an atomic addition operation on one column. This function allows
+            multiple sessions to update the same record concurrently without conflicts.
+            Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.EscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int32)"/>.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.EscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int64)"/>.
+            </summary>
+            <param name="sesid">
+            The session to use. The session must be in a transaction.
+            </param>
+            <param name="tableid">The cursor to update.</param>
+            <param name="columnid">
+            The column to update. This must be an escrow updatable column.
+            </param>
+            <param name="delta">The buffer containing the addend.</param>
+            <param name="deltaSize">The size of the addend.</param>
+            <param name="previousValue">
+            An output buffer that will recieve the current value of the column. This buffer
+            can be null.
+            </param>
+            <param name="previousValueLength">The size of the previousValue buffer.</param>
+            <param name="actualPreviousValueLength">Returns the actual size of the previousValue.</param>
+            <param name="grbit">Escrow update options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)">
+            <summary>
+            Allows the application to configure the database engine to issue
+            notifications to the application for specific events. These
+            notifications are associated with a specific table and remain in
+            effect only until the instance containing the table is shut down
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetTerm(Microsoft.Isam.Esent.Interop.JET_INSTANCE)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            A cursor opened on the table that the callback should be
+            registered on.
+            </param>
+            <param name="cbtyp">
+            The callback reasons for which the application wishes to receive notifications.
+            </param>
+            <param name="callback">The callback function.</param>
+            <param name="context">A context that will be given to the callback.</param>
+            <param name="callbackId">
+            A handle that can later be used to cancel the registration of the given
+            callback function using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetUnregisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_HANDLE)"/>.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetUnregisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Configures the database engine to stop issuing notifications to the
+            application as previously requested through
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            A cursor opened on the table that the callback should be
+            registered on.
+            </param>
+            <param name="cbtyp">
+            The callback reasons for which the application no longer wishes to receive notifications.
+            </param>
+            <param name="callbackId">
+            The handle of the registered callback that was returned by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)"/>.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="passes">
+            When starting an online defragmentation task, this parameter sets the maximum number of defragmentation
+            passes. When stopping an online defragmentation task, this parameter is set to the number of passes
+            performed. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="seconds">
+            When starting an online defragmentation task, this parameter sets
+            the maximum time for defragmentation. When stopping an online
+            defragmentation task, this output buffer is set to the length of
+            time used for defragmentation. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>A warning code.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.Defragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.JET_CALLBACK,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <remarks>
+            The callback passed to JetDefragment2 can be executed asynchronously.
+            The GC doesn't know that the unmanaged code has a reference to the callback
+            so it is important to make sure the callback isn't collected.
+            </remarks>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="passes">
+            When starting an online defragmentation task, this parameter sets the maximum number of defragmentation
+            passes. When stopping an online defragmentation task, this parameter is set to the number of passes
+            performed. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="seconds">
+            When starting an online defragmentation task, this parameter sets
+            the maximum time for defragmentation. When stopping an online
+            defragmentation task, this output buffer is set to the length of
+            time used for defragmentation. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="callback">Callback function that defrag uses to report progress.</param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>A warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetIdle(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.IdleGrbit)">
+            <summary>
+            Performs idle cleanup tasks or checks the version store status in ESE.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="grbit">A combination of JetIdleGrbit flags.</param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetFreeBuffer(System.IntPtr)">
+            <summary>
+            Frees memory that was allocated by a database engine call.
+            </summary>
+            <remarks>
+            This method is internal because we never expose the memory
+            allocated by ESENT to our callers.
+            </remarks>
+            <param name="buffer">
+            The buffer allocated by a call to the database engine.
+            <see cref="F:System.IntPtr.Zero"/> is acceptable, and will be ignored.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.Check(System.Int32)">
+            <summary>
+            Throw an exception if the parameter is an ESE error,
+            returns a <see cref="T:Microsoft.Isam.Esent.Interop.JET_wrn"/> otherwise.
+            </summary>
+            <param name="err">The error code to check.</param>
+            <returns>An ESENT warning code (possibly success).</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.CreateErrorException(System.Int32)">
+            <summary>
+            Create an error exception that should be thrown for a failure.
+            </summary>
+            <param name="err">The error code.</param>
+            <returns>A failure exception.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryGetLock(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.GetLockGrbit)">
+            <summary>
+            Explicitly reserve the ability to update a row, write lock, or to explicitly prevent a row from
+            being updated by any other session, read lock. Normally, row write locks are acquired implicitly as a
+            result of updating rows. Read locks are usually not required because of record versioning. However,
+            in some cases a transaction may desire to explicitly lock a row to enforce serialization, or to ensure
+            that a subsequent operation will succeed. 
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use. A lock will be acquired on the current record.</param>
+            <param name="grbit">Lock options, use this to specify which type of lock to obtain.</param>
+            <returns>
+            True if the lock was obtained, false otherwise. An exception is thrown if an unexpected
+            error is encountered.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)">
+            <summary>
+            The JetSetColumn function modifies a single column value in a modified record to be inserted or to
+            update the current record. It can overwrite an existing value, add a new value to a sequence of
+            values in a multi-valued column, remove a value from a sequence of values in a multi-valued column,
+            or update all or part of a long value (a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>). 
+            </summary>
+            <remarks>
+            This is an internal-only version of the API that takes a data buffer and an offset into the buffer.
+            </remarks>
+            <param name="sesid">The session which is performing the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="dataSize">The size of data to set.</param>
+            <param name="dataOffset">The offset in the data buffer to set data from.</param>
+            <param name="grbit">SetColumn options.</param>
+            <param name="setinfo">Used to specify itag or long-value offset.</param>
+            <returns>A warning value.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRetrieveColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit,Microsoft.Isam.Esent.Interop.JET_RETINFO)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            Alternatively, this function can retrieve a column from a record being created
+            in the cursor copy buffer. This function can also retrieve column data from an
+            index entry that references the current record. In addition to retrieving the
+            actual column value, JetRetrieveColumn can also be used to retrieve the size
+            of a column, before retrieving the column data itself so that application
+            buffers can be sized appropriately.  
+            </summary>
+            <remarks>
+            This is an internal method that takes a buffer offset as well as size.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="data">The data buffer to be retrieved into.</param>
+            <param name="dataSize">The size of the data buffer.</param>
+            <param name="dataOffset">Offset into the data buffer to read data into.</param>
+            <param name="actualDataSize">Returns the actual size of the data buffer.</param>
+            <param name="grbit">Retrieve column options.</param>
+            <param name="retinfo">
+            If pretinfo is give as NULL then the function behaves as though an itagSequence
+            of 1 and an ibLongValue of 0 (zero) were given. This causes column retrieval to
+            retrieve the first value of a multi-valued column, and to retrieve long data at
+            offset 0 (zero).
+            </param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetRetrieveColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.IntPtr,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit,Microsoft.Isam.Esent.Interop.JET_RETINFO)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            Alternatively, this function can retrieve a column from a record being created
+            in the cursor copy buffer. This function can also retrieve column data from an
+            index entry that references the current record. In addition to retrieving the
+            actual column value, JetRetrieveColumn can also be used to retrieve the size
+            of a column, before retrieving the column data itself so that application
+            buffers can be sized appropriately.  
+            </summary>
+            <remarks>
+            This is an internal-use version that takes an IntPtr.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="data">The data buffer to be retrieved into.</param>
+            <param name="dataSize">The size of the data buffer.</param>
+            <param name="actualDataSize">Returns the actual size of the data buffer.</param>
+            <param name="grbit">Retrieve column options.</param>
+            <param name="retinfo">
+            If pretinfo is give as NULL then the function behaves as though an itagSequence
+            of 1 and an ibLongValue of 0 (zero) were given. This causes column retrieval to
+            retrieve the first value of a multi-valued column, and to retrieve long data at
+            offset 0 (zero).
+            </param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetMakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs search keys that may then be used by JetSeek and JetSetIndexRange.
+            </summary>
+            <remarks>
+            This is an internal (unsafe) version that takes an IntPtr.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="dataSize">Size of the data.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)">
+            <summary>
+            The JetSetColumn function modifies a single column value in a modified record to be inserted or to
+            update the current record. It can overwrite an existing value, add a new value to a sequence of
+            values in a multi-valued column, remove a value from a sequence of values in a multi-valued column,
+            or update all or part of a long value, a column of type JET_coltyp.LongText or JET_coltyp.LongBinary. 
+            </summary>
+            <remarks>
+            This method takes an IntPtr and is intended for internal use only.
+            </remarks>
+            <param name="sesid">The session which is performing the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="dataSize">The size of data to set.</param>
+            <param name="grbit">SetColumn options.</param>
+            <param name="setinfo">Used to specify itag or long-value offset.</param>
+            <returns>A warning value.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.Text.Encoding,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="encoding">The encoding used to convert the string.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Boolean,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int16,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int64,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Guid,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.DateTime,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Single,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Double,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.UInt16,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.UInt32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.UInt64,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs a search key that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="grbit">Key options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.BeginSession(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID@)">
+            <summary>
+            Initialize a new ESENT session.
+            </summary>
+            <param name="instance">The initialized instance to create the session in.</param>
+            <param name="sesid">Returns the created session.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.CreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)">
+            <summary>
+            Creates and attaches a database file.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The path to the database file to create.</param>
+            <param name="dbid">Returns the dbid of the new database.</param>
+            <param name="grbit">Database creation options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.OpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)">
+            <summary>
+            Opens a database previously attached with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>,
+            for use with a database session. This function can be called multiple times
+            for the same database.
+            </summary>
+            <param name="sesid">The session that is opening the database.</param>
+            <param name="database">The database to open.</param>
+            <param name="dbid">Returns the dbid of the attached database.</param>
+            <param name="grbit">Open database options.</param>
+            <returns>An ESENT warning code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.OpenTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.OpenTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Opens a cursor on a previously created table.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="dbid">The database to open the table in.</param>
+            <param name="tablename">The name of the table to open.</param>
+            <param name="grbit">Table open options.</param>
+            <param name="tableid">Returns the opened table.</param>
+            <returns>An ESENT warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryOpenTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.OpenTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Try to open a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to look for the table in.</param>
+            <param name="tablename">The name of the table.</param>
+            <param name="grbit">Table open options.</param>
+            <param name="tableid">Returns the opened tableid.</param>
+            <returns>True if the table was opened, false if the table doesn't exist.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetColumnDictionary(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Creates a dictionary which maps column names to their column IDs.
+            </summary>
+            <param name="sesid">The sesid to use.</param>
+            <param name="tableid">The table to retrieve the information for.</param>
+            <returns>A dictionary mapping column names to column IDs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetTableColumnid(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Get the columnid of the specified column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <returns>The id of the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetTableColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Iterates over all the columns in the table, returning information about each one.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve column information for.</param>
+            <returns>An iterator over ColumnInfo for each column in the table.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetTableColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String)">
+            <summary>
+            Iterates over all the columns in the table, returning information about each one.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the table.</param>
+            <param name="tablename">The name of the table.</param>
+            <returns>An iterator over ColumnInfo for each column in the table.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetTableIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Iterates over all the indexes in the table, returning information about each one.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information for.</param>
+            <returns>An iterator over an IndexInfo for each index in the table.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetTableIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String)">
+            <summary>
+            Iterates over all the indexs in the table, returning information about each one.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the table.</param>
+            <param name="tablename">The name of the table.</param>
+            <returns>An iterator over an IndexInfo for each index in the table.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetTableNames(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID)">
+            <summary>
+            Returns the names of the tables in the database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the table.</param>
+            <returns>An iterator over the names of the tables in the database.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryJetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>true if there was no error, false if the index wasn't found. Throws for other Jet errors.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Determines the name of the current index of a given cursor.
+            </summary>
+            <remarks>
+            This name is also used to later re-select that index as the current index using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)"/>.  It can also be used to discover the properties of that index using
+            JetGetTableIndexInfo.
+            
+            The returned name of the index will be null if the current index is the clustered index and no primary
+            index was explicitly defined.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to get the index name for.</param>
+            <returns>Returns the name of the index.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MoveBeforeFirst(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Position the cursor before the first record in the table. A
+            subsequent move next will position the cursor on the first
+            record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to position.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.MoveAfterLast(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Position the cursor after the last record in the table. A
+            subsequent move previous will position the cursor on the
+            last record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to position.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_Move,Microsoft.Isam.Esent.Interop.MoveGrbit)">
+            <summary>
+            Try to navigate through an index. If the navigation succeeds this
+            method returns true. If there is no record to navigate to this
+            method returns false; an exception will be thrown for other errors.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="move">The direction to move in.</param>
+            <param name="grbit">Move options.</param>
+            <returns>True if the move was successful.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryMoveFirst(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Try to move to the first record in the table. If the table is empty this
+            returns false, if a different error is encountered an exception is thrown.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <returns>True if the move was successful.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryMoveLast(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Try to move to the last record in the table. If the table is empty this
+            returns false, if a different error is encountered an exception is thrown.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <returns>True if the move was successful.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryMoveNext(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Try to move to the next record in the table. If there is not a next record
+            this returns false, if a different error is encountered an exception is thrown.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <returns>True if the move was successful.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryMovePrevious(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Try to move to the previous record in the table. If there is not a previous record
+            this returns false, if a different error is encountered an exception is thrown.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <returns>True if the move was successful.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TrySeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)">
+            <summary>
+            Efficiently positions a cursor to an index entry that matches the search
+            criteria specified by the search key in that cursor and the specified
+            inequality. A search key must have been previously constructed using JetMakeKey.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="grbit">Seek option.</param>
+            <returns>True if a record matching the criteria was found.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TrySetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)">
+            <summary>
+            Temporarily limits the set of index entries that the cursor can walk using
+            JetMove to those starting from the current index entry and ending at the index
+            entry that matches the search criteria specified by the search key in that cursor
+            and the specified bound criteria. A search key must have been previously constructed
+            using JetMakeKey. Returns true if the index range is non-empty, false otherwise.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="grbit">Seek option.</param>
+            <returns>True if the seek was successful.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.ResetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Removes an index range created with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/> or
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.TrySetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>. If no index range is present this
+            method does nothing.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to remove the index range on.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.IntersectIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID[])">
+            <summary>
+            Intersect a group of index ranges and return the bookmarks of the records which are found
+            in all the index ranges.
+            Also see <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetIntersectIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXRANGE[],System.Int32,Microsoft.Isam.Esent.Interop.JET_RECORDLIST@,Microsoft.Isam.Esent.Interop.IntersectIndexesGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableids">
+            The tableids to use. Each tableid must be from a different index on the same table and
+            have an active index range. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>
+            to create an index range.
+            </param>
+            <returns>
+            The bookmarks of the records which are found in all the index ranges. The bookmarks
+            are returned in primary key order.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.TryGotoBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32)">
+            <summary>
+            Positions a cursor to an index entry for the record that is associated with
+            the specified bookmark. The bookmark can be used with any index defined over
+            a table. The bookmark for a record can be retrieved using <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="bookmark">The bookmark used to position the cursor.</param>
+            <param name="bookmarkSize">The size of the bookmark.</param>
+            <returns>True if a record matching the bookmark was found.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="ignored">This parameter is ignored.</param>
+            <param name="indexlist">Filled in with information about indexes on the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">This parameter is ignored.</param>
+            <param name="indexlist">Filled in with information about indexes on the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.Defragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given 
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>A warning code.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Api.AsciiDecoder">
+            <summary>
+            Encoding to use to decode ASCII text. We use this because
+            UTF8.GetString is faster than ASCII.GetString.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Retrieves the bookmark for the record that is associated with the index entry
+            at the current position of a cursor. This bookmark can then be used to
+            reposition that cursor back to the same record using JetGotoBookmark.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <returns>The bookmark of the record.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.GetSecondaryBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[]@)">
+            <summary>
+            Retrieves the bookmark for the record that is associated with the index entry
+            at the current position of a cursor. This bookmark can then be used to
+            reposition that cursor back to the same record using JetGotoBookmark.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <param name="primaryBookmark">Returns the primary bookmark.</param>
+            <returns>The secondary bookmark of the record.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit)">
+            <summary>
+            Retrieves the key for the index entry at the current position of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the key from.</param>
+            <param name="grbit">Retrieve key options.</param>
+            <returns>The retrieved key.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnSize(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves the size of a single column value from the current record.
+            The record is that record associated with the index entry at the
+            current position of the cursor. Alternatively, this function can
+            retrieve a column from a record being created in the cursor copy
+            buffer. This function can also retrieve column data from an index
+            entry that references the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The size of the column. 0 if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnSize(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int32,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves the size of a single column value from the current record.
+            The record is that record associated with the index entry at the
+            current position of the cursor. Alternatively, this function can
+            retrieve a column from a record being created in the cursor copy
+            buffer. This function can also retrieve column data from an index
+            entry that references the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="itagSequence">
+            The sequence number of value in a multi-valued column.
+            The array of values is one-based. The first value is
+            sequence 1, not 0. If the record column has only one value then
+            1 should be passed as the itagSequence.
+            </param>
+            <param name="grbit">Retrieve column options.</param>
+            <returns>The size of the column. 0 if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit,Microsoft.Isam.Esent.Interop.JET_RETINFO)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            Alternatively, this function can retrieve a column from a record being created
+            in the cursor copy buffer. This function can also retrieve column data from an
+            index entry that references the current record. In addition to retrieving the
+            actual column value, JetRetrieveColumn can also be used to retrieve the size
+            of a column, before retrieving the column data itself so that application
+            buffers can be sized appropriately.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieve column options.</param>
+            <param name="retinfo">
+            If pretinfo is give as NULL then the function behaves as though an itagSequence
+            of 1 and an ibLongValue of 0 (zero) were given. This causes column retrieval to
+            retrieve the first value of a multi-valued column, and to retrieve long data at
+            offset 0 (zero).
+            </param>
+            <returns>The data retrieved from the column. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsString(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            The Unicode encoding is used.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a string. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsString(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Text.Encoding)">
+            <summary>
+            Retrieves a string column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="encoding">The string encoding to use when converting data.</param>
+            <returns>The data retrieved from the column as a string. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsString(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Text.Encoding,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a string column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="encoding">The string encoding to use when converting data.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a string. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsInt16(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a short. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsInt16(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves an int16 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a short. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsInt32(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as an int. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsInt32(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves an int32 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as an int. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsInt64(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a long. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsInt64(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a long. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsFloat(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a float column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a float. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsFloat(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a float column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a float. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsDouble(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a double column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a double. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsDouble(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a double column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a double. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsBoolean(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a boolean column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a boolean. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsBoolean(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a boolean column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a boolean. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsByte(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a byte column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a byte. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsByte(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a byte column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a byte. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsGuid(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a guid column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a guid. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsGuid(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a guid column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a guid. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsDateTime(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a datetime column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as a <see cref="T:System.DateTime"/>. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsDateTime(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a datetime column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as a <see cref="T:System.DateTime"/>. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsUInt16(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a uint16 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as an UInt16. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsUInt16(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a uint16 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as an UInt16. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsUInt32(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a uint32 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as an UInt32. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsUInt32(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a uint32 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as an UInt32. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsUInt64(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Retrieves a uint64 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <returns>The data retrieved from the column as an UInt64. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumnAsUInt64(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieves a uint64 column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="grbit">Retrieval options.</param>
+            <returns>The data retrieved from the column as an UInt64. Null if the column is null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.DeserializeObjectFromColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Deserialize an object from a column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to read from.</param>
+            <param name="columnid">The column to read from.</param>
+            <returns>The deserialized object. Null if the column was null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.DeserializeObjectFromColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Deserialize an object from a column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to read from.</param>
+            <param name="columnid">The column to read from.</param>
+            <param name="grbit">The retrieval options to use.</param>
+            <returns>The deserialized object. Null if the column was null.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[])">
+            <summary>
+            Retrieves columns into ColumnValue objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor retrieve the data from. The cursor should be positioned on a record.</param>
+            <param name="values">The values to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.EnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit)">
+            <summary>
+            Efficiently retrieves a set of columns and their values from the
+            current record of a cursor or the copy buffer of that cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve data from.</param>
+            <param name="grbit">Enumerate options.</param>
+            <returns>The discovered columns and their values.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.CreateReturnValue``1(``0,System.Int32,Microsoft.Isam.Esent.Interop.JET_wrn,System.Int32)">
+            <summary>
+            Create the nullable return value.
+            </summary>
+            <typeparam name="T">The (struct) type to return.</typeparam>
+            <param name="data">The data retrieved from the column.</param>
+            <param name="dataSize">The size of the data.</param>
+            <param name="wrn">The warning code from esent.</param>
+            <param name="actualDataSize">The actual size of the data retireved fomr esent.</param>
+            <returns>A nullable struct of type T.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.CheckDataSize(System.Int32,System.Int32)">
+            <summary>
+            Make sure the retrieved data size is at least as long as the expected size.
+            An exception is thrown if the data isn't long enough.
+            </summary>
+            <param name="expectedDataSize">The expected data size.</param>
+            <param name="actualDataSize">The size of the retrieved data.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.PinColumnsAndRetrieve(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN*,System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN},System.Int32,System.Int32)">
+            <summary>
+            Recursively pin the retrieve buffers in the JET_RETRIEVECOLUMN
+            structures and then retrieve the columns. This is done to avoid
+            creating GCHandles, which are expensive. This function pins
+            the current retrievecolumn structure (indicated by i) and then
+            recursively calls itself until all structures are pinned. This
+            is done because it isn't possible to create an arbitrary number
+            of pinned variables in a method.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+            <param name="tableid">
+            The table to retrieve from.
+            </param>
+            <param name="nativeretrievecolumns">
+            The nativeretrievecolumns structure.</param>
+            <param name="retrievecolumns">
+            The managed retrieve columns structure.
+            </param>
+            <param name="numColumns">The number of columns.</param>
+            <param name="i">The column currently being processed.</param>
+            <returns>An error code from JetRetrieveColumns.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.RetrieveUnicodeString(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Retrieve a Unicode (UTF16) string. This is optimized to take advantage of the fact
+            that no conversion is needed.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve from.</param>
+            <param name="columnid">The column to retrieve.</param>
+            <param name="grbit">Retrieve options.</param>
+            <returns>The string retrieved from the column.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.String,System.Text.Encoding)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="encoding">The encoding used to convert the string.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.String,System.Text.Encoding,Microsoft.Isam.Esent.Interop.SetColumnGrbit)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="encoding">The encoding used to convert the string.</param>
+            <param name="grbit">SetColumn options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[])">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],Microsoft.Isam.Esent.Interop.SetColumnGrbit)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="grbit">SetColumn options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Boolean)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int16)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int32)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int64)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Guid)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.DateTime)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Single)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Double)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.EscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int32)">
+            <summary>
+            Perform atomic addition on an Int32 column. The column must be of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>. This function allows multiple sessions to update the
+            same record concurrently without conflicts.
+            </summary>
+            <remarks>
+            This method wraps <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit)"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update.</param>
+            <param name="columnid">The column to update. This must be an escrow-updatable column.</param>
+            <param name="delta">The delta to apply to the column.</param>
+            <returns>The current value of the column as stored in the database (versioning is ignored).</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.EscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Int64)">
+            <summary>
+            Perform atomic addition on an Int64 column. The column must be of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp.LongLong"/>. This function allows multiple sessions to update the
+            same record concurrently without conflicts.
+            </summary>
+            <remarks>
+            This method wraps <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit)"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update.</param>
+            <param name="columnid">The column to update. This must be an escrow-updatable column.</param>
+            <param name="delta">The delta to apply to the column.</param>
+            <returns>The current value of the column as stored in the database (versioning is ignored).</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.UInt16)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.UInt32)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.UInt64)">
+            <summary>
+            Modifies a single column value in a modified record to be inserted or to
+            update the current record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SerializeObjectToColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Object)">
+            <summary>
+            Write a serialized form of an object to a column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to write to. An update should be prepared.</param>
+            <param name="columnid">The column to write to.</param>
+            <param name="value">The object to write. The object must be serializable.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[])">
+            <summary>
+            Sets columns from ColumnValue objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="values">The values to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Api.CheckEncodingIsValid(System.Text.Encoding)">
+            <summary>
+            Verifies that the given encoding is valid for setting/retrieving data. Only
+            the ASCII and Unicode encodings are allowed. An <see cref="T:System.ArgumentOutOfRangeException"/>
+            is thrown if the encoding isn't valid.
+            </summary>
+            <param name="encoding">The encoding to check.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SystemParameters">
+            <summary>
+            Constants for the ESENT API. These don't have to be looked up via
+            system parameters.
+            </summary>
+            <summary>
+            This class provides static properties to set and get
+            global ESENT system parameters.
+            </summary>
+            <summary>
+            This class provides static properties to set and get
+            global ESENT system parameters.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.BaseNameLength">
+            <summary>
+            The length of the prefix used to name files used by the database
+            engine.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.NameMost">
+            <summary>
+            Maximum size of a table/column/index name.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.ColumnMost">
+            <summary>
+            Maximum size for columns which are not JET_coltyp.LongBinary
+            or JET_coltyp.LongText.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.ColumnsMost">
+            <summary>
+            Maximum number of columns allowed in a table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.ColumnsFixedMost">
+            <summary>
+            Maximum number of fixed columns allowed in a table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.ColumnsVarMost">
+            <summary>
+            Maximum number of variable-length columns allowed
+            in a table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.ColumnsTaggedMost">
+            <summary>
+            Maximum number of tagged columns allowed in a table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.PageTempDBSmallest">
+            <summary>
+            The number of pages that gives the smallest possible
+            temporary database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SystemParameters.LocaleNameMaxLength">
+            <summary>
+            The maximum length of a locale name (LOCALE_NAME_MAX_LENGTH from winnt.h).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.CacheSizeMax">
+            <summary>
+            Gets or sets the maximum size of the database page cache. The size
+            is in database pages. If this parameter is left to its default value, then the
+            maximum size of the cache will be set to the size of physical memory when JetInit
+            is called.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.CacheSize">
+            <summary>
+            Gets or sets the size of the database cache in pages. By default the
+            database cache will automatically tune its size, setting this property
+            to a non-zero value will cause the cache to adjust itself to the target
+            size.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.DatabasePageSize">
+            <summary>
+            Gets or sets the size of the database pages, in bytes.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.CacheSizeMin">
+            <summary>
+            Gets or sets the minimum size of the database page cache, in database pages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.OutstandingIOMax">
+            <summary>
+            Gets or sets how many database file I/Os can be queued
+            per-disk in the host operating system at one time.  A larger value
+            for this parameter can significantly help the performance of a large
+            database application.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.StartFlushThreshold">
+            <summary>
+            Gets or sets the threshold at which the database page cache begins evicting pages from the
+            cache to make room for pages that are not cached. When the number of page buffers in the cache
+            drops below this threshold then a background process will be started to replenish that pool
+            of available buffers. This threshold is always relative to the maximum cache size as set by
+            JET_paramCacheSizeMax. This threshold must also always be less than the stop threshold as
+            set by JET_paramStopFlushThreshold.
+            <para>
+            The distance height of the start threshold will determine the response time that the database
+             page cache must have to produce available buffers before the application needs them. A high
+            start threshold will give the background process more time to react. However, a high start
+            threshold implies a higher stop threshold and that will reduce the effective size of the
+            database page cache.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.StopFlushThreshold">
+            <summary>
+            Gets or sets the threshold at which the database page cache ends evicting pages from the cache to make
+            room for pages that are not cached. When the number of page buffers in the cache rises above
+            this threshold then the background process that was started to replenish that pool of available
+            buffers is stopped. This threshold is always relative to the maximum cache size as set by
+            JET_paramCacheSizeMax. This threshold must also always be greater than the start threshold
+            as set by JET_paramStartFlushThreshold.
+            <para>
+            The distance between the start threshold and the stop threshold affects the efficiency with
+            which database pages are flushed by the background process. A larger gap will make it
+            more likely that writes to neighboring pages may be combined. However, a high stop
+            threshold will reduce the effective size of the database page cache.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.MaxInstances">
+            <summary>
+            Gets or sets the maximum number of instances that can be created.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.EventLoggingLevel">
+            <summary>
+            Gets or sets the detail level of eventlog messages that are emitted
+            to the eventlog by the database engine. Higher numbers will result
+            in more detailed eventlog messages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.KeyMost">
+            <summary>
+            Gets the maximum key size. This depends on the Esent version and database
+            page size.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.ColumnsKeyMost">
+            <summary>
+            Gets the maximum number of components in a sort or index key.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.BookmarkMost">
+            <summary>
+            Gets the maximum size of a bookmark. <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.LVChunkSizeMost">
+            <summary>
+            Gets the lv chunks size. This depends on the database page size.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.Configuration">
+            <summary>
+            Gets or sets a value specifying the default values for the
+            entire set of system parameters. When this parameter is set to
+            a specific configuration, all system parameter values are reset
+            to their default values for that configuration. If the
+            configuration is set for a specific instance then global system
+            parameters will not be reset to their default values.
+            Small Configuration (0): The database engine is optimized for memory use. 
+            Legacy Configuration (1): The database engine has its traditional defaults.
+            <para>
+            Supported on Windows Vista and up. Ignored on Windows XP and
+            Windows Server 2003.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.EnableAdvanced">
+            <summary>
+            Gets or sets a value indicating whether the database engine accepts
+            or rejects changes to a subset of the system parameters. This
+            parameter is used in conjunction with <see cref="P:Microsoft.Isam.Esent.Interop.SystemParameters.Configuration"/> to
+            prevent some system parameters from being set away from the selected
+            configuration's defaults.
+            <para>
+            Supported on Windows Vista and up. Ignored on Windows XP and
+            Windows Server 2003.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.LegacyFileNames">
+            <summary>
+            Gets or sets backwards compatibility with the file naming conventions of earlier releases of the database engine.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.ExceptionAction">
+            <summary>
+            Gets or sets the value encoding what to do with exceptions generated within JET.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.EnableFileCache">
+            <summary>
+            Gets or sets a value indicating whether the database engine should
+            use the OS file cache for all managed files.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.EnableViewCache">
+            <summary>
+            Gets or sets a value indicating whether the database engine should
+            use memory mapped file I/O for database files.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.SystemParameters.SetStringParameter(Microsoft.Isam.Esent.Interop.JET_param,System.String)">
+            <summary>
+            Set a system parameter which is a string.
+            </summary>
+            <param name="param">The parameter to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.SystemParameters.GetStringParameter(Microsoft.Isam.Esent.Interop.JET_param)">
+            <summary>
+            Get a system parameter which is a string.
+            </summary>
+            <param name="param">The parameter to get.</param>
+            <returns>The value of the parameter.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.SystemParameters.SetIntegerParameter(Microsoft.Isam.Esent.Interop.JET_param,System.Int32)">
+            <summary>
+            Set a system parameter which is an integer.
+            </summary>
+            <param name="param">The parameter to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.SystemParameters.GetIntegerParameter(Microsoft.Isam.Esent.Interop.JET_param)">
+            <summary>
+            Get a system parameter which is an integer.
+            </summary>
+            <param name="param">The parameter to get.</param>
+            <returns>The value of the parameter.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.SystemParameters.SetBoolParameter(Microsoft.Isam.Esent.Interop.JET_param,System.Boolean)">
+            <summary>
+            Set a system parameter which is a boolean.
+            </summary>
+            <param name="param">The parameter to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.SystemParameters.GetBoolParameter(Microsoft.Isam.Esent.Interop.JET_param)">
+            <summary>
+            Get a system parameter which is a boolean.
+            </summary>
+            <param name="param">The parameter to get.</param>
+            <returns>The value of the parameter.</returns>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.MinDataForXpress">
+            <summary>
+            Gets or sets the smallest amount of data that should be compressed with xpress compression.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.HungIOThreshold">
+            <summary>
+            Gets or sets the threshold for what is considered a hung IO that should be acted upon.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.HungIOActions">
+            <summary>
+            Gets or sets the set of actions to be taken on IOs that appear hung.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.SystemParameters.ProcessFriendlyName">
+            <summary>
+            Gets or sets the friendly name for this instance of the process.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.BoolColumnValue">
+            <summary>
+            A <see cref="T:System.Boolean"/> column value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BoolColumnValue.BoxedTrue">
+            <summary>
+            A boxed true value that can be used by ValueAsObject.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BoolColumnValue.BoxedFalse">
+            <summary>
+            A boxed false value that can be used by ValueAsObject.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.BoolColumnValue.ValueAsObject">
+            <summary>
+            Gets the last set or retrieved value of the column. The
+            value is returned as a generic object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.BoolColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.BoolColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.BoolColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.BoxedValueCache`1">
+            <summary>
+            A cache for boxed values.
+            </summary>
+            <typeparam name="T">The type of object to cache.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BoxedValueCache`1.NumCachedBoxedValues">
+            <summary>
+            Number of boxed values to cache.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BoxedValueCache`1.BoxedValues">
+            <summary>
+            Cached boxed values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.BoxedValueCache`1.GetBoxedValue(System.Nullable{`0})">
+            <summary>
+            Gets a boxed version of the value. A cached copy is used if possible.
+            </summary>
+            <param name="value">The value to box.</param>
+            <returns>A boxed version of the value.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ByteColumnValue">
+            <summary>
+            A <see cref="T:System.Byte"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ByteColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ByteColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ByteColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.BytesColumnValue">
+            <summary>
+            A byte array column value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BytesColumnValue.internalValue">
+            <summary>
+            Internal value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.BytesColumnValue.ValueAsObject">
+            <summary>
+            Gets the last set or retrieved value of the column. The
+            value is returned as a generic object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.BytesColumnValue.Value">
+            <summary>
+            Gets or sets the value of the column. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[])"/> to update a
+            record with the column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.BytesColumnValue.Length">
+            <summary>
+            Gets the byte length of a column value, which is zero if column is null, otherwise
+            matches the actual length of the byte array.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.BytesColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.BytesColumnValue.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.BytesColumnValue"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.BytesColumnValue"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.BytesColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.BytesColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Caches">
+            <summary>
+            Static class containing MemoryCaches for different ESENT buffers.
+            Use these to avoid memory allocations when the memory will be
+            used for a brief time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Caches.KeyMostMost">
+            <summary>
+            The maximum key size that any version of ESENT can have for
+            any page size. This is also the maximum bookmark size.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Caches.LimitKeyMostMost">
+            <summary>
+            Reserve 1 extra space for keys made with prefix or wildcard.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Caches.MaxBuffers">
+            <summary>
+            The maximum number of buffers we want in a cache.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Caches.TheColumnCache">
+            <summary>
+            Cached buffers for columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Caches.TheBookmarkCache">
+            <summary>
+            Cached buffers for keys and bookmarks.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Caches.TheSecondaryBookmarkCache">
+            <summary>
+            Cached buffers for keys and bookmarks.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Caches.ColumnCache">
+            <summary>
+            Gets the cached buffers for columns.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Caches.BookmarkCache">
+            <summary>
+            Gets the cached buffers for keys and bookmarks.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Caches.SecondaryBookmarkCache">
+            <summary>
+            Gets the cached buffers for keys and secondary bookmarks.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CallbackWrappers">
+            <summary>
+            <para>
+            A collection of wrapped callbacks. This is used when the wrapped callback
+            can be garbage collected. The wrappers should be removed from the collection
+            when the callback is collected.
+            </para>
+            <para>
+            Removing the wrappers can lead to crashes. In this case we trust
+            the client code to keep its callback alive until ESENT doesn't need it any
+            more. Once the wrapped callback is garbage collected we allow the wrapper
+            to be collected as well. If ESENT subsequently uses the callback there will
+            be a crash.
+            </para>
+            <para>
+            The reason this is hard to deal with is that the lifetime of a JET_CALLBACK
+            isn't very clear. Table callbacks can stick around until the table meta-data
+            is purged, while a JetDefragment callback can be used until defrag ends. On
+            the other hand, keeping the callback wrapper alive indefinitely would lead
+            to unbounded memory use.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CallbackWrappers.lockObject">
+            <summary>
+            Used to synchronize access to this object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CallbackWrappers.callbackWrappers">
+            <summary>
+            A list of the wrapped callbacks.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.CallbackWrappers.Add(Microsoft.Isam.Esent.Interop.JET_CALLBACK)">
+            <summary>
+            Wrap a callback and returns its wrapper. If the callback is
+            already wrapped then the existing wrapper is returned.
+            </summary>
+            <param name="callback">The callback to add.</param>
+            <returns>The callback wrapper for the callback.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.CallbackWrappers.Collect">
+            <summary>
+            Go through the collection of callback wrappers and remove any dead callbacks.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.CallbackWrappers.TryFindWrapperFor(Microsoft.Isam.Esent.Interop.JET_CALLBACK,Microsoft.Isam.Esent.Interop.JetCallbackWrapper@)">
+            <summary>
+            Look in the list of callback wrappers to see if there is already an entry for 
+            this callback.
+            </summary>
+            <param name="callback">The callback to look for.</param>
+            <param name="wrapper">Returns the wrapper, if found.</param>
+            <returns>True if a wrapper was found, false otherwise.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ColumnInfo">
+            <summary>
+            Information about one Esent column. This is not an interop
+            class, but is used by the meta-data helper methods.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnInfo.defaultValue">
+            <summary>
+            The default value of the column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnInfo.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_coltyp,Microsoft.Isam.Esent.Interop.JET_CP,System.Int32,System.Byte[],Microsoft.Isam.Esent.Interop.ColumndefGrbit)">
+            <summary>
+            Initializes a new instance of the ColumnInfo class.
+            </summary>
+            <param name="name">Name of the column.</param>
+            <param name="columnid">ID of the column.</param>
+            <param name="coltyp">Type of the column.</param>
+            <param name="cp">Codepage of the column.</param>
+            <param name="maxLength">Maximum length of the column.</param>
+            <param name="defaultValue">Column default value.</param>
+            <param name="grbit">Column option.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfo.Name">
+            <summary>
+            Gets the name of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfo.Columnid">
+            <summary>
+            Gets the ID of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfo.Coltyp">
+            <summary>
+            Gets the type of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfo.Cp">
+            <summary>
+            Gets the code page of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfo.MaxLength">
+            <summary>
+            Gets the maximum length of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfo.DefaultValue">
+            <summary>
+            Gets the default value of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfo.Grbit">
+            <summary>
+            Gets the column options.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnInfo.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.ColumnInfo"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.ColumnInfo"/>.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ColumnInfoEnumerator">
+            <summary>
+            Base class for enumerators that return ColumnInfo objects. Subclasses differ
+            by how they open the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnInfoEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.ColumnInfoEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnInfoEnumerator.Columnlist">
+            <summary>
+            Gets or sets the columnlist used to retrieve data.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnInfoEnumerator.GetCurrent">
+            <summary>
+            Gets the entry the cursor is currently positioned on.
+            </summary>
+            <returns>The entry the cursor is currently positioned on.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnInfoEnumerator.GetColumnInfoFromColumnlist(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST)">
+            <summary>
+            Create a ColumnInfo object from the data in the current JET_COLUMNLIST entry.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columnlist">The columnlist to take the data from.</param>
+            <returns>A ColumnInfo object containing the information from that record.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ColumnStream">
+            <summary>
+            This class provides a streaming interface to a long-value column
+            (i.e. a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/> or
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnStream.MaxLongValueSize">
+            <summary>
+            The size of the biggest long-value column ESENT supports.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnStream.sesid">
+            <summary>
+            Session to use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnStream.tableid">
+            <summary>
+            Cursor to use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnStream.columnid">
+            <summary>
+            Columnid to use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnStream.ibLongValue">
+            <summary>
+            Current LV offset.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Initializes a new instance of the ColumnStream class.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use.</param>
+            <param name="columnid">The columnid of the column to set/retrieve data from.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnStream.Itag">
+            <summary>
+            Gets or sets the itag of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnStream.CanRead">
+            <summary>
+            Gets a value indicating whether the stream supports reading.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnStream.CanWrite">
+            <summary>
+            Gets a value indicating whether the stream supports writing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnStream.CanSeek">
+            <summary>
+            Gets a value indicating whether the stream supports seeking.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnStream.Position">
+            <summary>
+            Gets or sets the current position in the stream.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnStream.Length">
+            <summary>
+            Gets the current length of the stream.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnStream.RetrieveGrbit">
+            <summary>
+            Gets the options that should be used with JetRetrieveColumn.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.ColumnStream"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.ColumnStream"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.Flush">
+            <summary>
+            Flush the stream.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes a sequence of bytes to the current stream and advances the current
+            position within this stream by the number of bytes written.
+            </summary>
+            <param name="buffer">The buffer to write from.</param>
+            <param name="offset">The offset in the buffer to write.</param>
+            <param name="count">The number of bytes to write.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.Read(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Reads a sequence of bytes from the current stream and advances the
+            position within the stream by the number of bytes read.
+            </summary>
+            <param name="buffer">The buffer to read into.</param>
+            <param name="offset">The offset in the buffer to read into.</param>
+            <param name="count">The number of bytes to read.</param>
+            <returns>The number of bytes read into the buffer.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.SetLength(System.Int64)">
+            <summary>
+            Sets the length of the stream.
+            </summary>
+            <param name="value">The desired length, in bytes.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.Seek(System.Int64,System.IO.SeekOrigin)">
+            <summary>
+            Sets the position in the current stream.
+            </summary>
+            <param name="offset">Byte offset relative to the origin parameter.</param>
+            <param name="origin">A SeekOrigin indicating the reference point for the new position.</param>
+            <returns>The new position in the current stream.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnStream.CheckBufferArguments(System.Collections.Generic.ICollection{System.Byte},System.Int32,System.Int32)">
+            <summary>
+            Check the buffer arguments given to Read/Write .
+            </summary>
+            <param name="buffer">The buffer.</param>
+            <param name="offset">The offset in the buffer to read/write to.</param>
+            <param name="count">The number of bytes to read/write.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ColumnValue">
+            <summary>
+            Base class for objects that represent a column value to be set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnValue.grbit">
+            <summary>
+            Internal grbit.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.#ctor">
+            <summary>
+            Initializes a new instance of the ColumnValue class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.Columnid">
+            <summary>
+            Gets or sets the columnid to be set or retrieved.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.ValueAsObject">
+            <summary>
+            Gets the last set or retrieved value of the column. The
+            value is returned as a generic object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.SetGrbit">
+            <summary>
+            Gets or sets column update options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.RetrieveGrbit">
+            <summary>
+            Gets or sets column retrieval options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.ItagSequence">
+            <summary>
+            Gets or sets the column itag sequence.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.Error">
+            <summary>
+            Gets the warning generated by retrieving or setting this column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.Length">
+            <summary>
+            Gets the byte length of a column value, which is zero if column is null, otherwise
+            it matches the Size for fixed-size columns and represent the actual value byte
+            length for variable sized columns (i.e. binary and string). For strings the length
+            is determined in assumption two bytes per character.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.ColumnValue"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.ColumnValue"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.RetrieveColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[])">
+            <summary>
+            Recursive RetrieveColumns method for data pinning. This should pin a buffer and
+            call the inherited RetrieveColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to retrieve the columns from.
+            </param>
+            <param name="columnValues">
+            Column values to retrieve.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This should populate the buffer and
+            call the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32,System.Void*,System.Int32,System.Boolean)">
+            <summary>
+            Recursive SetColumns function used to pin data.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <param name="buffer">The buffer for this object.</param>
+            <param name="bufferSize">Size of the buffer for ths object.</param>
+            <param name="hasValue">True if this object is non null.</param>
+            <returns>An error code.</returns>
+            <remarks>
+            This is marked as internal because it uses the NATIVE_SETCOLUMN type
+            which is also marked as internal. It should be treated as a protected
+            method though.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.ValidateRetrieveGrbit(Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Validation for the requested retrieve options for the column.
+            </summary>
+            <param name="grbit">The retrieve options to validate.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.RetrieveTruncatedBuffers(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN*)">
+            <summary>
+            Retrieve the value for columns whose buffers were truncated.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to use.</param>
+            <param name="columnValues">The column values.</param>
+            <param name="nativeRetrievecolumns">
+            The native retrieve columns that match the column values.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.MakeNativeSetColumn(Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN@)">
+            <summary>
+            Create a native SetColumn from this object.
+            </summary>
+            <param name="setcolumn">The native setcolumn structure to fill in.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValue.MakeNativeRetrieveColumn(Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN@)">
+            <summary>
+            Create a native RetrieveColumn from this object.
+            </summary>
+            <param name="retrievecolumn">
+            The retrieve column structure to fill in.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ColumnValueOfStruct`1">
+            <summary>
+            Set a column of a struct type (e.g. <see cref="T:System.Int32"/>/<see cref="T:System.Guid"/>).
+            </summary>
+            <typeparam name="T">Type to set.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumnValueOfStruct`1.internalValue">
+            <summary>
+            Internal value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValueOfStruct`1.ValueAsObject">
+            <summary>
+            Gets the last set or retrieved value of the column. The
+            value is returned as a generic object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValueOfStruct`1.Value">
+            <summary>
+            Gets or sets the value in the struct.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.ColumnValueOfStruct`1.Length">
+            <summary>
+            Gets the byte length of a column value, which is zero if column is null, otherwise
+            it matches the Size for this fixed-size column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValueOfStruct`1.ToString">
+            <summary>
+            Gets a string representation of this object.
+            </summary>
+            <returns>A string representation of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.ColumnValueOfStruct`1.CheckDataCount(System.Int32)">
+            <summary>
+            Make sure the retrieved data is exactly the size needed for
+            the structure. An exception is thrown if there is a mismatch.
+            </summary>
+            <param name="count">The size of the retrieved data.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Conversions">
+            <summary>
+            Provide methods to convert data and flags between 
+            Win32 and the .NET Framework.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.CompareOptionsToLcmapFlags">
+            <summary>
+            Maps a CompareOption enumeration to the corresponding LCMapString flag.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.LcmapFlagsToCompareOptions">
+            <summary>
+            Maps an LCMapString flag to the corresponding CompareOption enumeration.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Conversions.#cctor">
+            <summary>
+            Initializes static members of the Conversions class. This sets up the
+            conversion mapping dictionaries.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Conversions.ConvertDoubleToDateTime(System.Double)">
+            <summary>
+            Convert a double (OA date time format) to a DateTime. Unlike DateTime.FromOADate
+            this doesn't throw exceptions.
+            </summary>
+            <param name="d">The double value.</param>
+            <returns>A DateTime.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Conversions.CompareOptionsFromLCMapFlags(System.UInt32)">
+            <summary>
+            Given flags for LCMapFlags, turn them into compare options. Unknown options 
+            are ignored.
+            </summary>
+            <param name="lcmapFlags">LCMapString flags.</param>
+            <returns>CompareOptions describing the (known) flags.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Conversions.LCMapFlagsFromCompareOptions(System.Globalization.CompareOptions)">
+            <summary>
+            Give CompareOptions, turn them into flags from LCMapString. Unknown options are ignored.
+            </summary>
+            <param name="compareOptions">The options to convert.</param>
+            <returns>The LCMapString flags that match the compare options. Unsupported options are ignored.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Conversions.InvertDictionary``2(System.Collections.Generic.ICollection{System.Collections.Generic.KeyValuePair{``0,``1}})">
+            <summary>
+            Given a Key=>Value dictionary create an inverted dictionary that maps Value=>Key.
+            </summary>
+            <typeparam name="TValue">The new value type (the key of the current dictionary).</typeparam>
+            <typeparam name="TKey">The new key type (the value if the current dictionary).</typeparam>
+            <param name="dict">The dictionary to invert.</param>
+            <returns>An inverted dictionary.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods">
+            <summary>
+            This class contains the unmanaged constants used in the conversion.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods.NORM_IGNORECASE">
+            <summary>
+            Ignore case.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods.NORM_IGNORENONSPACE">
+            <summary>
+            Ignore nonspacing chars.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods.NORM_IGNORESYMBOLS">
+            <summary>
+            Ignore symbols.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods.NORM_IGNOREKANATYPE">
+            <summary>
+            Ignore kanatype.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods.NORM_IGNOREWIDTH">
+            <summary>
+            Ignore width.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods.SORT_STRINGSORT">
+            <summary>
+            Treat punctuation the same as symbols.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Conversions.NativeMethods.LCMAP_SORTKEY">
+            <summary>
+            Produce a normalized wide-character sort key.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.DateTimeColumnValue">
+            <summary>
+            A <see cref="T:System.Guid"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.DateTimeColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.DateTimeColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.DateTimeColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.DoubleColumnValue">
+            <summary>
+            A <see cref="T:System.Double"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.DoubleColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.DoubleColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.DoubleColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback">
+            <summary>
+            A class which wraps the callback dealing with durable commits.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.TraceSwitch">
+            <summary>
+            API call tracing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.instance">
+            <summary>
+            Instance associated with this callback.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.wrappedCallback">
+            <summary>
+            Hold a reference to the delegate so that it doesn't get garbage-collected.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.wrapperCallback">
+            <summary>
+            Hold a reference to the delegate so that it doesn't get garbage-collected.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.#ctor(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Windows8.JET_PFNDURABLECOMMITCALLBACK)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback"/> class. 
+            The constructor.
+            </summary>
+            <param name="instance">
+            The instance with which to associate the callback.
+            </param>
+            <param name="wrappedCallback">
+            The managed code callback to call.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.End">
+            <summary>
+            Terminate the durable commit session.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.ReleaseResource">
+            <summary>
+            Free the durable commit session.
+            We do not try to set the instance parameter to null, since the callback is disposed after JetTerm and
+            the callback cannot be set after JetTerm.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallback.NativeDurableCommitCallback(System.IntPtr,Microsoft.Isam.Esent.Interop.Windows8.NATIVE_COMMIT_ID@,System.UInt32)">
+            <summary>
+            The proxy callback function to call the user-defined managed delegate.
+            </summary>
+            <param name="instance">
+            The instance.
+            </param>
+            <param name="commitIdSeen">
+            The commit-id flushed.
+            </param>
+            <param name="grbit">
+            Reserved currently.
+            </param>
+            <returns>
+            An error code.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_COMMIT_ID">
+            <summary>
+            Information context surrounded data emitted from JET_PFNEMITLOGDATA.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_COMMIT_ID.signLog">
+            <summary>
+            Signature for this log sequence.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_COMMIT_ID.reserved">
+            <summary>
+            Reserved value for proper alignment on x86.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_COMMIT_ID.commitId">
+            <summary>
+            Commit-id for this commit transaction.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID">
+            <summary>
+            Information context surrounded data emitted from JET_PFNEMITLOGDATA.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.signLog">
+            <summary>
+            Signature for this log sequence.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.commitId">
+            <summary>
+            Commit-id for this commit transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.#ctor(Microsoft.Isam.Esent.Interop.Windows8.NATIVE_COMMIT_ID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID"/> class.
+            </summary>
+            <param name="native">The native version of the structure.
+            to use as the data source.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.op_LessThan(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Determine whether one commitid is before another commitid.
+            </summary>
+            <param name="lhs">The first commitid to compare.</param>
+            <param name="rhs">The second commitid to compare.</param>
+            <returns>True if lhs comes before rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.op_GreaterThan(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Determine whether one commitid is before another commitid.
+            </summary>
+            <param name="lhs">The first commitid to compare.</param>
+            <param name="rhs">The second commitid to compare.</param>
+            <returns>True if lhs comes after rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.op_LessThanOrEqual(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Determine whether one commitid is before another commitid.
+            </summary>
+            <param name="lhs">The first commitid to compare.</param>
+            <param name="rhs">The second commitid to compare.</param>
+            <returns>True if lhs comes before or equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.op_GreaterThanOrEqual(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Determine whether one commitid is before another commitid.
+            </summary>
+            <param name="lhs">The first commitid to compare.</param>
+            <param name="rhs">The second commitid to compare.</param>
+            <returns>True if lhs comes after or equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.op_Equality(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Determine whether one commitid is is equal to another commitid.
+            </summary>
+            <param name="lhs">The first commitid to compare.</param>
+            <param name="rhs">The second commitid to compare.</param>
+            <returns>True if lhs comes is equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.op_Inequality(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Determine whether one commitid is not equal to another commitid.
+            </summary>
+            <param name="lhs">The first commitid to compare.</param>
+            <param name="rhs">The second commitid to compare.</param>
+            <returns>True if lhs comes is not equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.CompareTo(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Returns a value comparing this instance with another.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>
+            A signed value representing the relative positions of the instances.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.Equals(Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An object to compare with this instance.</param>
+            <returns>true if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>true if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID.GetNativeCommitId">
+            <summary>
+            Converts the class to a NATIVE_COMMIT_ID structure.
+            </summary>
+            <returns>A NATIVE_COMMIT_ID structure.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT">
+            <summary>
+            The error category. The hierarchy is as follows:
+            <para>
+            JET_errcatError
+              |
+              |-- JET_errcatOperation
+              |    |-- JET_errcatFatal
+              |    |-- JET_errcatIO               //      bad IO issues, may or may not be transient.
+              |    |-- JET_errcatResource
+              |         |-- JET_errcatMemory      //      out of memory (all variants)
+              |         |-- JET_errcatQuota
+              |         |-- JET_errcatDisk        //      out of disk space (all variants)
+              |-- JET_errcatData
+              |     |-- JET_errcatCorruption
+              |     |-- JET_errcatInconsistent    //      typically caused by user Mishandling
+              |     |-- JET_errcatFragmentation
+              |-- JET_errcatApi
+                    |-- JET_errcatUsage
+                    |-- JET_errcatState
+                    |-- JET_errcatObsolete
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Unknown">
+            <summary>
+            Unknown category.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Error">
+            <summary>
+            A generic category.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Operation">
+            <summary>
+            Errors that can usually happen any time due to uncontrollable 
+            conditions.  Frequently temporary, but not always.
+            <para>
+            Recovery: Probably retry, or eventually inform the operator.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Fatal">
+            <summary>
+            This sort error happens only when ESE encounters an error condition
+            so grave, that we can not continue on in a safe (often transactional)
+            way, and rather than corrupt data we throw errors of this category.
+            <para>
+            Recovery: Restart the instance or process. If the problem persists
+            inform the operator.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.IO">
+            <summary>
+            O errors come from the OS, and are out of ESE's control, this sort
+            of error is possibly temporary, possibly not.
+            <para>
+            Recovery: Retry.  If not resolved, ask operator about disk issue.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Resource">
+            <summary>
+            This is a category that indicates one of many potential out-of-resource
+            conditions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Memory">
+            <summary>
+            Classic out of memory condition.
+            <para>
+            Recovery: Wait a while and retry, free up memory, or quit.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Quota">
+            <summary>
+            Certain "specialty" resources are in pools of a certain size, making
+            it easier to detect leaks of these resources.
+            <para>
+            Recovery: Bug fix, generally the application should Assert() on these
+            conditions so as to detect these issues during development.  However,
+            in retail code, the best to hope for is to treat like Memory.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Disk">
+            <summary>
+            Out of disk conditions.
+            <para>
+            Recovery: Can retry later in the hope more space is available, or 
+            ask the operator to free some disk space.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Data">
+            <summary>
+            A data-related error.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Corruption">
+            <summary>
+            My hard drive ate my homework. Classic corruption issues, frequently
+            permanent without corrective action.
+            <para>
+            Recovery: Restore from backup, perhaps the ese utilities repair 
+            operation (which only salvages what data is left / lossy) .Also
+            in the case of recovery(JetInit) perhaps recovery can be performed
+            by allowing data loss.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Inconsistent">
+            <summary>
+            This is similar to Corruption in that the database and/or log files
+            are in a state that is inconsistent and unreconcilable with each 
+            other. Often this is caused by application/administrator mishandling.
+            <para>
+            Recovery: Restore from backup, perhaps the ese utilities repair 
+            operation (which only salvages what data is left / lossy). Also
+            in the case of recovery(JetInit) perhaps recovery can be performed
+            by allowing data loss.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Fragmentation">
+            <summary>
+            This is a class of errors where some persisted internal resource ran
+            out.
+            <para>
+            Recovery: For database errors, offline defragmentation will rectify
+            the problem, for the log files _first_ recover all attached databases
+            to a clean shutdown, and then delete all the log files and checkpoint.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Api">
+            <summary>
+            A container for <see cref="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Usage"/> and <see cref="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.State"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Usage">
+            <summary>
+            Classic usage error, this means the client code did not pass correct
+            arguments to the JET API.  This error will likely not go away with
+            retry.
+            <para>
+            Recovery: Generally speaking client code should Assert() this class
+            of errors is not returned, so issues can be caught during development.
+            In retail, the app will probably have little option but to return
+            the issue up to the operator.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.State">
+            <summary>
+            This is the classification for different signals the API could return
+            describe the state of the database, a classic case is JET_errRecordNotFound
+            which can be returned by JetSeek() when the record you asked for
+            was not found.
+            <para>
+            Recovery: Not really relevant, depends greatly on the API.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Obsolete">
+            <summary>
+            The error is recognized as a valid error, but is not expected to be
+            returned by this version of the API.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRCAT.Max">
+            <summary>
+            The maximum value for the enum. This should not be used.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC">
+            <summary>
+            The native version of the JET_ERRINFOBASIC structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.HierarchySize">
+            <summary>
+            The number of elements in the error hierarchy.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.SourceFileLength">
+            <summary>
+            The length of the source file where the error occurred.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.errValue">
+            <summary>
+            The error value for the requested info level.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.errcatMostSpecific">
+            <summary>
+            The most specific category of the error.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.rgCategoricalHierarchy">
+            <summary>
+            Hierarchy of error categories. Position 0 is the highest level in the hierarchy, and the rest are JET_errcatUnknown.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.lSourceLine">
+            <summary>
+            The source file line for the requested info level.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC.rgszSourceFile">
+            <summary>
+            The source file name for the requested info level.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC">
+            <summary>
+            Contains the information about an error.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.errorValue">
+            <summary>
+            The error value for the requested info level.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.errorcatMostSpecific">
+            <summary>
+            The most specific category of the error.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.arrayCategoricalHierarchy">
+            <summary>
+            Hierarchy of error categories. Position 0 is the highest level in the hierarchy, and the rest are JET_errcatUnknown.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.sourceLine">
+            <summary>
+            The source file line for the requested info level.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.sourceFile">
+            <summary>
+            The source file name for the requested info level.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.#ctor">
+            <summary>
+            Initializes a new instance of the JET_ERRINFOBASIC class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.errValue">
+            <summary>
+            Gets or sets the error value for the requested info level.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.errcat">
+            <summary>
+            Gets or sets the category of the error.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.rgCategoricalHierarchy">
+            <summary>
+            Gets or sets the hierarchy of errors. Position 0 is the highest level in the hierarchy, and the rest are JET_errcatUnknown.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.lSourceLine">
+            <summary>
+            Gets or sets the source file line for the requested info level.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.rgszSourceFile">
+            <summary>
+            Gets or sets the source file name for the requested info level.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.ContentEquals(Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.GetNativeErrInfo">
+            <summary>
+            Gets the native (interop) version of this object.
+            </summary>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC.SetFromNative(Microsoft.Isam.Esent.Interop.Windows8.NATIVE_ERRINFOBASIC@)">
+            <summary>
+            Sets the fields of the object from a native JET_ERRINFOBASIC struct.
+            </summary>
+            <param name="value">
+            The native errinfobasic to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_ErrorInfo">
+            <summary>
+            The valid values of InfoLevel for JetGetErrorInfo.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_ErrorInfo.SpecificErr">
+            <summary>
+            Retrieve information about the specific error passed in pvContext.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JetRelop">
+            <summary>
+            Comparison operation for filter defined as <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.Equals">
+            <summary>
+            Accept only rows which have column value equal to the given value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.PrefixEquals">
+            <summary>
+            Accept only rows which have columns whose prefix matches the given value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.NotEquals">
+            <summary>
+            Accept only rows which have column value not equal to the given value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.LessThanOrEqual">
+            <summary>
+            Accept only rows which have column value less than or equal a given value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.LessThan">
+            <summary>
+            Accept only rows which have column value less than a given value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.GreaterThanOrEqual">
+            <summary>
+            Accept only rows which have column value greater than or equal a given value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.GreaterThan">
+            <summary>
+            Accept only rows which have column value greater than a given value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.BitmaskEqualsZero">
+            <summary>
+            Accept only rows which have column value AND'ed with a given bitmask yielding zero.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetRelop.BitmaskNotEqualsZero">
+            <summary>
+            Accept only rows which have column value AND'ed with a given bitmask yielding non-zero.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_COLUMN">
+            <summary>
+            The native version of the <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN"/> structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_COLUMN.columnid">
+            <summary>
+            The column identifier for the column to check.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_COLUMN.relop">
+            <summary>
+            The comparison operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_COLUMN.pvData">
+            <summary>
+            A pointer to a value to compare.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_COLUMN.cbData">
+            <summary>
+            The size of value beginning at pvData, in bytes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_COLUMN.grbit">
+            <summary>
+            Options regarding this column value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN">
+            <summary>
+            Contains filter definition for <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetPrereadIndexRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetSetCursorFilter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN[],Microsoft.Isam.Esent.Interop.Windows8.CursorFilterGrbit)"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN.columnid">
+            <summary>
+            Gets or sets the column identifier for the column to retrieve.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN.relop">
+            <summary>
+            Gets or sets the filter comparison operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN.pvData">
+            <summary>
+            Gets or sets the value to compare the column with.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN.grbit">
+            <summary>
+            Gets or sets the option for this column comparison.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN.GetNativeIndexColumn(Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Gets the NATIVE_indexcolumn structure that represents the object.
+            </summary>
+            <param name="handles">GC handle collection to add any pinned handles.</param>
+            <returns>The NATIVE_indexcolumn structure.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_RANGE">
+            <summary>
+            The native version of the <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE"/> structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_RANGE.rgStartColumns">
+            <summary>
+            The column values for the start of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_RANGE.cStartColumns">
+            <summary>
+            Number of column values for the start of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_RANGE.rgEndColumns">
+            <summary>
+            The column values for the end of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_INDEX_RANGE.cEndColumns">
+            <summary>
+            Number of column values for the end of the index.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE">
+            <summary>
+            Contains definition for <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetPrereadIndexRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE.startColumns">
+            <summary>
+            Gets or sets the column values for the start of the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE.endColumns">
+            <summary>
+            Gets or sets the column values for the end of the index.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE.GetNativeIndexRange(Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Gets the NATIVE_indexcolumn structure that represents the object.
+            </summary>
+            <param name="handles">GC handle collection to add any pinned handles.</param>
+            <returns>The NATIVE_indexcolumn structure.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_PFNDURABLECOMMITCALLBACK">
+            <summary>
+            Callback for JET_paramDurableCommitCallback.
+            </summary>
+            <param name="instance">Instance to use.</param>
+            <param name="pCommitIdSeen">Commit-id that has just been flushed.</param>
+            <param name="grbit">Reserved currently.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.NATIVE_JET_PFNDURABLECOMMITCALLBACK">
+            <summary>
+            Callback for JET_paramDurableCommitCallback.
+            </summary>
+            <param name="instance">Instance to use.</param>
+            <param name="pCommitIdSeen">Commit-id that has just been flushed.</param>
+            <param name="grbit">Reserved currently.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam">
+            <summary>
+            ESENT session parameters.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam.Base">
+            <summary>
+            This parameter is not meant to be used. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam.CommitDefault">
+            <summary>
+            This parameter sets the grbits for commit.  It is functionally the same as the
+            system parameter JET_param.CommitDefault when used with an instance and a sesid.
+            Note: JET_param.CommitDefault is not currently exposed in the ESE interop layer.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam.CommitGenericContext">
+            <summary>
+            This parameter sets a user specific commit context that will be placed in the
+            transaction log on commit to level 0.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api">
+            <summary>
+            Api calls introduced in Windows 8.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetStopServiceInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit)">
+            <summary>
+            Prepares an instance for termination. Can also be used to resume a previous quiescing.
+            </summary>
+            <param name="instance">The (running) instance to use.</param>
+            <param name="grbit">The options to stop or resume the instance.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetBeginTransaction3(Microsoft.Isam.Esent.Interop.JET_SESID,System.Int64,Microsoft.Isam.Esent.Interop.BeginTransactionGrbit)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <param name="userTransactionId">An optional identifier supplied by the user for identifying the transaction.</param>
+            <param name="grbit">Transaction options.</param>
+            <remarks>Introduced in Windows 8.</remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCommitTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit,System.TimeSpan,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID@)">
+            <summary>
+            Commits the changes made to the state of the database during the current save point
+            and migrates them to the previous save point. If the outermost save point is committed
+            then the changes made during that save point will be committed to the state of the
+            database and the session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to commit the transaction for.</param>
+            <param name="grbit">Commit options.</param>
+            <param name="durableCommit">Duration to commit lazy transaction.</param>
+            <param name="commitId">Commit-id associated with this commit record.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetGetErrorInfo(Microsoft.Isam.Esent.Interop.JET_err,Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC@)">
+            <summary>
+            Gets extended information about an error.
+            </summary>
+            <param name="error">The error code about which to retrieve information.</param>
+            <param name="errinfo">Information about the specified error code.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetResizeDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit)">
+            <summary>
+            Resizes a currently open database. Windows 8: Only supports growing a database file.
+            Windows 8.1: When <see cref="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableShrinkDatabase"/> is set to
+            <see cref="F:Microsoft.Isam.Esent.Interop.Windows81.ShrinkDatabaseGrbit.On"/>, and if the
+            file system supports Sparse Files, then space may be freed up in the middle of the
+            file.
+            </summary>
+            <remarks>
+            Many APIs return the logical size of the file, not how many bytes it takes up on disk.
+            Win32's GetCompressedFileSize returns the correct on-disk size.
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_DbInfo)"/>
+            returns the on-disk size when used with
+            <see cref="F:Microsoft.Isam.Esent.Interop.Windows81.Windows81DbInfo.FilesizeOnDisk"/>
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">The size of the database, in pages, after the call. </param>
+            <param name="grbit">Resize options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <remarks>
+            When creating multiple indexes (i.e. with numIndexCreates
+            greater than 1) this method MUST be called
+            outside of any transactions and with exclusive access to the
+            table. The JET_TABLEID returned by "Api.JetCreateTable"
+            will have exlusive access or the table can be opened for
+            exclusive access by passing <see cref="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.DenyRead"/>
+            to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.OpenTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@)"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetOpenTemporaryTable2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>,
+            "Api.JetOpenTempTable2",
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)"/>.
+            </summary>
+            <remarks>
+            Use <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)"/>
+            for earlier versions of Esent.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="temporarytable">
+            Description of the temporary table to create on input. After a
+            successful call, the structure contains the handle to the temporary
+            table and column identifications. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>
+            to free the temporary table when finished.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateTableColumnIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)"/>
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Int32@)">
+            <summary>
+            Gets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set, see
+            <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> and <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam"/>.</param>
+            <param name="value">A 32-bit integer to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Gets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set, see
+            <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> and <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam"/>.</param>
+            <param name="data">A byte array to retrieve.</param>
+            <param name="length">AThe length of the data array.</param>
+            <param name="actualDataSize">The actual size of the data field.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Int32)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="value">A 32-bit integer to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Byte[],System.Int32)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="data">Data to set in this session parameter.</param>
+            <param name="dataSize">Size of the data provided.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetTryPrereadIndexRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)">
+            <summary>
+            If the records with the specified key ranges are not in the buffer
+            cache, then start asynchronous reads to bring the records into the
+            database buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="indexRanges">The key ranges to preread.</param>
+            <param name="rangeIndex">The index of the first key range in the array to read.</param>
+            <param name="rangeCount">The maximum number of key ranges to preread.</param>
+            <param name="rangesPreread">Returns the number of keys actually preread.</param>
+            <param name="columnsPreread">List of column ids for long value columns to preread.</param>
+            <param name="grbit">Preread options. Used to specify the direction of the preread.</param>
+            <returns><c>true</c> if some preread done, <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetPrereadIndexRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)">
+            <summary>
+            If the records with the specified key ranges are not in the buffer
+            cache, then start asynchronous reads to bring the records into the
+            database buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="indexRanges">The key ranges to preread.</param>
+            <param name="rangeIndex">The index of the first key range in the array to read.</param>
+            <param name="rangeCount">The maximum number of key ranges to preread.</param>
+            <param name="rangesPreread">Returns the number of keys actually preread.</param>
+            <param name="columnsPreread">List of column ids for long value columns to preread.</param>
+            <param name="grbit">Preread options. Used to specify the direction of the preread.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.PrereadKeyRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Byte[][],System.Int32[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)">
+            <summary>
+            If the records with the specified key ranges are not in the
+            buffer cache then start asynchronous reads to bring the records
+            into the database buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="keysStart">The start of key ranges to preread.</param>
+            <param name="keyStartLengths">The lengths of the start keys to preread.</param>
+            <param name="keysEnd">The end of key rangess to preread.</param>
+            <param name="keyEndLengths">The lengths of the end keys to preread.</param>
+            <param name="rangeIndex">The index of the first key range in the array to read.</param>
+            <param name="rangeCount">The maximum number of key ranges to preread.</param>
+            <param name="rangesPreread">Returns the number of keys actually preread.</param>
+            <param name="columnsPreread">List of column ids for long value columns to preread.</param>
+            <param name="grbit">Preread options. Used to specify the direction of the preread.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetSetCursorFilter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN[],Microsoft.Isam.Esent.Interop.Windows8.CursorFilterGrbit)">
+            <summary>
+            Set an array of simple filters for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="filters">Simple record filters.</param>
+            <param name="grbit">Move options.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.ErrorInfoGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetGetErrorInfo(Microsoft.Isam.Esent.Interop.JET_err,Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC@)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.ErrorInfoGrbit.None">
+            <summary>
+            No option.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetResizeDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows81.Windows81Grbits.OnlyShrink"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit.None">
+            <summary>
+            No option.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit.OnlyGrow">
+            <summary>
+            Only grow the database. If the resize call would shrink the database, do nothing.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallbackGrbit">
+            <summary>
+            Options passed to log flush callback.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Grbits.LogUnavailable"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallbackGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetPrereadIndexRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit.Forward">
+            <summary>
+            Preread forward.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit.Backwards">
+            <summary>
+            Preread backwards.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit.FirstPageOnly">
+            <summary>
+            Preread only first page of any long column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit.NormalizedKey">
+            <summary>
+            Normalized key/bookmark provided instead of column value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetStopServiceInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit.All">
+            <summary>
+            Stops all ESE services for the specified instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit.BackgroundUserTasks">
+            <summary>
+            Stops restartable client specificed background maintenance tasks (B+ Tree Defrag).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit.QuiesceCaches">
+            <summary>
+            Quiesces all dirty caches to disk. Asynchronous. Quiescing is cancelled if the <see cref="F:Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit.Resume"/>
+            bit is called subsequently.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit.Resume">
+            <summary>
+            Resumes previously issued StopService operations, i.e. "restarts service".  Can be combined
+            with above grbits to Resume specific services, or with 0x0 Resumes all previous stopped services.
+            </summary>
+            <remarks>
+            Warning: This bit can only be used to resume JET_bitStopServiceBackground and JET_bitStopServiceQuiesceCaches, if you 
+            did a JET_bitStopServiceAll or JET_bitStopServiceAPI, attempting to use JET_bitStopServiceResume will fail. 
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.CursorFilterGrbit">
+            <summary>
+            Options passed while setting cursor filters.
+            </summary>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetSetCursorFilter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN[],Microsoft.Isam.Esent.Interop.Windows8.CursorFilterGrbit)"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.CursorFilterGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.JetIndexColumnGrbit">
+            <summary>
+            Options for <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetIndexColumnGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.JetIndexColumnGrbit.ZeroLength">
+            <summary>
+            Zero-length value (non-null).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits">
+            <summary>
+            System parameters that have been introduced in Windows 8.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.KeepDbAttachedAtEndOfRecovery">
+            <summary>
+            Allows db to remain attached at the end of recovery (for faster
+            transition to running state).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.PurgeCacheOnAttach">
+            <summary>
+            Purge database pages on attach.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.IndexDotNetGuid">
+            <summary>
+            Specifying this flag will change GUID sort order to .Net standard.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.TTDotNetGuid">
+            <summary>
+            This option requests that the temporary table sort columns of type
+            JET_coltypGUID according to .Net Guid sort order.
+            </summary>        
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8IdxInfo">
+            <summary>
+            Index info levels that have been added to the Windows 8 version of ESENT.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.JET_IdxInfo"/>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7IdxInfo"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8IdxInfo.InfoCreateIndex3">
+            <summary>
+            Introduced in Windows 8. Returns a JET_INDEXCREATE3 structure. This is similar to
+            <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE"/> structure,  but it contains some additional
+            members, and it also uses a locale name in the <see cref="T:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX"/>
+            index definition, not an LCID.
+            The returned object is suitable for use by <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8IdxInfo.LocaleName">
+            <summary>
+            Introduced in Windows 8. Returns the locale name of the given index.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param">
+            <summary>
+            System parameters that were introduced in Windows 8.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.CachePriority">
+            <summary>
+            Per-instance property for relative cache priorities (default = 100).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.MaxTransactionSize">
+            <summary>
+            Percentage of version store that can be used by oldest transaction
+            before <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.VersionStoreOutOfMemory"/> (default = 100).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.PrereadIOMax">
+            <summary>
+            Maximum number of I/O operations dispatched for a given purpose.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.EnableDBScanSerialization">
+            <summary>
+            Database Maintenance serialization is enabled for databases sharing
+            the same disk.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.HungIOThreshold">
+            <summary>
+            The threshold for what is considered a hung IO that should be acted upon.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.HungIOActions">
+            <summary>
+            A set of actions to be taken on IOs that appear hung.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.MinDataForXpress">
+            <summary>
+            Smallest amount of data that should be compressed with xpress compression.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.ProcessFriendlyName">
+            <summary>
+            Friendly name for this instance of the process.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.DurableCommitCallback">
+            <summary>
+            Callback for when log is flushed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EnumeratedColumn">
+            <summary>
+            The values for a given column as generated by Api.EnumerateColumns.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Id">
+            <summary>
+            Gets or sets the column ID of this set of column values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Error">
+            <summary>
+            Gets or sets the status of this column id.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_err.Success"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_err.BadColumnId"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnNotFound"/>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Warning">
+            <summary>
+            Gets or sets the status of this set of column values.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.Success"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnDefault"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNull"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnPresent"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSkipped"/>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Values">
+            <summary>
+            Gets or sets the column values enumerated.
+            </summary>
+            <remarks>
+            This will be null if the column is null or the column values were not provided.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EnumeratedColumn.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.EnumeratedColumn"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.EnumeratedColumn"/>.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Value">
+            <summary>
+            A single column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Value.Ordinal">
+            <summary>
+            Gets or sets the ordinal of this column value.
+            </summary>
+            <remarks>
+            The lowest valid ordinal is one.
+            This is the same as the "itagSequence" of the column value.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Value.Warning">
+            <summary>
+            Gets or sets the status of this column value.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.Success"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnDefault"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNotInRecord"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNull"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnPresent"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSkipped"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnTruncated"/>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Value.Bytes">
+            <summary>
+            Gets or sets the column value as bytes.
+            </summary>
+            <remarks>
+            This will be null if the column is null or the column values were not provided.
+            This will be truncated if Warning is <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnTruncated"/>.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Value.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Value"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.EnumeratedColumn.Value"/>.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOperationException">
+            <summary>
+            Base class for Operation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOperationException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentOperationException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOperationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOperationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDataException">
+            <summary>
+            Base class for Data exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDataException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentDataException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDataException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDataException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentApiException">
+            <summary>
+            Base class for Api exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentApiException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentApiException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentApiException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentApiException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFatalException">
+            <summary>
+            Base class for Fatal exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFatalException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentFatalException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFatalException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFatalException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIOException">
+            <summary>
+            Base class for IO exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIOException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentIOException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIOException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIOException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentResourceException">
+            <summary>
+            Base class for Resource exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResourceException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentResourceException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResourceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentResourceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMemoryException">
+            <summary>
+            Base class for Memory exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMemoryException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentMemoryException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMemoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMemoryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentQuotaException">
+            <summary>
+            Base class for Quota exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentQuotaException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentQuotaException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentQuotaException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentQuotaException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDiskException">
+            <summary>
+            Base class for Disk exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentDiskException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDiskException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCorruptionException">
+            <summary>
+            Base class for Corruption exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCorruptionException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentCorruptionException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCorruptionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCorruptionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInconsistentException">
+            <summary>
+            Base class for Inconsistent exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInconsistentException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentInconsistentException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInconsistentException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInconsistentException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFragmentationException">
+            <summary>
+            Base class for Fragmentation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFragmentationException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentFragmentationException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFragmentationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFragmentationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUsageException">
+            <summary>
+            Base class for Usage exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUsageException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentUsageException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUsageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUsageException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentStateException">
+            <summary>
+            Base class for State exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStateException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentStateException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentStateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentObsoleteException">
+            <summary>
+            Base class for Obsolete exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentObsoleteException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentObsoleteException class.
+            </summary>
+            <param name="description">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentObsoleteException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentObsoleteException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRfsFailureException">
+            <summary>
+            Base class for JET_err.RfsFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRfsFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRfsFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRfsFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRfsFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRfsNotArmedException">
+            <summary>
+            Base class for JET_err.RfsNotArmed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRfsNotArmedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRfsNotArmedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRfsNotArmedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRfsNotArmedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileCloseException">
+            <summary>
+            Base class for JET_err.FileClose exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileCloseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileCloseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileCloseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileCloseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfThreadsException">
+            <summary>
+            Base class for JET_err.OutOfThreads exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfThreadsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfThreadsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfThreadsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfThreadsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyIOException">
+            <summary>
+            Base class for JET_err.TooManyIO exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyIOException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyIOException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyIOException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyIOException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTaskDroppedException">
+            <summary>
+            Base class for JET_err.TaskDropped exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTaskDroppedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTaskDroppedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTaskDroppedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTaskDroppedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInternalErrorException">
+            <summary>
+            Base class for JET_err.InternalError exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInternalErrorException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInternalErrorException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInternalErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInternalErrorException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDisabledFunctionalityException">
+            <summary>
+            Base class for JET_err.DisabledFunctionality exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDisabledFunctionalityException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDisabledFunctionalityException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDisabledFunctionalityException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDisabledFunctionalityException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUnloadableOSFunctionalityException">
+            <summary>
+            Base class for JET_err.UnloadableOSFunctionality exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnloadableOSFunctionalityException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentUnloadableOSFunctionalityException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnloadableOSFunctionalityException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUnloadableOSFunctionalityException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDeviceMissingException">
+            <summary>
+            Base class for JET_err.DeviceMissing exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceMissingException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDeviceMissingException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceMissingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDeviceMissingException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDeviceMisconfiguredException">
+            <summary>
+            Base class for JET_err.DeviceMisconfigured exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceMisconfiguredException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDeviceMisconfiguredException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceMisconfiguredException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDeviceMisconfiguredException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDeviceTimeoutException">
+            <summary>
+            Base class for JET_err.DeviceTimeout exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceTimeoutException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDeviceTimeoutException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceTimeoutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDeviceTimeoutException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDeviceFailureException">
+            <summary>
+            Base class for JET_err.DeviceFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDeviceFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeviceFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDeviceFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseBufferDependenciesCorruptedException">
+            <summary>
+            Base class for JET_err.DatabaseBufferDependenciesCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseBufferDependenciesCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseBufferDependenciesCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseBufferDependenciesCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseBufferDependenciesCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPreviousVersionException">
+            <summary>
+            Base class for JET_err.PreviousVersion exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPreviousVersionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPreviousVersionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPreviousVersionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPreviousVersionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPageBoundaryException">
+            <summary>
+            Base class for JET_err.PageBoundary exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageBoundaryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPageBoundaryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageBoundaryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPageBoundaryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentKeyBoundaryException">
+            <summary>
+            Base class for JET_err.KeyBoundary exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyBoundaryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentKeyBoundaryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyBoundaryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentKeyBoundaryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadPageLinkException">
+            <summary>
+            Base class for JET_err.BadPageLink exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadPageLinkException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadPageLinkException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadPageLinkException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadPageLinkException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadBookmarkException">
+            <summary>
+            Base class for JET_err.BadBookmark exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadBookmarkException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadBookmarkException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadBookmarkException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadBookmarkException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNTSystemCallFailedException">
+            <summary>
+            Base class for JET_err.NTSystemCallFailed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNTSystemCallFailedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNTSystemCallFailedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNTSystemCallFailedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNTSystemCallFailedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadParentPageLinkException">
+            <summary>
+            Base class for JET_err.BadParentPageLink exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadParentPageLinkException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadParentPageLinkException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadParentPageLinkException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadParentPageLinkException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCacheOutOfSyncException">
+            <summary>
+            Base class for JET_err.SPAvailExtCacheOutOfSync exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCacheOutOfSyncException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSPAvailExtCacheOutOfSyncException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCacheOutOfSyncException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSPAvailExtCacheOutOfSyncException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCorruptedException">
+            <summary>
+            Base class for JET_err.SPAvailExtCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSPAvailExtCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSPAvailExtCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCacheOutOfMemoryException">
+            <summary>
+            Base class for JET_err.SPAvailExtCacheOutOfMemory exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCacheOutOfMemoryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSPAvailExtCacheOutOfMemoryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPAvailExtCacheOutOfMemoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSPAvailExtCacheOutOfMemoryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSPOwnExtCorruptedException">
+            <summary>
+            Base class for JET_err.SPOwnExtCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPOwnExtCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSPOwnExtCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSPOwnExtCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSPOwnExtCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDbTimeCorruptedException">
+            <summary>
+            Base class for JET_err.DbTimeCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDbTimeCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDbTimeCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDbTimeCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDbTimeCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentKeyTruncatedException">
+            <summary>
+            Base class for JET_err.KeyTruncated exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyTruncatedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentKeyTruncatedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyTruncatedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentKeyTruncatedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseLeakInSpaceException">
+            <summary>
+            Base class for JET_err.DatabaseLeakInSpace exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseLeakInSpaceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseLeakInSpaceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseLeakInSpaceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseLeakInSpaceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadEmptyPageException">
+            <summary>
+            Base class for JET_err.BadEmptyPage exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadEmptyPageException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadEmptyPageException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadEmptyPageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadEmptyPageException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadLineCountException">
+            <summary>
+            Base class for JET_err.BadLineCount exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadLineCountException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadLineCountException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadLineCountException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadLineCountException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentKeyTooBigException">
+            <summary>
+            Base class for JET_err.KeyTooBig exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyTooBigException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentKeyTooBigException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyTooBigException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentKeyTooBigException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotSeparateIntrinsicLVException">
+            <summary>
+            Base class for JET_err.CannotSeparateIntrinsicLV exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotSeparateIntrinsicLVException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotSeparateIntrinsicLVException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotSeparateIntrinsicLVException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotSeparateIntrinsicLVException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSeparatedLongValueException">
+            <summary>
+            Base class for JET_err.SeparatedLongValue exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSeparatedLongValueException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSeparatedLongValueException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSeparatedLongValueException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSeparatedLongValueException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMustBeSeparateLongValueException">
+            <summary>
+            Base class for JET_err.MustBeSeparateLongValue exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustBeSeparateLongValueException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMustBeSeparateLongValueException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustBeSeparateLongValueException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMustBeSeparateLongValueException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidPrereadException">
+            <summary>
+            Base class for JET_err.InvalidPreread exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidPrereadException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidPrereadException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidPrereadException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidPrereadException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidColumnReferenceException">
+            <summary>
+            Base class for JET_err.InvalidColumnReference exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidColumnReferenceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidColumnReferenceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidColumnReferenceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidColumnReferenceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentStaleColumnReferenceException">
+            <summary>
+            Base class for JET_err.StaleColumnReference exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStaleColumnReferenceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentStaleColumnReferenceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStaleColumnReferenceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentStaleColumnReferenceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCompressionIntegrityCheckFailedException">
+            <summary>
+            Base class for JET_err.CompressionIntegrityCheckFailed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCompressionIntegrityCheckFailedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCompressionIntegrityCheckFailedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCompressionIntegrityCheckFailedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCompressionIntegrityCheckFailedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidLoggedOperationException">
+            <summary>
+            Base class for JET_err.InvalidLoggedOperation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLoggedOperationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidLoggedOperationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLoggedOperationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidLoggedOperationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogFileCorruptException">
+            <summary>
+            Base class for JET_err.LogFileCorrupt exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileCorruptException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogFileCorruptException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileCorruptException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogFileCorruptException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNoBackupDirectoryException">
+            <summary>
+            Base class for JET_err.NoBackupDirectory exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoBackupDirectoryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNoBackupDirectoryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoBackupDirectoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNoBackupDirectoryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBackupDirectoryNotEmptyException">
+            <summary>
+            Base class for JET_err.BackupDirectoryNotEmpty exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupDirectoryNotEmptyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBackupDirectoryNotEmptyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupDirectoryNotEmptyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBackupDirectoryNotEmptyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBackupInProgressException">
+            <summary>
+            Base class for JET_err.BackupInProgress exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupInProgressException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBackupInProgressException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupInProgressException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBackupInProgressException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRestoreInProgressException">
+            <summary>
+            Base class for JET_err.RestoreInProgress exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRestoreInProgressException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRestoreInProgressException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRestoreInProgressException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRestoreInProgressException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMissingPreviousLogFileException">
+            <summary>
+            Base class for JET_err.MissingPreviousLogFile exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingPreviousLogFileException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMissingPreviousLogFileException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingPreviousLogFileException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMissingPreviousLogFileException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogWriteFailException">
+            <summary>
+            Base class for JET_err.LogWriteFail exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogWriteFailException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogWriteFailException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogWriteFailException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogWriteFailException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogDisabledDueToRecoveryFailureException">
+            <summary>
+            Base class for JET_err.LogDisabledDueToRecoveryFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogDisabledDueToRecoveryFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogDisabledDueToRecoveryFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogDisabledDueToRecoveryFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogDisabledDueToRecoveryFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotLogDuringRecoveryRedoException">
+            <summary>
+            Base class for JET_err.CannotLogDuringRecoveryRedo exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotLogDuringRecoveryRedoException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotLogDuringRecoveryRedoException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotLogDuringRecoveryRedoException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotLogDuringRecoveryRedoException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogGenerationMismatchException">
+            <summary>
+            Base class for JET_err.LogGenerationMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogGenerationMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogGenerationMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogGenerationMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogGenerationMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadLogVersionException">
+            <summary>
+            Base class for JET_err.BadLogVersion exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadLogVersionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadLogVersionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadLogVersionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadLogVersionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidLogSequenceException">
+            <summary>
+            Base class for JET_err.InvalidLogSequence exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLogSequenceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidLogSequenceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLogSequenceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidLogSequenceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLoggingDisabledException">
+            <summary>
+            Base class for JET_err.LoggingDisabled exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLoggingDisabledException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLoggingDisabledException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLoggingDisabledException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLoggingDisabledException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogBufferTooSmallException">
+            <summary>
+            Base class for JET_err.LogBufferTooSmall exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogBufferTooSmallException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogBufferTooSmallException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogBufferTooSmallException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogBufferTooSmallException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogSequenceEndException">
+            <summary>
+            Base class for JET_err.LogSequenceEnd exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSequenceEndException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogSequenceEndException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSequenceEndException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogSequenceEndException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNoBackupException">
+            <summary>
+            Base class for JET_err.NoBackup exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoBackupException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNoBackupException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoBackupException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNoBackupException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidBackupSequenceException">
+            <summary>
+            Base class for JET_err.InvalidBackupSequence exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBackupSequenceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidBackupSequenceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBackupSequenceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidBackupSequenceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBackupNotAllowedYetException">
+            <summary>
+            Base class for JET_err.BackupNotAllowedYet exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupNotAllowedYetException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBackupNotAllowedYetException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupNotAllowedYetException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBackupNotAllowedYetException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDeleteBackupFileFailException">
+            <summary>
+            Base class for JET_err.DeleteBackupFileFail exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeleteBackupFileFailException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDeleteBackupFileFailException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDeleteBackupFileFailException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDeleteBackupFileFailException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMakeBackupDirectoryFailException">
+            <summary>
+            Base class for JET_err.MakeBackupDirectoryFail exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMakeBackupDirectoryFailException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMakeBackupDirectoryFailException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMakeBackupDirectoryFailException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMakeBackupDirectoryFailException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidBackupException">
+            <summary>
+            Base class for JET_err.InvalidBackup exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBackupException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidBackupException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBackupException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidBackupException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecoveredWithErrorsException">
+            <summary>
+            Base class for JET_err.RecoveredWithErrors exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveredWithErrorsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecoveredWithErrorsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveredWithErrorsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecoveredWithErrorsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMissingLogFileException">
+            <summary>
+            Base class for JET_err.MissingLogFile exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingLogFileException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMissingLogFileException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingLogFileException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMissingLogFileException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogDiskFullException">
+            <summary>
+            Base class for JET_err.LogDiskFull exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogDiskFullException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogDiskFullException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogDiskFullException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogDiskFullException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadLogSignatureException">
+            <summary>
+            Base class for JET_err.BadLogSignature exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadLogSignatureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadLogSignatureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadLogSignatureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadLogSignatureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadDbSignatureException">
+            <summary>
+            Base class for JET_err.BadDbSignature exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadDbSignatureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadDbSignatureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadDbSignatureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadDbSignatureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadCheckpointSignatureException">
+            <summary>
+            Base class for JET_err.BadCheckpointSignature exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadCheckpointSignatureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadCheckpointSignatureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadCheckpointSignatureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadCheckpointSignatureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCheckpointCorruptException">
+            <summary>
+            Base class for JET_err.CheckpointCorrupt exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCheckpointCorruptException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCheckpointCorruptException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCheckpointCorruptException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCheckpointCorruptException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMissingPatchPageException">
+            <summary>
+            Base class for JET_err.MissingPatchPage exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingPatchPageException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMissingPatchPageException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingPatchPageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMissingPatchPageException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadPatchPageException">
+            <summary>
+            Base class for JET_err.BadPatchPage exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadPatchPageException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadPatchPageException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadPatchPageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadPatchPageException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRedoAbruptEndedException">
+            <summary>
+            Base class for JET_err.RedoAbruptEnded exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRedoAbruptEndedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRedoAbruptEndedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRedoAbruptEndedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRedoAbruptEndedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPatchFileMissingException">
+            <summary>
+            Base class for JET_err.PatchFileMissing exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPatchFileMissingException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPatchFileMissingException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPatchFileMissingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPatchFileMissingException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseLogSetMismatchException">
+            <summary>
+            Base class for JET_err.DatabaseLogSetMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseLogSetMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseLogSetMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseLogSetMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseLogSetMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseStreamingFileMismatchException">
+            <summary>
+            Base class for JET_err.DatabaseStreamingFileMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseStreamingFileMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseStreamingFileMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseStreamingFileMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseStreamingFileMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogFileSizeMismatchException">
+            <summary>
+            Base class for JET_err.LogFileSizeMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileSizeMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogFileSizeMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileSizeMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogFileSizeMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCheckpointFileNotFoundException">
+            <summary>
+            Base class for JET_err.CheckpointFileNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCheckpointFileNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCheckpointFileNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCheckpointFileNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCheckpointFileNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRequiredLogFilesMissingException">
+            <summary>
+            Base class for JET_err.RequiredLogFilesMissing exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRequiredLogFilesMissingException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRequiredLogFilesMissingException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRequiredLogFilesMissingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRequiredLogFilesMissingException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSoftRecoveryOnBackupDatabaseException">
+            <summary>
+            Base class for JET_err.SoftRecoveryOnBackupDatabase exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSoftRecoveryOnBackupDatabaseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSoftRecoveryOnBackupDatabaseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSoftRecoveryOnBackupDatabaseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSoftRecoveryOnBackupDatabaseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogFileSizeMismatchDatabasesConsistentException">
+            <summary>
+            Base class for JET_err.LogFileSizeMismatchDatabasesConsistent exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileSizeMismatchDatabasesConsistentException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogFileSizeMismatchDatabasesConsistentException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileSizeMismatchDatabasesConsistentException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogFileSizeMismatchDatabasesConsistentException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogSectorSizeMismatchException">
+            <summary>
+            Base class for JET_err.LogSectorSizeMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSectorSizeMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogSectorSizeMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSectorSizeMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogSectorSizeMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogSectorSizeMismatchDatabasesConsistentException">
+            <summary>
+            Base class for JET_err.LogSectorSizeMismatchDatabasesConsistent exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSectorSizeMismatchDatabasesConsistentException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogSectorSizeMismatchDatabasesConsistentException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSectorSizeMismatchDatabasesConsistentException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogSectorSizeMismatchDatabasesConsistentException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogSequenceEndDatabasesConsistentException">
+            <summary>
+            Base class for JET_err.LogSequenceEndDatabasesConsistent exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSequenceEndDatabasesConsistentException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogSequenceEndDatabasesConsistentException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSequenceEndDatabasesConsistentException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogSequenceEndDatabasesConsistentException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentStreamingDataNotLoggedException">
+            <summary>
+            Base class for JET_err.StreamingDataNotLogged exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStreamingDataNotLoggedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentStreamingDataNotLoggedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStreamingDataNotLoggedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentStreamingDataNotLoggedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseDirtyShutdownException">
+            <summary>
+            Base class for JET_err.DatabaseDirtyShutdown exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseDirtyShutdownException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseDirtyShutdownException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseDirtyShutdownException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseDirtyShutdownException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentConsistentTimeMismatchException">
+            <summary>
+            Base class for JET_err.ConsistentTimeMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentConsistentTimeMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentConsistentTimeMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentConsistentTimeMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentConsistentTimeMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabasePatchFileMismatchException">
+            <summary>
+            Base class for JET_err.DatabasePatchFileMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabasePatchFileMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabasePatchFileMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabasePatchFileMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabasePatchFileMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEndingRestoreLogTooLowException">
+            <summary>
+            Base class for JET_err.EndingRestoreLogTooLow exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEndingRestoreLogTooLowException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEndingRestoreLogTooLowException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEndingRestoreLogTooLowException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEndingRestoreLogTooLowException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentStartingRestoreLogTooHighException">
+            <summary>
+            Base class for JET_err.StartingRestoreLogTooHigh exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStartingRestoreLogTooHighException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentStartingRestoreLogTooHighException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStartingRestoreLogTooHighException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentStartingRestoreLogTooHighException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentGivenLogFileHasBadSignatureException">
+            <summary>
+            Base class for JET_err.GivenLogFileHasBadSignature exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentGivenLogFileHasBadSignatureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentGivenLogFileHasBadSignatureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentGivenLogFileHasBadSignatureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentGivenLogFileHasBadSignatureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentGivenLogFileIsNotContiguousException">
+            <summary>
+            Base class for JET_err.GivenLogFileIsNotContiguous exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentGivenLogFileIsNotContiguousException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentGivenLogFileIsNotContiguousException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentGivenLogFileIsNotContiguousException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentGivenLogFileIsNotContiguousException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMissingRestoreLogFilesException">
+            <summary>
+            Base class for JET_err.MissingRestoreLogFiles exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingRestoreLogFilesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMissingRestoreLogFilesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingRestoreLogFilesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMissingRestoreLogFilesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMissingFullBackupException">
+            <summary>
+            Base class for JET_err.MissingFullBackup exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingFullBackupException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMissingFullBackupException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingFullBackupException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMissingFullBackupException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadBackupDatabaseSizeException">
+            <summary>
+            Base class for JET_err.BadBackupDatabaseSize exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadBackupDatabaseSizeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadBackupDatabaseSizeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadBackupDatabaseSizeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadBackupDatabaseSizeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseAlreadyUpgradedException">
+            <summary>
+            Base class for JET_err.DatabaseAlreadyUpgraded exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseAlreadyUpgradedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseAlreadyUpgradedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseAlreadyUpgradedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseAlreadyUpgradedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseIncompleteUpgradeException">
+            <summary>
+            Base class for JET_err.DatabaseIncompleteUpgrade exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseIncompleteUpgradeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseIncompleteUpgradeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseIncompleteUpgradeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseIncompleteUpgradeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMissingCurrentLogFilesException">
+            <summary>
+            Base class for JET_err.MissingCurrentLogFiles exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingCurrentLogFilesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMissingCurrentLogFilesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingCurrentLogFilesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMissingCurrentLogFilesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDbTimeTooOldException">
+            <summary>
+            Base class for JET_err.DbTimeTooOld exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDbTimeTooOldException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDbTimeTooOldException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDbTimeTooOldException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDbTimeTooOldException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDbTimeTooNewException">
+            <summary>
+            Base class for JET_err.DbTimeTooNew exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDbTimeTooNewException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDbTimeTooNewException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDbTimeTooNewException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDbTimeTooNewException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMissingFileToBackupException">
+            <summary>
+            Base class for JET_err.MissingFileToBackup exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingFileToBackupException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMissingFileToBackupException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMissingFileToBackupException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMissingFileToBackupException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogTornWriteDuringHardRestoreException">
+            <summary>
+            Base class for JET_err.LogTornWriteDuringHardRestore exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogTornWriteDuringHardRestoreException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogTornWriteDuringHardRestoreException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogTornWriteDuringHardRestoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogTornWriteDuringHardRestoreException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogTornWriteDuringHardRecoveryException">
+            <summary>
+            Base class for JET_err.LogTornWriteDuringHardRecovery exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogTornWriteDuringHardRecoveryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogTornWriteDuringHardRecoveryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogTornWriteDuringHardRecoveryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogTornWriteDuringHardRecoveryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogCorruptDuringHardRestoreException">
+            <summary>
+            Base class for JET_err.LogCorruptDuringHardRestore exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogCorruptDuringHardRestoreException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogCorruptDuringHardRestoreException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogCorruptDuringHardRestoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogCorruptDuringHardRestoreException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogCorruptDuringHardRecoveryException">
+            <summary>
+            Base class for JET_err.LogCorruptDuringHardRecovery exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogCorruptDuringHardRecoveryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogCorruptDuringHardRecoveryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogCorruptDuringHardRecoveryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogCorruptDuringHardRecoveryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMustDisableLoggingForDbUpgradeException">
+            <summary>
+            Base class for JET_err.MustDisableLoggingForDbUpgrade exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustDisableLoggingForDbUpgradeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMustDisableLoggingForDbUpgradeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustDisableLoggingForDbUpgradeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMustDisableLoggingForDbUpgradeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadRestoreTargetInstanceException">
+            <summary>
+            Base class for JET_err.BadRestoreTargetInstance exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadRestoreTargetInstanceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadRestoreTargetInstanceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadRestoreTargetInstanceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadRestoreTargetInstanceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecoveredWithoutUndoException">
+            <summary>
+            Base class for JET_err.RecoveredWithoutUndo exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveredWithoutUndoException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecoveredWithoutUndoException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveredWithoutUndoException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecoveredWithoutUndoException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabasesNotFromSameSnapshotException">
+            <summary>
+            Base class for JET_err.DatabasesNotFromSameSnapshot exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabasesNotFromSameSnapshotException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabasesNotFromSameSnapshotException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabasesNotFromSameSnapshotException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabasesNotFromSameSnapshotException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSoftRecoveryOnSnapshotException">
+            <summary>
+            Base class for JET_err.SoftRecoveryOnSnapshot exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSoftRecoveryOnSnapshotException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSoftRecoveryOnSnapshotException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSoftRecoveryOnSnapshotException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSoftRecoveryOnSnapshotException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCommittedLogFilesMissingException">
+            <summary>
+            Base class for JET_err.CommittedLogFilesMissing exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCommittedLogFilesMissingException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCommittedLogFilesMissingException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCommittedLogFilesMissingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCommittedLogFilesMissingException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSectorSizeNotSupportedException">
+            <summary>
+            Base class for JET_err.SectorSizeNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSectorSizeNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSectorSizeNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSectorSizeNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSectorSizeNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecoveredWithoutUndoDatabasesConsistentException">
+            <summary>
+            Base class for JET_err.RecoveredWithoutUndoDatabasesConsistent exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveredWithoutUndoDatabasesConsistentException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecoveredWithoutUndoDatabasesConsistentException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveredWithoutUndoDatabasesConsistentException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecoveredWithoutUndoDatabasesConsistentException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCommittedLogFileCorruptException">
+            <summary>
+            Base class for JET_err.CommittedLogFileCorrupt exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCommittedLogFileCorruptException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCommittedLogFileCorruptException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCommittedLogFileCorruptException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCommittedLogFileCorruptException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogSequenceChecksumMismatchException">
+            <summary>
+            Base class for JET_err.LogSequenceChecksumMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSequenceChecksumMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogSequenceChecksumMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogSequenceChecksumMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogSequenceChecksumMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPageInitializedMismatchException">
+            <summary>
+            Base class for JET_err.PageInitializedMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageInitializedMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPageInitializedMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageInitializedMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPageInitializedMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUnicodeTranslationBufferTooSmallException">
+            <summary>
+            Base class for JET_err.UnicodeTranslationBufferTooSmall exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeTranslationBufferTooSmallException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentUnicodeTranslationBufferTooSmallException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeTranslationBufferTooSmallException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUnicodeTranslationBufferTooSmallException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUnicodeTranslationFailException">
+            <summary>
+            Base class for JET_err.UnicodeTranslationFail exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeTranslationFailException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentUnicodeTranslationFailException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeTranslationFailException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUnicodeTranslationFailException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUnicodeNormalizationNotSupportedException">
+            <summary>
+            Base class for JET_err.UnicodeNormalizationNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeNormalizationNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentUnicodeNormalizationNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeNormalizationNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUnicodeNormalizationNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUnicodeLanguageValidationFailureException">
+            <summary>
+            Base class for JET_err.UnicodeLanguageValidationFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeLanguageValidationFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentUnicodeLanguageValidationFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUnicodeLanguageValidationFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUnicodeLanguageValidationFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentExistingLogFileHasBadSignatureException">
+            <summary>
+            Base class for JET_err.ExistingLogFileHasBadSignature exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentExistingLogFileHasBadSignatureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentExistingLogFileHasBadSignatureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentExistingLogFileHasBadSignatureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentExistingLogFileHasBadSignatureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentExistingLogFileIsNotContiguousException">
+            <summary>
+            Base class for JET_err.ExistingLogFileIsNotContiguous exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentExistingLogFileIsNotContiguousException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentExistingLogFileIsNotContiguousException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentExistingLogFileIsNotContiguousException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentExistingLogFileIsNotContiguousException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogReadVerifyFailureException">
+            <summary>
+            Base class for JET_err.LogReadVerifyFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogReadVerifyFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogReadVerifyFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogReadVerifyFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogReadVerifyFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCheckpointDepthTooDeepException">
+            <summary>
+            Base class for JET_err.CheckpointDepthTooDeep exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCheckpointDepthTooDeepException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCheckpointDepthTooDeepException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCheckpointDepthTooDeepException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCheckpointDepthTooDeepException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRestoreOfNonBackupDatabaseException">
+            <summary>
+            Base class for JET_err.RestoreOfNonBackupDatabase exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRestoreOfNonBackupDatabaseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRestoreOfNonBackupDatabaseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRestoreOfNonBackupDatabaseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRestoreOfNonBackupDatabaseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogFileNotCopiedException">
+            <summary>
+            Base class for JET_err.LogFileNotCopied exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileNotCopiedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogFileNotCopiedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFileNotCopiedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogFileNotCopiedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSurrogateBackupInProgressException">
+            <summary>
+            Base class for JET_err.SurrogateBackupInProgress exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSurrogateBackupInProgressException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSurrogateBackupInProgressException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSurrogateBackupInProgressException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSurrogateBackupInProgressException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTransactionTooLongException">
+            <summary>
+            Base class for JET_err.TransactionTooLong exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransactionTooLongException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTransactionTooLongException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransactionTooLongException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTransactionTooLongException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionNoLongerSupportedTooLowException">
+            <summary>
+            Base class for JET_err.EngineFormatVersionNoLongerSupportedTooLow exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionNoLongerSupportedTooLowException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionNoLongerSupportedTooLowException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionNoLongerSupportedTooLowException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionNoLongerSupportedTooLowException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionNotYetImplementedTooHighException">
+            <summary>
+            Base class for JET_err.EngineFormatVersionNotYetImplementedTooHigh exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionNotYetImplementedTooHighException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionNotYetImplementedTooHighException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionNotYetImplementedTooHighException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionNotYetImplementedTooHighException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionParamTooLowForRequestedFeatureException">
+            <summary>
+            Base class for JET_err.EngineFormatVersionParamTooLowForRequestedFeature exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionParamTooLowForRequestedFeatureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionParamTooLowForRequestedFeatureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionParamTooLowForRequestedFeatureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionParamTooLowForRequestedFeatureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionSpecifiedTooLowForLogVersionException">
+            <summary>
+            Base class for JET_err.EngineFormatVersionSpecifiedTooLowForLogVersion exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionSpecifiedTooLowForLogVersionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionSpecifiedTooLowForLogVersionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionSpecifiedTooLowForLogVersionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionSpecifiedTooLowForLogVersionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionSpecifiedTooLowForDatabaseVersionException">
+            <summary>
+            Base class for JET_err.EngineFormatVersionSpecifiedTooLowForDatabaseVersion exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionSpecifiedTooLowForDatabaseVersionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionSpecifiedTooLowForDatabaseVersionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEngineFormatVersionSpecifiedTooLowForDatabaseVersionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEngineFormatVersionSpecifiedTooLowForDatabaseVersionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBackupAbortByServerException">
+            <summary>
+            Base class for JET_err.BackupAbortByServer exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupAbortByServerException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBackupAbortByServerException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBackupAbortByServerException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBackupAbortByServerException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidGrbitException">
+            <summary>
+            Base class for JET_err.InvalidGrbit exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidGrbitException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidGrbitException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidGrbitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidGrbitException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTermInProgressException">
+            <summary>
+            Base class for JET_err.TermInProgress exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTermInProgressException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTermInProgressException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTermInProgressException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTermInProgressException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFeatureNotAvailableException">
+            <summary>
+            Base class for JET_err.FeatureNotAvailable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFeatureNotAvailableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFeatureNotAvailableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFeatureNotAvailableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFeatureNotAvailableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidNameException">
+            <summary>
+            Base class for JET_err.InvalidName exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidNameException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidNameException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidNameException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidNameException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidParameterException">
+            <summary>
+            Base class for JET_err.InvalidParameter exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidParameterException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidParameterException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidParameterException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidParameterException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseFileReadOnlyException">
+            <summary>
+            Base class for JET_err.DatabaseFileReadOnly exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseFileReadOnlyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseFileReadOnlyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseFileReadOnlyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseFileReadOnlyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseIdException">
+            <summary>
+            Base class for JET_err.InvalidDatabaseId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidDatabaseIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidDatabaseIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfMemoryException">
+            <summary>
+            Base class for JET_err.OutOfMemory exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfMemoryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfMemoryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfMemoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfMemoryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfDatabaseSpaceException">
+            <summary>
+            Base class for JET_err.OutOfDatabaseSpace exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfDatabaseSpaceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfDatabaseSpaceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfDatabaseSpaceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfDatabaseSpaceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfCursorsException">
+            <summary>
+            Base class for JET_err.OutOfCursors exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfCursorsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfCursorsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfCursorsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfCursorsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfBuffersException">
+            <summary>
+            Base class for JET_err.OutOfBuffers exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfBuffersException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfBuffersException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfBuffersException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfBuffersException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyIndexesException">
+            <summary>
+            Base class for JET_err.TooManyIndexes exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyIndexesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyIndexesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyIndexesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyIndexesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyKeysException">
+            <summary>
+            Base class for JET_err.TooManyKeys exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyKeysException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyKeysException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyKeysException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyKeysException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordDeletedException">
+            <summary>
+            Base class for JET_err.RecordDeleted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordDeletedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordDeletedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordDeletedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordDeletedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentReadVerifyFailureException">
+            <summary>
+            Base class for JET_err.ReadVerifyFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentReadVerifyFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentReadVerifyFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentReadVerifyFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentReadVerifyFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPageNotInitializedException">
+            <summary>
+            Base class for JET_err.PageNotInitialized exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageNotInitializedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPageNotInitializedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageNotInitializedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPageNotInitializedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfFileHandlesException">
+            <summary>
+            Base class for JET_err.OutOfFileHandles exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfFileHandlesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfFileHandlesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfFileHandlesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfFileHandlesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDiskReadVerificationFailureException">
+            <summary>
+            Base class for JET_err.DiskReadVerificationFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskReadVerificationFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDiskReadVerificationFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskReadVerificationFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDiskReadVerificationFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDiskIOException">
+            <summary>
+            Base class for JET_err.DiskIO exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskIOException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDiskIOException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskIOException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDiskIOException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidPathException">
+            <summary>
+            Base class for JET_err.InvalidPath exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidPathException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidPathException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidPathException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidPathException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidSystemPathException">
+            <summary>
+            Base class for JET_err.InvalidSystemPath exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSystemPathException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidSystemPathException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSystemPathException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidSystemPathException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidLogDirectoryException">
+            <summary>
+            Base class for JET_err.InvalidLogDirectory exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLogDirectoryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidLogDirectoryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLogDirectoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidLogDirectoryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordTooBigException">
+            <summary>
+            Base class for JET_err.RecordTooBig exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordTooBigException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordTooBigException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordTooBigException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordTooBigException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyOpenDatabasesException">
+            <summary>
+            Base class for JET_err.TooManyOpenDatabases exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenDatabasesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenDatabasesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenDatabasesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenDatabasesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseException">
+            <summary>
+            Base class for JET_err.InvalidDatabase exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidDatabaseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidDatabaseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNotInitializedException">
+            <summary>
+            Base class for JET_err.NotInitialized exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNotInitializedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNotInitializedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNotInitializedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNotInitializedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentAlreadyInitializedException">
+            <summary>
+            Base class for JET_err.AlreadyInitialized exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAlreadyInitializedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentAlreadyInitializedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAlreadyInitializedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentAlreadyInitializedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInitInProgressException">
+            <summary>
+            Base class for JET_err.InitInProgress exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInitInProgressException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInitInProgressException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInitInProgressException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInitInProgressException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileAccessDeniedException">
+            <summary>
+            Base class for JET_err.FileAccessDenied exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileAccessDeniedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileAccessDeniedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileAccessDeniedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileAccessDeniedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentQueryNotSupportedException">
+            <summary>
+            Base class for JET_err.QueryNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentQueryNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentQueryNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentQueryNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentQueryNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSQLLinkNotSupportedException">
+            <summary>
+            Base class for JET_err.SQLLinkNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSQLLinkNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSQLLinkNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSQLLinkNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSQLLinkNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBufferTooSmallException">
+            <summary>
+            Base class for JET_err.BufferTooSmall exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBufferTooSmallException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBufferTooSmallException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBufferTooSmallException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBufferTooSmallException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyColumnsException">
+            <summary>
+            Base class for JET_err.TooManyColumns exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyColumnsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyColumnsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyColumnsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyColumnsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentContainerNotEmptyException">
+            <summary>
+            Base class for JET_err.ContainerNotEmpty exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentContainerNotEmptyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentContainerNotEmptyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentContainerNotEmptyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentContainerNotEmptyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidFilenameException">
+            <summary>
+            Base class for JET_err.InvalidFilename exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidFilenameException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidFilenameException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidFilenameException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidFilenameException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidBookmarkException">
+            <summary>
+            Base class for JET_err.InvalidBookmark exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBookmarkException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidBookmarkException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBookmarkException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidBookmarkException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnInUseException">
+            <summary>
+            Base class for JET_err.ColumnInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidBufferSizeException">
+            <summary>
+            Base class for JET_err.InvalidBufferSize exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBufferSizeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidBufferSizeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidBufferSizeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidBufferSizeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnNotUpdatableException">
+            <summary>
+            Base class for JET_err.ColumnNotUpdatable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNotUpdatableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnNotUpdatableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNotUpdatableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnNotUpdatableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexInUseException">
+            <summary>
+            Base class for JET_err.IndexInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLinkNotSupportedException">
+            <summary>
+            Base class for JET_err.LinkNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLinkNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLinkNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLinkNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLinkNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNullKeyDisallowedException">
+            <summary>
+            Base class for JET_err.NullKeyDisallowed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNullKeyDisallowedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNullKeyDisallowedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNullKeyDisallowedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNullKeyDisallowedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNotInTransactionException">
+            <summary>
+            Base class for JET_err.NotInTransaction exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNotInTransactionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNotInTransactionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNotInTransactionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNotInTransactionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMustRollbackException">
+            <summary>
+            Base class for JET_err.MustRollback exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustRollbackException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMustRollbackException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustRollbackException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMustRollbackException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyActiveUsersException">
+            <summary>
+            Base class for JET_err.TooManyActiveUsers exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyActiveUsersException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyActiveUsersException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyActiveUsersException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyActiveUsersException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidCountryException">
+            <summary>
+            Base class for JET_err.InvalidCountry exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCountryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidCountryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCountryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidCountryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidLanguageIdException">
+            <summary>
+            Base class for JET_err.InvalidLanguageId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLanguageIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidLanguageIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLanguageIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidLanguageIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidCodePageException">
+            <summary>
+            Base class for JET_err.InvalidCodePage exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCodePageException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidCodePageException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCodePageException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidCodePageException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidLCMapStringFlagsException">
+            <summary>
+            Base class for JET_err.InvalidLCMapStringFlags exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLCMapStringFlagsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidLCMapStringFlagsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLCMapStringFlagsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidLCMapStringFlagsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentVersionStoreEntryTooBigException">
+            <summary>
+            Base class for JET_err.VersionStoreEntryTooBig exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentVersionStoreEntryTooBigException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentVersionStoreEntryTooBigException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentVersionStoreEntryTooBigException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentVersionStoreEntryTooBigException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryAndCleanupTimedOutException">
+            <summary>
+            Base class for JET_err.VersionStoreOutOfMemoryAndCleanupTimedOut exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryAndCleanupTimedOutException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentVersionStoreOutOfMemoryAndCleanupTimedOutException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryAndCleanupTimedOutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentVersionStoreOutOfMemoryAndCleanupTimedOutException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryException">
+            <summary>
+            Base class for JET_err.VersionStoreOutOfMemory exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentVersionStoreOutOfMemoryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentVersionStoreOutOfMemoryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCurrencyStackOutOfMemoryException">
+            <summary>
+            Base class for JET_err.CurrencyStackOutOfMemory exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCurrencyStackOutOfMemoryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCurrencyStackOutOfMemoryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCurrencyStackOutOfMemoryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCurrencyStackOutOfMemoryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotIndexException">
+            <summary>
+            Base class for JET_err.CannotIndex exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotIndexException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotIndexException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotIndexException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotIndexException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordNotDeletedException">
+            <summary>
+            Base class for JET_err.RecordNotDeleted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordNotDeletedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordNotDeletedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordNotDeletedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordNotDeletedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyMempoolEntriesException">
+            <summary>
+            Base class for JET_err.TooManyMempoolEntries exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyMempoolEntriesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyMempoolEntriesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyMempoolEntriesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyMempoolEntriesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfObjectIDsException">
+            <summary>
+            Base class for JET_err.OutOfObjectIDs exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfObjectIDsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfObjectIDsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfObjectIDsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfObjectIDsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfLongValueIDsException">
+            <summary>
+            Base class for JET_err.OutOfLongValueIDs exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfLongValueIDsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfLongValueIDsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfLongValueIDsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfLongValueIDsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfAutoincrementValuesException">
+            <summary>
+            Base class for JET_err.OutOfAutoincrementValues exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfAutoincrementValuesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfAutoincrementValuesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfAutoincrementValuesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfAutoincrementValuesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfDbtimeValuesException">
+            <summary>
+            Base class for JET_err.OutOfDbtimeValues exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfDbtimeValuesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfDbtimeValuesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfDbtimeValuesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfDbtimeValuesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfSequentialIndexValuesException">
+            <summary>
+            Base class for JET_err.OutOfSequentialIndexValues exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfSequentialIndexValuesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfSequentialIndexValuesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfSequentialIndexValuesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfSequentialIndexValuesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRunningInOneInstanceModeException">
+            <summary>
+            Base class for JET_err.RunningInOneInstanceMode exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRunningInOneInstanceModeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRunningInOneInstanceModeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRunningInOneInstanceModeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRunningInOneInstanceModeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRunningInMultiInstanceModeException">
+            <summary>
+            Base class for JET_err.RunningInMultiInstanceMode exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRunningInMultiInstanceModeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRunningInMultiInstanceModeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRunningInMultiInstanceModeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRunningInMultiInstanceModeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSystemParamsAlreadySetException">
+            <summary>
+            Base class for JET_err.SystemParamsAlreadySet exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSystemParamsAlreadySetException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSystemParamsAlreadySetException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSystemParamsAlreadySetException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSystemParamsAlreadySetException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSystemPathInUseException">
+            <summary>
+            Base class for JET_err.SystemPathInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSystemPathInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSystemPathInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSystemPathInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSystemPathInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogFilePathInUseException">
+            <summary>
+            Base class for JET_err.LogFilePathInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFilePathInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogFilePathInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogFilePathInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogFilePathInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTempPathInUseException">
+            <summary>
+            Base class for JET_err.TempPathInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTempPathInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTempPathInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTempPathInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTempPathInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInstanceNameInUseException">
+            <summary>
+            Base class for JET_err.InstanceNameInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInstanceNameInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInstanceNameInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInstanceNameInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInstanceNameInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSystemParameterConflictException">
+            <summary>
+            Base class for JET_err.SystemParameterConflict exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSystemParameterConflictException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSystemParameterConflictException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSystemParameterConflictException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSystemParameterConflictException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInstanceUnavailableException">
+            <summary>
+            Base class for JET_err.InstanceUnavailable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInstanceUnavailableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInstanceUnavailableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInstanceUnavailableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInstanceUnavailableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseUnavailableException">
+            <summary>
+            Base class for JET_err.DatabaseUnavailable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseUnavailableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseUnavailableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseUnavailableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseUnavailableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInstanceUnavailableDueToFatalLogDiskFullException">
+            <summary>
+            Base class for JET_err.InstanceUnavailableDueToFatalLogDiskFull exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInstanceUnavailableDueToFatalLogDiskFullException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInstanceUnavailableDueToFatalLogDiskFullException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInstanceUnavailableDueToFatalLogDiskFullException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInstanceUnavailableDueToFatalLogDiskFullException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidSesparamIdException">
+            <summary>
+            Base class for JET_err.InvalidSesparamId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSesparamIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidSesparamIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSesparamIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidSesparamIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyRecordsException">
+            <summary>
+            Base class for JET_err.TooManyRecords exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyRecordsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyRecordsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyRecordsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyRecordsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidDbparamIdException">
+            <summary>
+            Base class for JET_err.InvalidDbparamId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDbparamIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidDbparamIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDbparamIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidDbparamIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOutOfSessionsException">
+            <summary>
+            Base class for JET_err.OutOfSessions exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfSessionsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOutOfSessionsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOutOfSessionsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOutOfSessionsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentWriteConflictException">
+            <summary>
+            Base class for JET_err.WriteConflict exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentWriteConflictException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentWriteConflictException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentWriteConflictException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentWriteConflictException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTransTooDeepException">
+            <summary>
+            Base class for JET_err.TransTooDeep exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransTooDeepException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTransTooDeepException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransTooDeepException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTransTooDeepException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidSesidException">
+            <summary>
+            Base class for JET_err.InvalidSesid exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSesidException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidSesidException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSesidException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidSesidException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentWriteConflictPrimaryIndexException">
+            <summary>
+            Base class for JET_err.WriteConflictPrimaryIndex exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentWriteConflictPrimaryIndexException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentWriteConflictPrimaryIndexException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentWriteConflictPrimaryIndexException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentWriteConflictPrimaryIndexException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInTransactionException">
+            <summary>
+            Base class for JET_err.InTransaction exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInTransactionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInTransactionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInTransactionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInTransactionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRollbackRequiredException">
+            <summary>
+            Base class for JET_err.RollbackRequired exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRollbackRequiredException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRollbackRequiredException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRollbackRequiredException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRollbackRequiredException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTransReadOnlyException">
+            <summary>
+            Base class for JET_err.TransReadOnly exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransReadOnlyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTransReadOnlyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransReadOnlyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTransReadOnlyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSessionWriteConflictException">
+            <summary>
+            Base class for JET_err.SessionWriteConflict exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionWriteConflictException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSessionWriteConflictException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionWriteConflictException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSessionWriteConflictException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordTooBigForBackwardCompatibilityException">
+            <summary>
+            Base class for JET_err.RecordTooBigForBackwardCompatibility exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordTooBigForBackwardCompatibilityException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordTooBigForBackwardCompatibilityException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordTooBigForBackwardCompatibilityException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordTooBigForBackwardCompatibilityException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotMaterializeForwardOnlySortException">
+            <summary>
+            Base class for JET_err.CannotMaterializeForwardOnlySort exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotMaterializeForwardOnlySortException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotMaterializeForwardOnlySortException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotMaterializeForwardOnlySortException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotMaterializeForwardOnlySortException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSesidTableIdMismatchException">
+            <summary>
+            Base class for JET_err.SesidTableIdMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSesidTableIdMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSesidTableIdMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSesidTableIdMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSesidTableIdMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidInstanceException">
+            <summary>
+            Base class for JET_err.InvalidInstance exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidInstanceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidInstanceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidInstanceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidInstanceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDirtyShutdownException">
+            <summary>
+            Base class for JET_err.DirtyShutdown exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDirtyShutdownException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDirtyShutdownException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDirtyShutdownException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDirtyShutdownException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentReadPgnoVerifyFailureException">
+            <summary>
+            Base class for JET_err.ReadPgnoVerifyFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentReadPgnoVerifyFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentReadPgnoVerifyFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentReadPgnoVerifyFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentReadPgnoVerifyFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentReadLostFlushVerifyFailureException">
+            <summary>
+            Base class for JET_err.ReadLostFlushVerifyFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentReadLostFlushVerifyFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentReadLostFlushVerifyFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentReadLostFlushVerifyFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentReadLostFlushVerifyFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileSystemCorruptionException">
+            <summary>
+            Base class for JET_err.FileSystemCorruption exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileSystemCorruptionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileSystemCorruptionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileSystemCorruptionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileSystemCorruptionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecoveryVerifyFailureException">
+            <summary>
+            Base class for JET_err.RecoveryVerifyFailure exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveryVerifyFailureException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecoveryVerifyFailureException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecoveryVerifyFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecoveryVerifyFailureException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFilteredMoveNotSupportedException">
+            <summary>
+            Base class for JET_err.FilteredMoveNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFilteredMoveNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFilteredMoveNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFilteredMoveNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFilteredMoveNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMustCommitDistributedTransactionToLevel0Exception">
+            <summary>
+            Base class for JET_err.MustCommitDistributedTransactionToLevel0 exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustCommitDistributedTransactionToLevel0Exception.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMustCommitDistributedTransactionToLevel0Exception class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMustCommitDistributedTransactionToLevel0Exception.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMustCommitDistributedTransactionToLevel0Exception class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDistributedTransactionAlreadyPreparedToCommitException">
+            <summary>
+            Base class for JET_err.DistributedTransactionAlreadyPreparedToCommit exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDistributedTransactionAlreadyPreparedToCommitException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDistributedTransactionAlreadyPreparedToCommitException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDistributedTransactionAlreadyPreparedToCommitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDistributedTransactionAlreadyPreparedToCommitException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNotInDistributedTransactionException">
+            <summary>
+            Base class for JET_err.NotInDistributedTransaction exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNotInDistributedTransactionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNotInDistributedTransactionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNotInDistributedTransactionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNotInDistributedTransactionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDistributedTransactionNotYetPreparedToCommitException">
+            <summary>
+            Base class for JET_err.DistributedTransactionNotYetPreparedToCommit exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDistributedTransactionNotYetPreparedToCommitException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDistributedTransactionNotYetPreparedToCommitException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDistributedTransactionNotYetPreparedToCommitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDistributedTransactionNotYetPreparedToCommitException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotNestDistributedTransactionsException">
+            <summary>
+            Base class for JET_err.CannotNestDistributedTransactions exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotNestDistributedTransactionsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotNestDistributedTransactionsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotNestDistributedTransactionsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotNestDistributedTransactionsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDTCMissingCallbackException">
+            <summary>
+            Base class for JET_err.DTCMissingCallback exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDTCMissingCallbackException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDTCMissingCallbackException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDTCMissingCallbackException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDTCMissingCallbackException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDTCMissingCallbackOnRecoveryException">
+            <summary>
+            Base class for JET_err.DTCMissingCallbackOnRecovery exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDTCMissingCallbackOnRecoveryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDTCMissingCallbackOnRecoveryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDTCMissingCallbackOnRecoveryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDTCMissingCallbackOnRecoveryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDTCCallbackUnexpectedErrorException">
+            <summary>
+            Base class for JET_err.DTCCallbackUnexpectedError exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDTCCallbackUnexpectedErrorException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDTCCallbackUnexpectedErrorException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDTCCallbackUnexpectedErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDTCCallbackUnexpectedErrorException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseDuplicateException">
+            <summary>
+            Base class for JET_err.DatabaseDuplicate exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseDuplicateException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseDuplicateException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseDuplicateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseDuplicateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseInUseException">
+            <summary>
+            Base class for JET_err.DatabaseInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseNotFoundException">
+            <summary>
+            Base class for JET_err.DatabaseNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidNameException">
+            <summary>
+            Base class for JET_err.DatabaseInvalidName exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidNameException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidNameException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidNameException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidNameException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidPagesException">
+            <summary>
+            Base class for JET_err.DatabaseInvalidPages exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidPagesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidPagesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidPagesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidPagesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseCorruptedException">
+            <summary>
+            Base class for JET_err.DatabaseCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseLockedException">
+            <summary>
+            Base class for JET_err.DatabaseLocked exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseLockedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseLockedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseLockedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseLockedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotDisableVersioningException">
+            <summary>
+            Base class for JET_err.CannotDisableVersioning exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDisableVersioningException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotDisableVersioningException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDisableVersioningException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotDisableVersioningException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseVersionException">
+            <summary>
+            Base class for JET_err.InvalidDatabaseVersion exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseVersionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidDatabaseVersionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidDatabaseVersionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidDatabaseVersionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabase200FormatException">
+            <summary>
+            Base class for JET_err.Database200Format exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabase200FormatException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabase200FormatException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabase200FormatException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabase200FormatException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabase400FormatException">
+            <summary>
+            Base class for JET_err.Database400Format exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabase400FormatException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabase400FormatException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabase400FormatException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabase400FormatException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabase500FormatException">
+            <summary>
+            Base class for JET_err.Database500Format exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabase500FormatException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabase500FormatException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabase500FormatException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabase500FormatException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPageSizeMismatchException">
+            <summary>
+            Base class for JET_err.PageSizeMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageSizeMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPageSizeMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPageSizeMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPageSizeMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyInstancesException">
+            <summary>
+            Base class for JET_err.TooManyInstances exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyInstancesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyInstancesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyInstancesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyInstancesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseSharingViolationException">
+            <summary>
+            Base class for JET_err.DatabaseSharingViolation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseSharingViolationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseSharingViolationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseSharingViolationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseSharingViolationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentAttachedDatabaseMismatchException">
+            <summary>
+            Base class for JET_err.AttachedDatabaseMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAttachedDatabaseMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentAttachedDatabaseMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAttachedDatabaseMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentAttachedDatabaseMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidPathException">
+            <summary>
+            Base class for JET_err.DatabaseInvalidPath exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidPathException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidPathException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidPathException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidPathException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseIdInUseException">
+            <summary>
+            Base class for JET_err.DatabaseIdInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseIdInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseIdInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseIdInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseIdInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentForceDetachNotAllowedException">
+            <summary>
+            Base class for JET_err.ForceDetachNotAllowed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentForceDetachNotAllowedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentForceDetachNotAllowedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentForceDetachNotAllowedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentForceDetachNotAllowedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCatalogCorruptedException">
+            <summary>
+            Base class for JET_err.CatalogCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCatalogCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCatalogCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCatalogCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCatalogCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPartiallyAttachedDBException">
+            <summary>
+            Base class for JET_err.PartiallyAttachedDB exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPartiallyAttachedDBException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPartiallyAttachedDBException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPartiallyAttachedDBException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPartiallyAttachedDBException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseSignInUseException">
+            <summary>
+            Base class for JET_err.DatabaseSignInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseSignInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseSignInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseSignInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseSignInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseCorruptedNoRepairException">
+            <summary>
+            Base class for JET_err.DatabaseCorruptedNoRepair exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseCorruptedNoRepairException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseCorruptedNoRepairException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseCorruptedNoRepairException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseCorruptedNoRepairException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidCreateDbVersionException">
+            <summary>
+            Base class for JET_err.InvalidCreateDbVersion exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCreateDbVersionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidCreateDbVersionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCreateDbVersionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidCreateDbVersionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseIncompleteIncrementalReseedException">
+            <summary>
+            Base class for JET_err.DatabaseIncompleteIncrementalReseed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseIncompleteIncrementalReseedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseIncompleteIncrementalReseedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseIncompleteIncrementalReseedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseIncompleteIncrementalReseedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidIncrementalReseedException">
+            <summary>
+            Base class for JET_err.DatabaseInvalidIncrementalReseed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidIncrementalReseedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidIncrementalReseedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseInvalidIncrementalReseedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseInvalidIncrementalReseedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseFailedIncrementalReseedException">
+            <summary>
+            Base class for JET_err.DatabaseFailedIncrementalReseed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseFailedIncrementalReseedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseFailedIncrementalReseedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseFailedIncrementalReseedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseFailedIncrementalReseedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNoAttachmentsFailedIncrementalReseedException">
+            <summary>
+            Base class for JET_err.NoAttachmentsFailedIncrementalReseed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoAttachmentsFailedIncrementalReseedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNoAttachmentsFailedIncrementalReseedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoAttachmentsFailedIncrementalReseedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNoAttachmentsFailedIncrementalReseedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseNotReadyException">
+            <summary>
+            Base class for JET_err.DatabaseNotReady exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseNotReadyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseNotReadyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseNotReadyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseNotReadyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseAttachedForRecoveryException">
+            <summary>
+            Base class for JET_err.DatabaseAttachedForRecovery exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseAttachedForRecoveryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseAttachedForRecoveryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseAttachedForRecoveryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseAttachedForRecoveryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTransactionsNotReadyDuringRecoveryException">
+            <summary>
+            Base class for JET_err.TransactionsNotReadyDuringRecovery exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransactionsNotReadyDuringRecoveryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTransactionsNotReadyDuringRecoveryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTransactionsNotReadyDuringRecoveryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTransactionsNotReadyDuringRecoveryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTableLockedException">
+            <summary>
+            Base class for JET_err.TableLocked exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableLockedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTableLockedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableLockedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTableLockedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTableDuplicateException">
+            <summary>
+            Base class for JET_err.TableDuplicate exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableDuplicateException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTableDuplicateException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableDuplicateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTableDuplicateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTableInUseException">
+            <summary>
+            Base class for JET_err.TableInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTableInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTableInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentObjectNotFoundException">
+            <summary>
+            Base class for JET_err.ObjectNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentObjectNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentObjectNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentObjectNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentObjectNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDensityInvalidException">
+            <summary>
+            Base class for JET_err.DensityInvalid exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDensityInvalidException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDensityInvalidException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDensityInvalidException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDensityInvalidException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTableNotEmptyException">
+            <summary>
+            Base class for JET_err.TableNotEmpty exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableNotEmptyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTableNotEmptyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTableNotEmptyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTableNotEmptyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidTableIdException">
+            <summary>
+            Base class for JET_err.InvalidTableId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidTableIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidTableIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidTableIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidTableIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyOpenTablesException">
+            <summary>
+            Base class for JET_err.TooManyOpenTables exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenTablesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenTablesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenTablesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenTablesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIllegalOperationException">
+            <summary>
+            Base class for JET_err.IllegalOperation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIllegalOperationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIllegalOperationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIllegalOperationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIllegalOperationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyOpenTablesAndCleanupTimedOutException">
+            <summary>
+            Base class for JET_err.TooManyOpenTablesAndCleanupTimedOut exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenTablesAndCleanupTimedOutException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenTablesAndCleanupTimedOutException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenTablesAndCleanupTimedOutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenTablesAndCleanupTimedOutException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentObjectDuplicateException">
+            <summary>
+            Base class for JET_err.ObjectDuplicate exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentObjectDuplicateException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentObjectDuplicateException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentObjectDuplicateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentObjectDuplicateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidObjectException">
+            <summary>
+            Base class for JET_err.InvalidObject exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidObjectException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidObjectException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidObjectException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidObjectException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotDeleteTempTableException">
+            <summary>
+            Base class for JET_err.CannotDeleteTempTable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDeleteTempTableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotDeleteTempTableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDeleteTempTableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotDeleteTempTableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotDeleteSystemTableException">
+            <summary>
+            Base class for JET_err.CannotDeleteSystemTable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDeleteSystemTableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotDeleteSystemTableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDeleteSystemTableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotDeleteSystemTableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotDeleteTemplateTableException">
+            <summary>
+            Base class for JET_err.CannotDeleteTemplateTable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDeleteTemplateTableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotDeleteTemplateTableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotDeleteTemplateTableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotDeleteTemplateTableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentExclusiveTableLockRequiredException">
+            <summary>
+            Base class for JET_err.ExclusiveTableLockRequired exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentExclusiveTableLockRequiredException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentExclusiveTableLockRequiredException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentExclusiveTableLockRequiredException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentExclusiveTableLockRequiredException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFixedDDLException">
+            <summary>
+            Base class for JET_err.FixedDDL exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFixedDDLException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFixedDDLException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFixedDDLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFixedDDLException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFixedInheritedDDLException">
+            <summary>
+            Base class for JET_err.FixedInheritedDDL exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFixedInheritedDDLException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFixedInheritedDDLException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFixedInheritedDDLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFixedInheritedDDLException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotNestDDLException">
+            <summary>
+            Base class for JET_err.CannotNestDDL exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotNestDDLException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotNestDDLException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotNestDDLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotNestDDLException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDDLNotInheritableException">
+            <summary>
+            Base class for JET_err.DDLNotInheritable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDDLNotInheritableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDDLNotInheritableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDDLNotInheritableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDDLNotInheritableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidSettingsException">
+            <summary>
+            Base class for JET_err.InvalidSettings exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSettingsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidSettingsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidSettingsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidSettingsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentClientRequestToStopJetServiceException">
+            <summary>
+            Base class for JET_err.ClientRequestToStopJetService exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentClientRequestToStopJetServiceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentClientRequestToStopJetServiceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentClientRequestToStopJetServiceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentClientRequestToStopJetServiceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotAddFixedVarColumnToDerivedTableException">
+            <summary>
+            Base class for JET_err.CannotAddFixedVarColumnToDerivedTable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotAddFixedVarColumnToDerivedTableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotAddFixedVarColumnToDerivedTableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotAddFixedVarColumnToDerivedTableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotAddFixedVarColumnToDerivedTableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexCantBuildException">
+            <summary>
+            Base class for JET_err.IndexCantBuild exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexCantBuildException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexCantBuildException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexCantBuildException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexCantBuildException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexHasPrimaryException">
+            <summary>
+            Base class for JET_err.IndexHasPrimary exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexHasPrimaryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexHasPrimaryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexHasPrimaryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexHasPrimaryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexDuplicateException">
+            <summary>
+            Base class for JET_err.IndexDuplicate exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexDuplicateException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexDuplicateException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexDuplicateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexDuplicateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexNotFoundException">
+            <summary>
+            Base class for JET_err.IndexNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexMustStayException">
+            <summary>
+            Base class for JET_err.IndexMustStay exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexMustStayException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexMustStayException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexMustStayException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexMustStayException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexInvalidDefException">
+            <summary>
+            Base class for JET_err.IndexInvalidDef exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexInvalidDefException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexInvalidDefException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexInvalidDefException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexInvalidDefException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidCreateIndexException">
+            <summary>
+            Base class for JET_err.InvalidCreateIndex exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCreateIndexException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidCreateIndexException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidCreateIndexException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidCreateIndexException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyOpenIndexesException">
+            <summary>
+            Base class for JET_err.TooManyOpenIndexes exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenIndexesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenIndexesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyOpenIndexesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyOpenIndexesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMultiValuedIndexViolationException">
+            <summary>
+            Base class for JET_err.MultiValuedIndexViolation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedIndexViolationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedIndexViolationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedIndexViolationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedIndexViolationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexBuildCorruptedException">
+            <summary>
+            Base class for JET_err.IndexBuildCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexBuildCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexBuildCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexBuildCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexBuildCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPrimaryIndexCorruptedException">
+            <summary>
+            Base class for JET_err.PrimaryIndexCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPrimaryIndexCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPrimaryIndexCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPrimaryIndexCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPrimaryIndexCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSecondaryIndexCorruptedException">
+            <summary>
+            Base class for JET_err.SecondaryIndexCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSecondaryIndexCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSecondaryIndexCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSecondaryIndexCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSecondaryIndexCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidIndexIdException">
+            <summary>
+            Base class for JET_err.InvalidIndexId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidIndexIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidIndexIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidIndexIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidIndexIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesSecondaryIndexOnlyException">
+            <summary>
+            Base class for JET_err.IndexTuplesSecondaryIndexOnly exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesSecondaryIndexOnlyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesSecondaryIndexOnlyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesSecondaryIndexOnlyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesSecondaryIndexOnlyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesTooManyColumnsException">
+            <summary>
+            Base class for JET_err.IndexTuplesTooManyColumns exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesTooManyColumnsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesTooManyColumnsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesTooManyColumnsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesTooManyColumnsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesNonUniqueOnlyException">
+            <summary>
+            Base class for JET_err.IndexTuplesNonUniqueOnly exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesNonUniqueOnlyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesNonUniqueOnlyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesNonUniqueOnlyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesNonUniqueOnlyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesTextBinaryColumnsOnlyException">
+            <summary>
+            Base class for JET_err.IndexTuplesTextBinaryColumnsOnly exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesTextBinaryColumnsOnlyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesTextBinaryColumnsOnlyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesTextBinaryColumnsOnlyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesTextBinaryColumnsOnlyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesVarSegMacNotAllowedException">
+            <summary>
+            Base class for JET_err.IndexTuplesVarSegMacNotAllowed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesVarSegMacNotAllowedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesVarSegMacNotAllowedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesVarSegMacNotAllowedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesVarSegMacNotAllowedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesInvalidLimitsException">
+            <summary>
+            Base class for JET_err.IndexTuplesInvalidLimits exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesInvalidLimitsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesInvalidLimitsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesInvalidLimitsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesInvalidLimitsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesCannotRetrieveFromIndexException">
+            <summary>
+            Base class for JET_err.IndexTuplesCannotRetrieveFromIndex exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesCannotRetrieveFromIndexException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesCannotRetrieveFromIndexException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesCannotRetrieveFromIndexException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesCannotRetrieveFromIndexException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentIndexTuplesKeyTooSmallException">
+            <summary>
+            Base class for JET_err.IndexTuplesKeyTooSmall exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesKeyTooSmallException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesKeyTooSmallException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentIndexTuplesKeyTooSmallException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentIndexTuplesKeyTooSmallException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidLVChunkSizeException">
+            <summary>
+            Base class for JET_err.InvalidLVChunkSize exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLVChunkSizeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidLVChunkSizeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLVChunkSizeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidLVChunkSizeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnCannotBeEncryptedException">
+            <summary>
+            Base class for JET_err.ColumnCannotBeEncrypted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnCannotBeEncryptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnCannotBeEncryptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnCannotBeEncryptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnCannotBeEncryptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotIndexOnEncryptedColumnException">
+            <summary>
+            Base class for JET_err.CannotIndexOnEncryptedColumn exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotIndexOnEncryptedColumnException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotIndexOnEncryptedColumnException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotIndexOnEncryptedColumnException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotIndexOnEncryptedColumnException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnLongException">
+            <summary>
+            Base class for JET_err.ColumnLong exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnLongException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnLongException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnLongException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnLongException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnNoChunkException">
+            <summary>
+            Base class for JET_err.ColumnNoChunk exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNoChunkException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnNoChunkException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNoChunkException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnNoChunkException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnDoesNotFitException">
+            <summary>
+            Base class for JET_err.ColumnDoesNotFit exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnDoesNotFitException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnDoesNotFitException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnDoesNotFitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnDoesNotFitException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNullInvalidException">
+            <summary>
+            Base class for JET_err.NullInvalid exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNullInvalidException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNullInvalidException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNullInvalidException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNullInvalidException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnIndexedException">
+            <summary>
+            Base class for JET_err.ColumnIndexed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnIndexedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnIndexedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnIndexedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnIndexedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnTooBigException">
+            <summary>
+            Base class for JET_err.ColumnTooBig exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnTooBigException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnTooBigException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnTooBigException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnTooBigException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnNotFoundException">
+            <summary>
+            Base class for JET_err.ColumnNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnDuplicateException">
+            <summary>
+            Base class for JET_err.ColumnDuplicate exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnDuplicateException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnDuplicateException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnDuplicateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnDuplicateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMultiValuedColumnMustBeTaggedException">
+            <summary>
+            Base class for JET_err.MultiValuedColumnMustBeTagged exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedColumnMustBeTaggedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedColumnMustBeTaggedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedColumnMustBeTaggedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedColumnMustBeTaggedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnRedundantException">
+            <summary>
+            Base class for JET_err.ColumnRedundant exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnRedundantException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnRedundantException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnRedundantException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnRedundantException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidColumnTypeException">
+            <summary>
+            Base class for JET_err.InvalidColumnType exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidColumnTypeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidColumnTypeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidColumnTypeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidColumnTypeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTaggedNotNULLException">
+            <summary>
+            Base class for JET_err.TaggedNotNULL exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTaggedNotNULLException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTaggedNotNULLException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTaggedNotNULLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTaggedNotNULLException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNoCurrentIndexException">
+            <summary>
+            Base class for JET_err.NoCurrentIndex exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoCurrentIndexException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNoCurrentIndexException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoCurrentIndexException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNoCurrentIndexException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentKeyIsMadeException">
+            <summary>
+            Base class for JET_err.KeyIsMade exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyIsMadeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentKeyIsMadeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyIsMadeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentKeyIsMadeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadColumnIdException">
+            <summary>
+            Base class for JET_err.BadColumnId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadColumnIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadColumnIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadColumnIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadColumnIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentBadItagSequenceException">
+            <summary>
+            Base class for JET_err.BadItagSequence exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadItagSequenceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentBadItagSequenceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentBadItagSequenceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentBadItagSequenceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnInRelationshipException">
+            <summary>
+            Base class for JET_err.ColumnInRelationship exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnInRelationshipException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnInRelationshipException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnInRelationshipException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnInRelationshipException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCannotBeTaggedException">
+            <summary>
+            Base class for JET_err.CannotBeTagged exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotBeTaggedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCannotBeTaggedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCannotBeTaggedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCannotBeTaggedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDefaultValueTooBigException">
+            <summary>
+            Base class for JET_err.DefaultValueTooBig exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDefaultValueTooBigException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDefaultValueTooBigException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDefaultValueTooBigException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDefaultValueTooBigException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMultiValuedDuplicateException">
+            <summary>
+            Base class for JET_err.MultiValuedDuplicate exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedDuplicateException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedDuplicateException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedDuplicateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedDuplicateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLVCorruptedException">
+            <summary>
+            Base class for JET_err.LVCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLVCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLVCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLVCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLVCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentMultiValuedDuplicateAfterTruncationException">
+            <summary>
+            Base class for JET_err.MultiValuedDuplicateAfterTruncation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedDuplicateAfterTruncationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedDuplicateAfterTruncationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentMultiValuedDuplicateAfterTruncationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentMultiValuedDuplicateAfterTruncationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDerivedColumnCorruptionException">
+            <summary>
+            Base class for JET_err.DerivedColumnCorruption exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDerivedColumnCorruptionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDerivedColumnCorruptionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDerivedColumnCorruptionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDerivedColumnCorruptionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidPlaceholderColumnException">
+            <summary>
+            Base class for JET_err.InvalidPlaceholderColumn exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidPlaceholderColumnException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidPlaceholderColumnException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidPlaceholderColumnException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidPlaceholderColumnException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnCannotBeCompressedException">
+            <summary>
+            Base class for JET_err.ColumnCannotBeCompressed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnCannotBeCompressedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnCannotBeCompressedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnCannotBeCompressedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnCannotBeCompressedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentColumnNoEncryptionKeyException">
+            <summary>
+            Base class for JET_err.ColumnNoEncryptionKey exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNoEncryptionKeyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentColumnNoEncryptionKeyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentColumnNoEncryptionKeyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentColumnNoEncryptionKeyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordNotFoundException">
+            <summary>
+            Base class for JET_err.RecordNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordNoCopyException">
+            <summary>
+            Base class for JET_err.RecordNoCopy exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordNoCopyException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordNoCopyException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordNoCopyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordNoCopyException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentNoCurrentRecordException">
+            <summary>
+            Base class for JET_err.NoCurrentRecord exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoCurrentRecordException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentNoCurrentRecordException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentNoCurrentRecordException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentNoCurrentRecordException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordPrimaryChangedException">
+            <summary>
+            Base class for JET_err.RecordPrimaryChanged exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordPrimaryChangedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordPrimaryChangedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordPrimaryChangedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordPrimaryChangedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentKeyDuplicateException">
+            <summary>
+            Base class for JET_err.KeyDuplicate exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyDuplicateException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentKeyDuplicateException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyDuplicateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentKeyDuplicateException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentAlreadyPreparedException">
+            <summary>
+            Base class for JET_err.AlreadyPrepared exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAlreadyPreparedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentAlreadyPreparedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAlreadyPreparedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentAlreadyPreparedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentKeyNotMadeException">
+            <summary>
+            Base class for JET_err.KeyNotMade exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyNotMadeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentKeyNotMadeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentKeyNotMadeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentKeyNotMadeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUpdateNotPreparedException">
+            <summary>
+            Base class for JET_err.UpdateNotPrepared exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUpdateNotPreparedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentUpdateNotPreparedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUpdateNotPreparedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUpdateNotPreparedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDataHasChangedException">
+            <summary>
+            Base class for JET_err.DataHasChanged exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDataHasChangedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDataHasChangedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDataHasChangedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDataHasChangedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLanguageNotSupportedException">
+            <summary>
+            Base class for JET_err.LanguageNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLanguageNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLanguageNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLanguageNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLanguageNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDecompressionFailedException">
+            <summary>
+            Base class for JET_err.DecompressionFailed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDecompressionFailedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDecompressionFailedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDecompressionFailedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDecompressionFailedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentUpdateMustVersionException">
+            <summary>
+            Base class for JET_err.UpdateMustVersion exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUpdateMustVersionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentUpdateMustVersionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentUpdateMustVersionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentUpdateMustVersionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDecryptionFailedException">
+            <summary>
+            Base class for JET_err.DecryptionFailed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDecryptionFailedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDecryptionFailedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDecryptionFailedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDecryptionFailedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEncryptionBadItagException">
+            <summary>
+            Base class for JET_err.EncryptionBadItag exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEncryptionBadItagException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEncryptionBadItagException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEncryptionBadItagException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEncryptionBadItagException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManySortsException">
+            <summary>
+            Base class for JET_err.TooManySorts exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManySortsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManySortsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManySortsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManySortsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidOnSortException">
+            <summary>
+            Base class for JET_err.InvalidOnSort exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidOnSortException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidOnSortException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidOnSortException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidOnSortException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTempFileOpenErrorException">
+            <summary>
+            Base class for JET_err.TempFileOpenError exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTempFileOpenErrorException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTempFileOpenErrorException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTempFileOpenErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTempFileOpenErrorException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyAttachedDatabasesException">
+            <summary>
+            Base class for JET_err.TooManyAttachedDatabases exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyAttachedDatabasesException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyAttachedDatabasesException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyAttachedDatabasesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyAttachedDatabasesException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDiskFullException">
+            <summary>
+            Base class for JET_err.DiskFull exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskFullException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDiskFullException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDiskFullException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDiskFullException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentPermissionDeniedException">
+            <summary>
+            Base class for JET_err.PermissionDenied exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPermissionDeniedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentPermissionDeniedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentPermissionDeniedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentPermissionDeniedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileNotFoundException">
+            <summary>
+            Base class for JET_err.FileNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileInvalidTypeException">
+            <summary>
+            Base class for JET_err.FileInvalidType exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileInvalidTypeException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileInvalidTypeException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileInvalidTypeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileInvalidTypeException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileAlreadyExistsException">
+            <summary>
+            Base class for JET_err.FileAlreadyExists exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileAlreadyExistsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileAlreadyExistsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileAlreadyExistsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileAlreadyExistsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentAfterInitializationException">
+            <summary>
+            Base class for JET_err.AfterInitialization exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAfterInitializationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentAfterInitializationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAfterInitializationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentAfterInitializationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLogCorruptedException">
+            <summary>
+            Base class for JET_err.LogCorrupted exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogCorruptedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLogCorruptedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLogCorruptedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLogCorruptedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidOperationException">
+            <summary>
+            Base class for JET_err.InvalidOperation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidOperationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidOperationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidOperationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidOperationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentAccessDeniedException">
+            <summary>
+            Base class for JET_err.AccessDenied exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAccessDeniedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentAccessDeniedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentAccessDeniedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentAccessDeniedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManySplitsException">
+            <summary>
+            Base class for JET_err.TooManySplits exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManySplitsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManySplitsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManySplitsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManySplitsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSessionSharingViolationException">
+            <summary>
+            Base class for JET_err.SessionSharingViolation exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionSharingViolationException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSessionSharingViolationException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionSharingViolationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSessionSharingViolationException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentEntryPointNotFoundException">
+            <summary>
+            Base class for JET_err.EntryPointNotFound exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEntryPointNotFoundException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentEntryPointNotFoundException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentEntryPointNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentEntryPointNotFoundException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSessionContextAlreadySetException">
+            <summary>
+            Base class for JET_err.SessionContextAlreadySet exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionContextAlreadySetException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSessionContextAlreadySetException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionContextAlreadySetException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSessionContextAlreadySetException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSessionContextNotSetByThisThreadException">
+            <summary>
+            Base class for JET_err.SessionContextNotSetByThisThread exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionContextNotSetByThisThreadException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSessionContextNotSetByThisThreadException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionContextNotSetByThisThreadException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSessionContextNotSetByThisThreadException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSessionInUseException">
+            <summary>
+            Base class for JET_err.SessionInUse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionInUseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSessionInUseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSessionInUseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSessionInUseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRecordFormatConversionFailedException">
+            <summary>
+            Base class for JET_err.RecordFormatConversionFailed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordFormatConversionFailedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRecordFormatConversionFailedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRecordFormatConversionFailedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRecordFormatConversionFailedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOneDatabasePerSessionException">
+            <summary>
+            Base class for JET_err.OneDatabasePerSession exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOneDatabasePerSessionException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOneDatabasePerSessionException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOneDatabasePerSessionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOneDatabasePerSessionException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentRollbackErrorException">
+            <summary>
+            Base class for JET_err.RollbackError exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRollbackErrorException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentRollbackErrorException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentRollbackErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentRollbackErrorException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFlushMapVersionUnsupportedException">
+            <summary>
+            Base class for JET_err.FlushMapVersionUnsupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFlushMapVersionUnsupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFlushMapVersionUnsupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFlushMapVersionUnsupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFlushMapVersionUnsupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFlushMapDatabaseMismatchException">
+            <summary>
+            Base class for JET_err.FlushMapDatabaseMismatch exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFlushMapDatabaseMismatchException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFlushMapDatabaseMismatchException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFlushMapDatabaseMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFlushMapDatabaseMismatchException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFlushMapUnrecoverableException">
+            <summary>
+            Base class for JET_err.FlushMapUnrecoverable exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFlushMapUnrecoverableException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFlushMapUnrecoverableException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFlushMapUnrecoverableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFlushMapUnrecoverableException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentDatabaseAlreadyRunningMaintenanceException">
+            <summary>
+            Base class for JET_err.DatabaseAlreadyRunningMaintenance exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseAlreadyRunningMaintenanceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentDatabaseAlreadyRunningMaintenanceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentDatabaseAlreadyRunningMaintenanceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentDatabaseAlreadyRunningMaintenanceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCallbackFailedException">
+            <summary>
+            Base class for JET_err.CallbackFailed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCallbackFailedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCallbackFailedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCallbackFailedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCallbackFailedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentCallbackNotResolvedException">
+            <summary>
+            Base class for JET_err.CallbackNotResolved exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCallbackNotResolvedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentCallbackNotResolvedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentCallbackNotResolvedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentCallbackNotResolvedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentSpaceHintsInvalidException">
+            <summary>
+            Base class for JET_err.SpaceHintsInvalid exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSpaceHintsInvalidException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentSpaceHintsInvalidException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentSpaceHintsInvalidException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentSpaceHintsInvalidException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOSSnapshotInvalidSequenceException">
+            <summary>
+            Base class for JET_err.OSSnapshotInvalidSequence exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotInvalidSequenceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotInvalidSequenceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotInvalidSequenceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotInvalidSequenceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOSSnapshotTimeOutException">
+            <summary>
+            Base class for JET_err.OSSnapshotTimeOut exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotTimeOutException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotTimeOutException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotTimeOutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotTimeOutException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOSSnapshotNotAllowedException">
+            <summary>
+            Base class for JET_err.OSSnapshotNotAllowed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotNotAllowedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotNotAllowedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotNotAllowedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotNotAllowedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentOSSnapshotInvalidSnapIdException">
+            <summary>
+            Base class for JET_err.OSSnapshotInvalidSnapId exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotInvalidSnapIdException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotInvalidSnapIdException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentOSSnapshotInvalidSnapIdException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentOSSnapshotInvalidSnapIdException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTooManyTestInjectionsException">
+            <summary>
+            Base class for JET_err.TooManyTestInjections exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyTestInjectionsException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTooManyTestInjectionsException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTooManyTestInjectionsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTooManyTestInjectionsException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentTestInjectionNotSupportedException">
+            <summary>
+            Base class for JET_err.TestInjectionNotSupported exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTestInjectionNotSupportedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentTestInjectionNotSupportedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentTestInjectionNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentTestInjectionNotSupportedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidLogDataSequenceException">
+            <summary>
+            Base class for JET_err.InvalidLogDataSequence exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLogDataSequenceException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidLogDataSequenceException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidLogDataSequenceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidLogDataSequenceException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLSCallbackNotSpecifiedException">
+            <summary>
+            Base class for JET_err.LSCallbackNotSpecified exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLSCallbackNotSpecifiedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLSCallbackNotSpecifiedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLSCallbackNotSpecifiedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLSCallbackNotSpecifiedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLSAlreadySetException">
+            <summary>
+            Base class for JET_err.LSAlreadySet exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLSAlreadySetException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLSAlreadySetException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLSAlreadySetException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLSAlreadySetException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentLSNotSetException">
+            <summary>
+            Base class for JET_err.LSNotSet exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLSNotSetException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentLSNotSetException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentLSNotSetException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentLSNotSetException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileIOSparseException">
+            <summary>
+            Base class for JET_err.FileIOSparse exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOSparseException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileIOSparseException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOSparseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileIOSparseException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileIOBeyondEOFException">
+            <summary>
+            Base class for JET_err.FileIOBeyondEOF exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOBeyondEOFException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileIOBeyondEOFException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOBeyondEOFException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileIOBeyondEOFException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileIOAbortException">
+            <summary>
+            Base class for JET_err.FileIOAbort exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOAbortException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileIOAbortException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOAbortException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileIOAbortException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileIORetryException">
+            <summary>
+            Base class for JET_err.FileIORetry exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIORetryException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileIORetryException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIORetryException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileIORetryException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileIOFailException">
+            <summary>
+            Base class for JET_err.FileIOFail exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOFailException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileIOFailException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileIOFailException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileIOFailException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentFileCompressedException">
+            <summary>
+            Base class for JET_err.FileCompressed exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileCompressedException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentFileCompressedException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentFileCompressedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentFileCompressedException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentExceptionHelper">
+            <summary>
+            Method to generate an EsentErrorException from an error code.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentExceptionHelper.JetErrToException(Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Create an EsentErrorException from an error code.
+            </summary>
+            <param name="err">The error code.</param>
+            <returns>An EsentErrorException for the error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentErrorException">
+            <summary>
+            Base class for ESENT error exceptions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EsentErrorException.errorCode">
+            <summary>
+            The error code that was encountered.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentErrorException.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_err)">
+            <summary>
+            Initializes a new instance of the EsentErrorException class.
+            </summary>
+            <param name="message">The description of the error.</param>
+            <param name="err">The error code of the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentErrorException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentErrorException.Error">
+            <summary>
+            Gets the underlying Esent error for this exception.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentErrorException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.</summary>
+            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown. </param>
+            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination. </param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). </exception>
+            <filterpriority>2</filterpriority>
+            <PermissionSet>
+              <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
+              <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="SerializationFormatter" />
+            </PermissionSet>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentInvalidColumnException">
+            <summary>
+            Exception thrown when a column conversion fails.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidColumnException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentInvalidColumnException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentInvalidColumnException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentInvalidColumnException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentInvalidColumnException.Message">
+            <summary>
+            Gets a text message describing the exception.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentResource">
+            <summary>
+            This is the base class for all esent resource objects.
+            Subclasses of this class can allocate and release unmanaged
+            resources.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EsentResource.hasResource">
+            <summary>
+            True if a resource has been allocated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EsentResource.isDisposed">
+            <summary>
+            True if this object has been disposed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResource.Finalize">
+            <summary>
+            Finalizes an instance of the EsentResource class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentResource.HasResource">
+            <summary>
+            Gets a value indicating whether the underlying resource
+            is currently allocated.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResource.Dispose">
+            <summary>
+            Dispose of this object, releasing the underlying
+            Esent resource.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResource.Dispose(System.Boolean)">
+            <summary>
+            Called by Dispose and the finalizer.
+            </summary>
+            <param name="isDisposing">
+            True if called from Dispose.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResource.CheckObjectIsNotDisposed">
+            <summary>
+            Throw an exception if this object has been disposed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResource.ResourceWasAllocated">
+            <summary>
+            Called by a subclass when a resource is allocated.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResource.ResourceWasReleased">
+            <summary>
+            Called by a subclass when a resource is freed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentResource.ReleaseResource">
+            <summary>
+            Implemented by the subclass to release a resource.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentStopwatch">
+            <summary>
+            Provides a set of methods and properties that you can use to measure
+            ESENT work statistics for a thread. If the current version of ESENT
+            doesn't support <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetThreadStats(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS@)"/> then all 
+            ESENT statistics will be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EsentStopwatch.stopwatch">
+            <summary>
+            Used to measure how long statistics are collected for.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EsentStopwatch.statsAtStart">
+            <summary>
+            The stats at the start of our collection.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentStopwatch.IsRunning">
+            <summary>
+            Gets a value indicating whether the EsentStopwatch timer is running. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentStopwatch.ThreadStats">
+            <summary>
+            Gets the total ESENT work stats measured by the current instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentStopwatch.Elapsed">
+            <summary>
+            Gets the total elapsed time measured by the current instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStopwatch.StartNew">
+            <summary>
+            Initializes a new EsentStopwatch instance and starts
+            measuring elapsed time. 
+            </summary>
+            <returns>A new, running EsentStopwatch.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStopwatch.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Diagnostics.Stopwatch"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Diagnostics.Stopwatch"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStopwatch.Start">
+            <summary>
+            Starts measuring ESENT work.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStopwatch.Stop">
+            <summary>
+            Stops measuring ESENT work.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.EsentStopwatch.Reset">
+            <summary>
+            Stops time interval measurement and resets the thread statistics.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EsentVersion">
+            <summary>
+            Gives information about the version of esent being used.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsServer2003Features">
+            <summary>
+            Gets a value indicating whether the current version of esent
+            supports features available in the Windows Server 2003 version of
+            esent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsVistaFeatures">
+            <summary>
+            Gets a value indicating whether the current version of esent
+            supports features available in the Windows Vista version of
+            esent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsWindows7Features">
+            <summary>
+            Gets a value indicating whether the current version of esent
+            supports features available in the Windows 7 version of
+            esent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsWindows8Features">
+            <summary>
+            Gets a value indicating whether the current version of esent
+            supports features available in the Windows 8 version of
+            esent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsWindows81Features">
+            <summary>
+            Gets a value indicating whether the current version of esent
+            supports features available in the Windows 8.1 version of
+            esent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsWindows10Features">
+            <summary>
+            Gets a value indicating whether the current version of esent
+            supports features available in the Windows 10 version of
+            esent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsUnicodePaths">
+            <summary>
+            Gets a value indicating whether the current version of esent
+            can use non-ASCII paths to access databases.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.SupportsLargeKeys">
+            <summary>
+            Gets a value indicating whether large (> 255 byte) keys are supported.
+            The key size for an index can be specified in the <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE"/>
+            object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.EsentVersion.Capabilities">
+            <summary>
+            Gets a description of the current Esent capabilities.
+            </summary>
+            <remarks>
+            We allow this to be set separately so that capabilities can
+            be downgraded for testing.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.FloatColumnValue">
+            <summary>
+            A <see cref="T:System.Single"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.FloatColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.FloatColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.FloatColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection">
+            <summary>
+            A collection of GCHandles for pinned objects. The handles
+            are freed when this object is disposed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection.handles">
+            <summary>
+            The handles of the objects being pinned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection.count">
+            <summary>
+            Handle count.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection.Dispose">
+            <summary>
+            Disposes of the object.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection.Add(System.Object)">
+            <summary>
+            Add an object to the handle collection. This automatically
+            pins the object.
+            </summary>
+            <param name="value">The object to pin.</param>
+            <returns>
+            The address of the pinned object. This is valid until the
+            GCHandleCollection is disposed.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection.SetCapacity(System.Int32)">
+            <summary>
+            Set handle array capacity.
+            </summary>
+            <param name="capacity">Estimated handle count</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Implementation.IJetApi">
+            <summary>
+            This interface describes all the methods which have a P/Invoke implementation.
+            Concrete instances of this interface provide methods that call ESENT.
+            </summary>
+            <summary>
+            This interface describes all the Windows10 methods which have a
+            P/Invoke implementation. Concrete instances of this interface provide
+            methods that call ESENT.
+            </summary>
+            <summary>
+            This interface describes all the Windows8 methods which have a
+            P/Invoke implementation. Concrete instances of this interface provide
+            methods that call ESENT.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.Capabilities">
+            <summary>
+            Gets a description of the capabilities of the current version of ESENT.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)">
+            <summary>
+            Allocates a new instance of the database engine.
+            </summary>
+            <param name="instance">Returns the new instance.</param>
+            <param name="name">The name of the instance. Names must be unique.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String,System.String,Microsoft.Isam.Esent.Interop.CreateInstanceGrbit)">
+            <summary>
+            Allocate a new instance of the database engine for use in a single
+            process, with a display name specified.
+            </summary>
+            <param name="instance">Returns the newly create instance.</param>
+            <param name="name">
+            Specifies a unique string identifier for the instance to be created.
+            This string must be unique within a given process hosting the
+            database engine.
+            </param>
+            <param name="displayName">
+            A display name for the instance to be created. This will be used
+            in eventlog entries.
+            </param>
+            <param name="grbit">Creation options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetInit2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <param name="grbit">
+            Initialization options.
+            </param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetInit3(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.JET_RSTINFO,Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <param name="recoveryOptions">
+            Additional recovery parameters for remapping databases during
+            recovery, position where to stop recovery at, or recovery status.
+            </param>
+            <param name="grbit">
+            Initialization options.
+            </param>
+            <returns>An error code or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetInstanceInfo(System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@)">
+            <summary>
+            Retrieves information about the instances that are running.
+            </summary>
+            <param name="numInstances">
+            Returns the number of instances.
+            </param>
+            <param name="instances">
+            Returns an array of instance info objects, one for each running
+            instance.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetInstanceMiscInfo(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SIGNATURE@,Microsoft.Isam.Esent.Interop.Vista.JET_InstanceMiscInfo)">
+            <summary>
+            Retrieves information about an instance.
+            </summary>
+            <param name="instance">The instance to get information about.</param>
+            <param name="signature">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetStopBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Prevents streaming backup-related activity from continuing on a
+            specific running instance, thus ending the streaming backup in
+            a predictable way.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetStopServiceInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Prepares an instance for termination.
+            </summary>
+            <param name="instance">The (running) instance to use.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetStopServiceInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit)">
+            <summary>
+            Prepares an instance for termination. Can also be used to resume a previous quiescing.
+            </summary>
+            <param name="instance">The (running) instance to use.</param>
+            <param name="grbit">The options to stop or resume the instance.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetTerm(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Terminate an instance that was created with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> or
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)"/>.
+            </summary>
+            <param name="instance">The instance to terminate.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetTerm2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.TermGrbit)">
+            <summary>
+            Terminate an instance that was created with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> or
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)"/>.
+            </summary>
+            <param name="instance">The instance to terminate.</param>
+            <param name="grbit">Termination options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr,System.String)">
+            <summary>
+            Sets database configuration options.
+            </summary>
+            <param name="instance">
+            The instance to set the option on or <see cref="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil"/>
+            to set the option on all instances.
+            </param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to set.</param>
+            <param name="paramValue">The value of the parameter to set, if the parameter is an integer type.</param>
+            <param name="paramString">The value of the parameter to set, if the parameter is a string type.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.String)">
+            <summary>
+            Sets database configuration options. This overload is used when the
+            parameter being set is of type JET_CALLBACK.
+            </summary>
+            <param name="instance">
+            The instance to set the option on or <see cref="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil"/>
+            to set the option on all instances.
+            </param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to set.</param>
+            <param name="paramValue">The value of the parameter to set.</param>
+            <param name="paramString">The value of the string parameter to set.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr@,System.String@,System.Int32)">
+            <summary>
+            Gets database configuration options.
+            </summary>
+            <param name="instance">The instance to retrieve the options from.</param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to get.</param>
+            <param name="paramValue">Returns the value of the parameter, if the value is an integer.</param>
+            <param name="paramString">Returns the value of the parameter, if the value is a string.</param>
+            <param name="maxParam">The maximum size of the parameter string.</param>
+            <remarks>
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.ErrorToString"/> passes in the error number in the paramValue, which is why it is
+            a ref parameter and not an out parameter.
+            </remarks>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetVersion(Microsoft.Isam.Esent.Interop.JET_SESID,System.UInt32@)">
+            <summary>
+            Retrieves the version of the database engine.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="version">Returns the version number of the database engine.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)">
+            <summary>
+            Creates and attaches a database file.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The path to the database file to create.</param>
+            <param name="connect">The parameter is not used.</param>
+            <param name="dbid">Returns the dbid of the new database.</param>
+            <param name="grbit">Database creation options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)">
+            <summary>
+            Creates and attaches a database file with a maximum database size specified.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The path to the database file to create.</param>
+            <param name="maxPages">
+            The maximum size, in database pages, of the database. Passing 0 means there is
+            no enforced maximum.
+            </param>
+            <param name="dbid">Returns the dbid of the new database.</param>
+            <param name="grbit">Database creation options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)">
+            <summary>
+            Attaches a database file for use with a database instance. In order to use the
+            database, it will need to be subsequently opened with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The database to attach.</param>
+            <param name="grbit">Attach options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)">
+            <summary>
+            Attaches a database file for use with a database instance. In order to use the
+            database, it will need to be subsequently opened with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The database to attach.</param>
+            <param name="maxPages">
+            The maximum size, in database pages, of the database. Passing 0 means there is
+            no enforced maximum.
+            </param>
+            <param name="grbit">Attach options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)">
+            <summary>
+            Opens a database previously attached with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>,
+            for use with a database session. This function can be called multiple times
+            for the same database.
+            </summary>
+            <param name="sesid">The session that is opening the database.</param>
+            <param name="database">The database to open.</param>
+            <param name="connect">Reserved for future use.</param>
+            <param name="dbid">Returns the dbid of the attached database.</param>
+            <param name="grbit">Open database options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCloseDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.CloseDatabaseGrbit)">
+            <summary>
+            Closes a database file that was previously opened with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/> or
+            created with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to close.</param>
+            <param name="grbit">Close options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDetachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String)">
+            <summary>
+            Releases a database file that was previously attached to a database session.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="database">The database to detach.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDetachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit)">
+            <summary>
+            Releases a database file that was previously attached to a database session.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="database">The database to detach.</param>
+            <param name="grbit">Detach options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCompact(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS,System.Object,Microsoft.Isam.Esent.Interop.CompactGrbit)">
+            <summary>
+            Makes a copy of an existing database. The copy is compacted to a
+            state optimal for usage. Data in the copied data will be packed
+            according to the measures chosen for the indexes at index create.
+            In this way, compacted data may be stored as densely as possible.
+            Alternatively, compacted data may reserve space for subsequent
+            record growth or index insertions.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="sourceDatabase">The source database that will be compacted.</param>
+            <param name="destinationDatabase">The name to use for the compacted database.</param>
+            <param name="statusCallback">
+            A callback function that can be called periodically through the
+            database compact operation to report progress.
+            </param>
+            <param name="ignored">
+            This parameter is ignored and should be null.
+            </param>
+            <param name="grbit">Compact options.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGrowDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@)">
+            <summary>
+            Extends the size of a database that is currently open.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">
+            The size of the database, in pages, after the call.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetDatabaseSize(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,System.Int32@)">
+            <summary>
+            Extends the size of a database that is currently open.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The name of the database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">
+            The size of the database, in pages, after the call.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_DBINFOMISC@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="dbinfomisc">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetDatabaseFileInfo(System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetDatabaseFileInfo(System.String,System.Int64@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetDatabaseFileInfo(System.String,Microsoft.Isam.Esent.Interop.JET_DBINFOMISC@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="dbinfomisc">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)">
+            <summary>
+            Performs a streaming backup of an instance, including all the attached
+            databases, to a directory. With multiple backup methods supported by
+            the engine, this is the simplest and most encapsulated function.
+            </summary>
+            <param name="instance">The instance to backup.</param>
+            <param name="destination">
+            The directory where the backup is to be stored. If the backup path is
+            null to use the function will truncate the logs, if possible.
+            </param>
+            <param name="grbit">Backup options.</param>
+            <param name="statusCallback">
+            Optional status notification callback.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRestoreInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)">
+            <summary>
+            Restores and recovers a streaming backup of an instance including all
+            the attached databases. It is designed to work with a backup created
+            with the <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)"/> function. This is the
+            simplest and most encapsulated restore function.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="source">
+            Location of the backup. The backup should have been created with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)"/>.
+            </param>
+            <param name="destination">
+            Name of the folder where the database files from the backup set will
+            be copied and recovered. If this is set to null, the database files
+            will be copied and recovered to their original location.
+            </param>
+            <param name="statusCallback">
+            Optional status notification callback.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotPrepare(Microsoft.Isam.Esent.Interop.JET_OSSNAPID@,Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit)">
+            <summary>
+            Begins the preparations for a snapshot session. A snapshot session
+            is a short time interval in which the engine does not issue any
+            write IOs to disk, so that the engine can participate in a volume
+            snapshot session (when driven by a snapshot writer).
+            </summary>
+            <param name="snapid">Returns the ID of the snapshot session.</param>
+            <param name="grbit">Snapshot options.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotPrepareInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotPrepareInstanceGrbit)">
+            <summary>
+            Selects a specific instance to be part of the snapshot session.
+            </summary>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="instance">The instance to add to the snapshot.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotFreeze(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.SnapshotFreezeGrbit)">
+            <summary>
+            Starts a snapshot. While the snapshot is in progress, no
+            write-to-disk activity by the engine can take place.
+            </summary>
+            <param name="snapshot">The snapshot session.</param>
+            <param name="numInstances">
+            Returns the number of instances that are part of the snapshot session.
+            </param>
+            <param name="instances">
+            Returns information about the instances that are part of the snapshot session.
+            </param>
+            <param name="grbit">
+            Snapshot freeze options.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotGetFreezeInfo(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.Vista.SnapshotGetFreezeInfoGrbit)">
+            <summary>
+            Retrieves the list of instances and databases that are part of the
+            snapshot session at any given moment.
+            </summary>
+            <param name="snapshot">The identifier of the snapshot session.</param>
+            <param name="numInstances">Returns the number of instances.</param>
+            <param name="instances">Returns information about the instances.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)">
+            <summary>
+            Notifies the engine that it can resume normal IO operations after a
+            freeze period and a successful snapshot.
+            </summary>
+            <param name="snapid">The ID of the snapshot.</param>
+            <param name="grbit">Thaw options.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotTruncateLog(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)">
+            <summary>
+            Enables log truncation for all instances that are part of the snapshot session.
+            </summary>
+            <remarks>
+            This function should be called only if the snapshot was created with the
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw"/> option. Otherwise, the snapshot
+            session ends after the call to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)"/>.
+            </remarks>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotTruncateLogInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)">
+            <summary>
+            Truncates the log for a specified instance during a snapshot session.
+            </summary>
+            <remarks>
+            This function should be called only if the snapshot was created with the
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw"/> option. Otherwise, the snapshot
+            session ends after the call to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)"/>.
+            </remarks>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="instance">The instance to truncat the log for.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotEnd(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotEndGrbit)">
+            <summary>
+            Notifies the engine that the snapshot session finished.
+            </summary>
+            <param name="snapid">The identifier of the snapshot session.</param>
+            <param name="grbit">Snapshot end options.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOSSnapshotAbort(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Server2003.SnapshotAbortGrbit)">
+            <summary>
+            Notifies the engine that it can resume normal IO operations after a
+            freeze period ended with a failed snapshot.
+            </summary>
+            <param name="snapid">Identifier of the snapshot session.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)">
+            <summary>
+            Initiates an external backup while the engine and database are online and active.
+            </summary>
+            <param name="instance">The instance prepare for backup.</param>
+            <param name="grbit">Backup options.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCloseFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Closes a file that was opened with JetOpenFileInstance after the
+            data from that file has been extracted using JetReadFileInstance.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="handle">The handle to close.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetEndExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Ends an external backup session. This API is the last API in a series
+            of APIs that must be called to execute a successful online
+            (non-VSS based) backup.
+            </summary>
+            <param name="instance">The instance to end the backup for.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetEndExternalBackupInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.EndExternalBackupGrbit)">
+            <summary>
+            Ends an external backup session. This API is the last API in a series
+            of APIs that must be called to execute a successful online
+            (non-VSS based) backup.
+            </summary>
+            <param name="instance">The instance to end the backup for.</param>
+            <param name="grbit">Options that specify how the backup ended.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetAttachInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of database files that should become part of
+            the backup file set. Only databases that are currently attached to the instance
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/> will be considered. These files may
+            subsequently be opened using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/> and read
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database files
+            that should be a part of the backup file set. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetLogInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of database patch files and logfiles that
+            should become part of the backup file set. These files may subsequently be
+            opened using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/> and read using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database patch files
+            and log files that should be a part of the backup file set. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTruncateLogInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of the transaction log files that can be safely
+            deleted after the backup has successfully completed.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database log files
+            that can be safely deleted after the backup completes. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)">
+            <summary>
+            Opens an attached database, database patch file, or transaction log
+            file of an active instance for the purpose of performing a streaming
+            fuzzy backup. The data from these files can subsequently be read
+            through the returned handle using JetReadFileInstance. The returned
+            handle must be closed using JetCloseFileInstance. An external backup
+            of the instance must have been previously initiated using
+            JetBeginExternalBackupInstance.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="file">The file to open.</param>
+            <param name="handle">Returns a handle to the file.</param>
+            <param name="fileSizeLow">Returns the least significant 32 bits of the file size.</param>
+            <param name="fileSizeHigh">Returns the most significant 32 bits of the file size.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves the contents of a file opened with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/>.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="file">The file to read from.</param>
+            <param name="buffer">The buffer to read into.</param>
+            <param name="bufferSize">The size of the buffer.</param>
+            <param name="bytesRead">Returns the amount of data read into the buffer.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetTruncateLogInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Used during a backup initiated by JetBeginExternalBackup to delete
+            any transaction log files that will no longer be needed once the
+            current backup completes successfully.
+            </summary>
+            <param name="instance">The instance to truncate.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginSession(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID@,System.String,System.String)">
+            <summary>
+            Initialize a new ESENT session.
+            </summary>
+            <param name="instance">The initialized instance to create the session in.</param>
+            <param name="sesid">Returns the created session.</param>
+            <param name="username">The parameter is not used.</param>
+            <param name="password">The parameter is not used.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID,System.IntPtr)">
+            <summary>
+            Associates a session with the current thread using the given context
+            handle. This association overrides the default engine requirement
+            that a transaction for a given session must occur entirely on the
+            same thread.
+            </summary>
+            <param name="sesid">The session to set the context on.</param>
+            <param name="context">The context to set.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetResetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Disassociates a session from the current thread. This should be
+            used in conjunction with JetSetSessionContext.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetEndSession(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.EndSessionGrbit)">
+            <summary>
+            Ends a session.
+            </summary>
+            <param name="sesid">The session to end.</param>
+            <param name="grbit">This parameter is not used.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDupSession(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_SESID@)">
+            <summary>
+            Initialize a new ESE session in the same instance as the given sesid.
+            </summary>
+            <param name="sesid">The session to duplicate.</param>
+            <param name="newSesid">Returns the new session.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetThreadStats(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS@)">
+            <summary>
+            Retrieves performance information from the database engine for the
+            current thread. Multiple calls can be used to collect statistics
+            that reflect the activity of the database engine on this thread
+            between those calls.
+            </summary>
+            <param name="threadstats">
+            Returns the thread statistics.
+            </param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.OpenTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Opens a cursor on a previously created table.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="dbid">The database to open the table in.</param>
+            <param name="tablename">The name of the table to open.</param>
+            <param name="parameters">The parameter is not used.</param>
+            <param name="parametersLength">The parameter is not used.</param>
+            <param name="grbit">Table open options.</param>
+            <param name="tableid">Returns the opened table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Close an open table.
+            </summary>
+            <param name="sesid">The session which opened the table.</param>
+            <param name="tableid">The table to close.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDupCursor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.DupCursorGrbit)">
+            <summary>
+            Duplicates an open cursor and returns a handle to the duplicated cursor.
+            If the cursor that was duplicated was a read-only cursor then the
+            duplicated cursor is also a read-only cursor.
+            Any state related to constructing a search key or updating a record is
+            not copied into the duplicated cursor. In addition, the location of the
+            original cursor is not duplicated into the duplicated cursor. The
+            duplicated cursor is always opened on the clustered index and its
+            location is always on the first row of the table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to duplicate.</param>
+            <param name="newTableid">The duplicated cursor.</param>
+            <param name="grbit">Reserved for future use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetComputeStats(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Walks each index of a table to exactly compute the number of entries
+            in an index, and the number of distinct keys in an index. This
+            information, together with the number of database pages allocated
+            for an index and the current time of the computation is stored in
+            index metadata in the database. This data can be subsequently retrieved
+            with information operations.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table that the statistics will be computed on.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)">
+            <summary>
+            Enables the application to associate a context handle known as
+            Local Storage with a cursor or the table associated with that
+            cursor. This context handle can be used by the application to
+            store auxiliary data that is associated with a cursor or table.
+            The application is later notified using a runtime callback when
+            the context handle must be released. This makes it possible to
+            associate dynamically allocated state with a cursor or table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use.</param>
+            <param name="ls">The context handle to be associated with the session or cursor.</param>
+            <param name="grbit">Set options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS@,Microsoft.Isam.Esent.Interop.LsGrbit)">
+            <summary>
+            Enables the application to retrieve the context handle known
+            as Local Storage that is associated with a cursor or the table
+            associated with that cursor. This context handle must have been
+            previously set using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)"/>. JetGetLS can also
+            be used to simultaneously fetch the current context handle for
+            a cursor or table and reset that context handle.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use.</param>
+            <param name="ls">Returns the retrieved context handle.</param>
+            <param name="grbit">Retrieve options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetCursorInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Determine whether an update of the current record of a cursor
+            will result in a write conflict, based on the current update
+            status of the record. It is possible that a write conflict will
+            ultimately be returned even if JetGetCursorInfo returns successfully.
+            because another session may update the record before the current
+            session is able to update the same record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to check.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginTransaction(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.BeginTransactionGrbit)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <param name="grbit">Transaction options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCommitTransaction(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit)">
+            <summary>
+            Commits the changes made to the state of the database during the current save point
+            and migrates them to the previous save point. If the outermost save point is committed
+            then the changes made during that save point will be committed to the state of the
+            database and the session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to commit the transaction for.</param>
+            <param name="grbit">Commit options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRollback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.RollbackTransactionGrbit)">
+            <summary>
+            Undoes the changes made to the state of the database
+            and returns to the last save point. JetRollback will also close any cursors
+            opened during the save point. If the outermost save point is undone, the
+            session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to rollback the transaction for.</param>
+            <param name="grbit">Rollback options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Create an empty table. The newly created table is opened exclusively.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to create the table in.</param>
+            <param name="table">The name of the table to create.</param>
+            <param name="pages">Initial number of pages in the table.</param>
+            <param name="density">
+            The default density of the table. This is used when doing sequential inserts.
+            </param>
+            <param name="tableid">Returns the tableid of the new table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetAddColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.JET_COLUMNID@)">
+            <summary>
+            Add a new column to an existing table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to add the column to.</param>
+            <param name="column">The name of the column.</param>
+            <param name="columndef">The definition of the column.</param>
+            <param name="defaultValue">The default value of the column.</param>
+            <param name="defaultValueSize">The size of the default value.</param>
+            <param name="columnid">Returns the columnid of the new column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDeleteColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Deletes a column from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the column from.</param>
+            <param name="column">The name of the column to be deleted.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDeleteColumn2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.DeleteColumnGrbit)">
+            <summary>
+            Deletes a column from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the column from.</param>
+            <param name="column">The name of the column to be deleted.</param>
+            <param name="grbit">Column deletion options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDeleteIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Deletes an index from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the index from.</param>
+            <param name="index">The name of the index to be deleted.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDeleteTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String)">
+            <summary>
+            Deletes a table from a database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to delete the table from.</param>
+            <param name="table">The name of the table to delete.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.String,System.Int32,System.Int32)">
+            <summary>
+            Creates an index over data in an ESE database. An index can be used to locate
+            specific data quickly.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexName">
+            Pointer to a null-terminated string that specifies the name of the index to create.
+            </param>
+            <param name="grbit">Index creation options.</param>
+            <param name="keyDescription">
+            Pointer to a double null-terminated string of null-delimited tokens.
+            </param>
+            <param name="keyDescriptionLength">
+            The length, in characters, of szKey including the two terminating nulls.
+            </param>
+            <param name="density">Initial B+ tree density.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            frees the resources associated with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of the input array.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenTempTable2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="lcid">
+            The locale ID to use to compare any Unicode key column data in the temporary table.
+            Any locale may be used as long as the appropriate language pack has been installed
+            on the machine.
+            </param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            frees the resources associated with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of the input array.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="unicodeindex">
+            The Locale ID and normalization flags that will be used to compare
+            any Unicode key column data in the temporary table. When this
+            is not present then the default options are used.
+            </param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            frees the resources associated with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of the input array.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <remarks>
+            Introduced in Windows Vista.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="temporarytable">
+            Description of the temporary table to create on input. After a
+            successful call, the structure contains the handle to the temporary
+            table and column identifications.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnid">The columnid of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columnbase">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnid">The columnid of the column.</param>
+            <param name="columnbase">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.ColInfoGrbit,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST@)">
+            <summary>
+            Retrieves information about all columns in the table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="ignored">The parameter is ignored.</param>
+            <param name="grbit">Additional options for JetGetTableColumnInfo.</param>
+            <param name="columnlist">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST@)">
+            <summary>
+            Retrieves information about all columns in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="ignored">This parameter is ignored.</param>
+            <param name="columnlist">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a column in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columnbase">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a column in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columnid">The ID of the column.</param>
+            <param name="columnbase">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetObjectInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_OBJECTLIST@)">
+            <summary>
+            Retrieves information about database objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="objectlist">Filled in with information about the objects in the database.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetObjectInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_objtyp,System.String,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO@)">
+            <summary>
+            Retrieves information about database objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="objtyp">The type of the object.</param>
+            <param name="objectName">The object name about which to retrieve information.</param>
+            <param name="objectinfo">Filled in with information about the objects in the database.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,System.Int32)">
+            <summary>
+            JetGetCurrentIndex function determines the name of the current
+            index of a given cursor. This name is also used to later re-select
+            that index as the current index using JetSetCurrentIndex. It can
+            also be used to discover the properties of that index using
+            JetGetTableIndexInfo.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to get the index name for.</param>
+            <param name="indexName">Returns the name of the index.</param>
+            <param name="maxNameLength">
+            The maximum length of the index name. Index names are no more than
+            Api.MaxNameLength characters.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Default"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Name"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.TemplateTableName"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Dbid"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32[],Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceUsage"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAlloc"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceOwned"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAvailable"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.UInt16@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.UInt16@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRenameTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String)">
+            <summary>
+            Changes the name of an existing table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the table.</param>
+            <param name="tableName">The name of the table.</param>
+            <param name="newTableName">The new name of the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRenameColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.String,Microsoft.Isam.Esent.Interop.RenameColumnGrbit)">
+            <summary>
+            Changes the name of an existing column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="name">The name of the column.</param>
+            <param name="newName">The new name of the column.</param>
+            <param name="grbit">Column rename options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetColumnDefaultValue(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnDefaultValueGrbit)">
+            <summary>
+            Changes the default value of an existing column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the column.</param>
+            <param name="tableName">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="data">The new default value.</param>
+            <param name="dataSize">Size of the new default value.</param>
+            <param name="grbit">Column default value options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGotoBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32)">
+            <summary>
+            Positions a cursor to an index entry for the record that is associated with
+            the specified bookmark. The bookmark can be used with any index defined over
+            a table. The bookmark for a record can be retrieved using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="bookmark">The bookmark used to position the cursor.</param>
+            <param name="bookmarkSize">The size of the bookmark.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGotoSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit)">
+            <summary>
+            Positions a cursor to an index entry that is associated with the
+            specified secondary index bookmark. The secondary index bookmark
+            must be used with the same index over the same table from which it
+            was originally retrieved. The secondary index bookmark for an index
+            entry can be retrieved using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGotoSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table cursor to position.</param>
+            <param name="secondaryKey">The buffer that contains the secondary key.</param>
+            <param name="secondaryKeySize">The size of the secondary key.</param>
+            <param name="primaryKey">The buffer that contains the primary key.</param>
+            <param name="primaryKeySize">The size of the primary key.</param>
+            <param name="grbit">Options for positioning the bookmark.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)">
+            <summary>
+            Navigate through an index. The cursor can be positioned at the start or
+            end of the index and moved backwards and forwards by a specified number
+            of index entries.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="numRows">An offset which indicates how far to move the cursor.</param>
+            <param name="grbit">Move options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetMakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs search keys that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <remarks>
+            The MakeKey functions provide datatype-specific make key functionality.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="dataSize">Size of the data.</param>
+            <param name="grbit">Key options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)">
+            <summary>
+            Efficiently positions a cursor to an index entry that matches the search
+            criteria specified by the search key in that cursor and the specified
+            inequality. A search key must have been previously constructed using
+            JetMakeKey.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="grbit">Seek options.</param>
+            <returns>An error or warning..</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)">
+            <summary>
+            Temporarily limits the set of index entries that the cursor can walk using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)"/> to those starting
+            from the current index entry and ending at the index entry that matches the
+            search criteria specified by the search key in that cursor and the specified
+            bound criteria. A search key must have been previously constructed using
+            JetMakeKey.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index range on.</param>
+            <param name="grbit">Index range options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetIntersectIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXRANGE[],System.Int32,Microsoft.Isam.Esent.Interop.JET_RECORDLIST@,Microsoft.Isam.Esent.Interop.IntersectIndexesGrbit)">
+            <summary>
+            Computes the intersection between multiple sets of index entries from different secondary
+            indices over the same table. This operation is useful for finding the set of records in a
+            table that match two or more criteria that can be expressed using index ranges.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="ranges">
+            An the index ranges to intersect. The tableids in the ranges
+             must have index ranges set on them.
+            </param>
+            <param name="numRanges">
+            The number of index ranges.
+            </param>
+            <param name="recordlist">
+            Returns information about the temporary table containing the intersection results.
+            </param>
+            <param name="grbit">Intersection options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetCurrentIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetCurrentIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit,System.Int32)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <param name="itagSequence">
+            Sequence number of the multi-valued column value which will be used
+            to position the cursor on the new index. This parameter is only used
+            in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.NoMove"/>. When
+            this parameter is not present or is set to zero, its value is presumed
+            to be 1.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetCurrentIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit,System.Int32)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="indexid">
+            The id of the index to select. This id can be obtained using JetGetIndexInfo
+            or JetGetTableIndexInfo with the <see cref="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.IndexId"/> option.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <param name="itagSequence">
+            Sequence number of the multi-valued column value which will be used
+            to position the cursor on the new index. This parameter is only used
+            in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.NoMove"/>. When
+            this parameter is not present or is set to zero, its value is presumed
+            to be 1.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetIndexRecordCount(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,System.Int32)">
+            <summary>
+            Counts the number of entries in the current index from the current position forward.
+            The current position is included in the count. The count can be greater than the
+            total number of records in the table if the current index is over a multi-valued
+            column and instances of the column have multiple-values. If the table is empty,
+            then 0 will be returned for the count.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to count the records in.</param>
+            <param name="numRecords">Returns the number of records.</param>
+            <param name="maxRecordsToCount">
+            The maximum number of records to count.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetIndexRecordCount2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int64@,System.Int64)">
+            <summary>
+            Counts the number of entries in the current index from the current position forward.
+            The current position is included in the count. The count can be greater than the
+            total number of records in the table if the current index is over a multi-valued
+            column and instances of the column have multiple-values. If the table is empty,
+            then 0 will be returned for the count. 
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to count the records in.</param>
+            <param name="numRecords">Returns the number of records.</param>
+            <param name="maxRecordsToCount">
+            The maximum number of records to count.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetTableSequentialGrbit)">
+            <summary>
+            Notifies the database engine that the application is scanning the entire
+            index that the cursor is positioned on. Consequently, the methods that
+            are used to access the index data will be tuned to make this scenario as
+            fast as possible.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor that will be accessing the data.</param>
+            <param name="grbit">Reserved for future use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetResetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ResetTableSequentialGrbit)">
+            <summary>
+            Notifies the database engine that the application is no longer scanning the
+            entire index the cursor is positioned on. This call reverses a notification
+            sent by JetSetTableSequential.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor that was accessing the data.</param>
+            <param name="grbit">Reserved for future use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetRecordPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS@)">
+            <summary>
+            Returns the fractional position of the current record in the current index
+            in the form of a JET_RECPOS structure.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor positioned on the record.</param>
+            <param name="recpos">Returns the approximate fractional position of the record.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGotoPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS)">
+            <summary>
+            Moves a cursor to a new location that is a fraction of the way through
+            the current index.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="recpos">The approximate position to move to.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetPrereadKeys(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit)">
+            <summary>
+            If the records with the specified keys are not in the buffer cache
+            then start asynchronous reads to bring the records into the database
+            buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="keys">
+            The keys to preread. The keys must be sorted.
+            </param>
+            <param name="keyLengths">The lengths of the keys to preread.</param>
+            <param name="keyIndex">
+            The index of the first key in the keys array to read.
+            </param>
+            <param name="keyCount">
+            The maximum number of keys to preread.
+            </param>
+            <param name="keysPreread">
+            Returns the number of keys to actually preread.
+            </param>
+            <param name="grbit">
+            Preread options. Used to specify the direction of the preread.
+            </param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves the bookmark for the record that is associated with the index entry
+            at the current position of a cursor. This bookmark can then be used to
+            reposition that cursor back to the same record using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGotoBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32)"/>.
+            The bookmark will be no longer than <see cref="P:Microsoft.Isam.Esent.Interop.SystemParameters.BookmarkMost"/>
+            bytes.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <param name="bookmark">Buffer to contain the bookmark.</param>
+            <param name="bookmarkSize">Size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.GetSecondaryIndexBookmarkGrbit)">
+            <summary>
+            Retrieves a special bookmark for the secondary index entry at the
+            current position of a cursor. This bookmark can then be used to
+            efficiently reposition that cursor back to the same index entry
+            using JetGotoSecondaryIndexBookmark. This is most useful when
+            repositioning on a secondary index that contains duplicate keys or
+            that contains multiple index entries for the same record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <param name="secondaryKey">Output buffer for the secondary key.</param>
+            <param name="secondaryKeySize">Size of the secondary key buffer.</param>
+            <param name="actualSecondaryKeySize">Returns the size of the secondary key.</param>
+            <param name="primaryKey">Output buffer for the primary key.</param>
+            <param name="primaryKeySize">Size of the primary key buffer.</param>
+            <param name="actualPrimaryKeySize">Returns the size of the primary key.</param>
+            <param name="grbit">Options for the call.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRetrieveKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit)">
+            <summary>
+            Retrieves the key for the index entry at the current position of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the key from.</param>
+            <param name="data">The buffer to retrieve the key into.</param>
+            <param name="dataSize">The size of the buffer.</param>
+            <param name="actualDataSize">Returns the actual size of the data.</param>
+            <param name="grbit">Retrieve key options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRetrieveColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.IntPtr,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit,Microsoft.Isam.Esent.Interop.JET_RETINFO)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            Alternatively, this function can retrieve a column from a record being created
+            in the cursor copy buffer. This function can also retrieve column data from an
+            index entry that references the current record. In addition to retrieving the
+            actual column value, JetRetrieveColumn can also be used to retrieve the size
+            of a column, before retrieving the column data itself so that application
+            buffers can be sized appropriately.
+            </summary>
+            <remarks>
+            The RetrieveColumnAs functions provide datatype-specific retrieval functions.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="data">The data buffer to be retrieved into.</param>
+            <param name="dataSize">The size of the data buffer.</param>
+            <param name="actualDataSize">Returns the actual size of the data buffer.</param>
+            <param name="grbit">Retrieve column options.</param>
+            <param name="retinfo">
+            If pretinfo is give as NULL then the function behaves as though an itagSequence
+            of 1 and an ibLongValue of 0 (zero) were given. This causes column retrieval to
+            retrieve the first value of a multi-valued column, and to retrieve long data at
+            offset 0 (zero).
+            </param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRetrieveColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN*,System.Int32)">
+            <summary>
+            The JetRetrieveColumns function retrieves multiple column values
+            from the current record in a single operation. An array of
+            <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN"/> structures is used to
+            describe the set of column values to be retrieved, and to describe
+            output buffers for each column value to be retrieved.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve columns from.</param>
+            <param name="retrievecolumns">
+            An array of one or more JET_RETRIEVECOLUMN structures. Each
+            structure includes descriptions of which column value to retrieve
+            and where to store returned data.
+            </param>
+            <param name="numColumns">
+            Number of structures in the array given by retrievecolumns.
+            </param>
+            <returns>
+            An error or warning.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID[],System.Int32@,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN[]@,Microsoft.Isam.Esent.Interop.JET_PFNREALLOC,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit)">
+            <summary>
+            Efficiently retrieves a set of columns and their values from the
+            current record of a cursor or the copy buffer of that cursor. The
+            columns and values retrieved can be restricted by a list of
+            column IDs, itagSequence numbers, and other characteristics. This
+            column retrieval API is unique in that it returns information in
+            dynamically allocated memory that is obtained using a
+            user-provided realloc compatible callback. This new flexibility
+            permits the efficient retrieval of column data with specific
+            characteristics (such as size and multiplicity) that are unknown
+            to the caller. This eliminates the need for the use of the discovery
+            modes of JetRetrieveColumn to determine those
+            characteristics in order to setup a final call to
+            JetRetrieveColumn that will successfully retrieve
+            the desired data.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve data from.</param>
+            <param name="numColumnids">The numbers of JET_ENUMCOLUMNIDS.</param>
+            <param name="columnids">
+            An optional array of column IDs, each with an optional array of itagSequence
+            numbers to enumerate.
+            </param>
+            <param name="numColumnValues">
+            Returns the number of column values retrieved.
+            </param>
+            <param name="columnValues">
+            Returns the enumerated column values.
+            </param>
+            <param name="allocator">
+            Callback used to allocate memory.
+            </param>
+            <param name="allocatorContext">
+            Context for the allocation callback.
+            </param>
+            <param name="maxDataSize">
+            Sets a cap on the amount of data to return from a long text or long
+            binary column. This parameter can be used to prevent the enumeration
+            of an extremely large column value.
+            </param>
+            <param name="grbit">Retrieve options.</param>
+            <returns>A warning, error or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit,System.Collections.Generic.IEnumerable{Microsoft.Isam.Esent.Interop.EnumeratedColumn}@)">
+            <summary>
+            Efficiently retrieves a set of columns and their values from the
+            current record of a cursor or the copy buffer of that cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve data from.</param>
+            <param name="grbit">Enumerate options.</param>
+            <param name="enumeratedColumns">The discovered columns and their values.</param>
+            <returns>A warning or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetRecordSize(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE@,Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit)">
+            <summary>
+            Retrieves record size information from the desired location.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The cursor that will be used for the API call. The cursor must be
+            positioned on a record, or have an update prepared.
+            </param>
+            <param name="recsize">Returns the size of the record.</param>
+            <param name="grbit">Call options.</param>
+            <returns>A warning, error or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Deletes the current record in a database table.
+            </summary>
+            <param name="sesid">The session that opened the cursor.</param>
+            <param name="tableid">The cursor on a database table. The current row will be deleted.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)">
+            <summary>
+            Prepare a cursor for update.
+            </summary>
+            <param name="sesid">The session which is starting the update.</param>
+            <param name="tableid">The cursor to start the update for.</param>
+            <param name="prep">The type of update to prepare.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            The JetUpdate function performs an update operation including inserting a new row into
+            a table or updating an existing row. Deleting a table row is performed by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session which started the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="bookmark">Returns the bookmark of the updated record. This can be null.</param>
+            <param name="bookmarkSize">The size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <remarks>
+            JetUpdate is the final step in performing an insert or an update. The update is begun by
+            calling <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)"/> and then by calling
+            JetSetColumn one or more times to set the record state. Finally, JetUpdate
+            is called to complete the update operation. Indexes are updated only by JetUpdate or and not during JetSetColumn.
+            </remarks>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetUpdate2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit)">
+            <summary>
+            The JetUpdate2 function performs an update operation including inserting a new row into
+            a table or updating an existing row. Deleting a table row is performed by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session which started the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="bookmark">Returns the bookmark of the updated record. This can be null.</param>
+            <param name="bookmarkSize">The size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <param name="grbit">Update options.</param>
+            <remarks>
+            JetUpdate is the final step in performing an insert or an update. The update is begun by
+            calling <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)"/> and then by calling
+            JetSetColumn one or more times to set the record state. Finally, JetUpdate
+            is called to complete the update operation. Indexes are updated only by JetUpdate or and not during JetSetColumn.
+            </remarks>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)">
+            <summary>
+            The JetSetColumn function modifies a single column value in a modified record to be inserted or to
+            update the current record. It can overwrite an existing value, add a new value to a sequence of
+            values in a multi-valued column, remove a value from a sequence of values in a multi-valued column,
+            or update all or part of a long value (a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>).
+            </summary>
+            <remarks>
+            The SetColumn methods provide datatype-specific overrides which may be more efficient.
+            </remarks>
+            <param name="sesid">The session which is performing the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="dataSize">The size of data to set.</param>
+            <param name="grbit">SetColumn options.</param>
+            <param name="setinfo">Used to specify itag or long-value offset.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Allows an application to set multiple column values in a single
+            operation. An array of <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN"/> structures is
+            used to describe the set of column values to be set, and to describe
+            input buffers for each column value to be set.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the columns on.</param>
+            <param name="setcolumns">
+            An array of <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN"/> structures describing the
+            data to set.
+            </param>
+            <param name="numColumns">
+            Number of entries in the setcolumns parameter.
+            </param>
+            <returns>An error code or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetLock(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.GetLockGrbit)">
+            <summary>
+            Explicitly reserve the ability to update a row, write lock, or to explicitly prevent a row from
+            being updated by any other session, read lock. Normally, row write locks are acquired implicitly as a
+            result of updating rows. Read locks are usually not required because of record versioning. However,
+            in some cases a transaction may desire to explicitly lock a row to enforce serialization, or to ensure
+            that a subsequent operation will succeed.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use. A lock will be acquired on the current record.</param>
+            <param name="grbit">Lock options, use this to specify which type of lock to obtain.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetEscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit)">
+            <summary>
+            Performs an atomic addition operation on one column. This function allows
+            multiple sessions to update the same record concurrently without conflicts.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update.</param>
+            <param name="columnid">
+            The column to update. This must be an escrow updatable column.
+            </param>
+            <param name="delta">The buffer containing the addend.</param>
+            <param name="deltaSize">The size of the addend.</param>
+            <param name="previousValue">
+            An output buffer that will recieve the current value of the column. This buffer
+            can be null.
+            </param>
+            <param name="previousValueLength">The size of the previousValue buffer.</param>
+            <param name="actualPreviousValueLength">Returns the actual size of the previousValue.</param>
+            <param name="grbit">Escrow update options.</param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)">
+            <summary>
+            Allows the application to configure the database engine to issue
+            notifications to the application for specific events. These
+            notifications are associated with a specific table and remain in
+            effect only until the instance containing the table is shut down
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetTerm(Microsoft.Isam.Esent.Interop.JET_INSTANCE)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            A cursor opened on the table that the callback should be
+            registered on.
+            </param>
+            <param name="cbtyp">
+            The callback reasons for which the application wishes to receive notifications.
+            </param>
+            <param name="callback">The callback function.</param>
+            <param name="context">A context that will be given to the callback.</param>
+            <param name="callbackId">
+            A handle that can later be used to cancel the registration of the given
+            callback function using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetUnregisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_HANDLE)"/>.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetUnregisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Configures the database engine to stop issuing notifications to the
+            application as previously requested through
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            A cursor opened on the table that the callback should be
+            registered on.
+            </param>
+            <param name="cbtyp">
+            The callback reasons for which the application no longer wishes to receive notifications.
+            </param>
+            <param name="callbackId">
+            The handle of the registered callback that was returned by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)"/>.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="passes">
+            When starting an online defragmentation task, this parameter sets the maximum number of defragmentation
+            passes. When stopping an online defragmentation task, this parameter is set to the number of passes
+            performed. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="seconds">
+            When starting an online defragmentation task, this parameter sets
+            the maximum time for defragmentation. When stopping an online
+            defragmentation task, this output buffer is set to the length of
+            time used for defragmentation. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>An error code or warning.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.Defragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.Defragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>An error code or warning.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDefragment2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.JET_CALLBACK,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Unused parameter. Defragmentation is performed for the entire database described by the given database ID.
+            </param>
+            <param name="passes">
+            When starting an online defragmentation task, this parameter sets the maximum number of defragmentation
+            passes. When stopping an online defragmentation task, this parameter is set to the number of passes
+            performed.
+            </param>
+            <param name="seconds">
+            When starting an online defragmentation task, this parameter sets
+            the maximum time for defragmentation. When stopping an online
+            defragmentation task, this output buffer is set to the length of
+            time used for defragmentation.
+            </param>
+            <param name="callback">Callback function that defrag uses to report progress.</param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>An error code or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetIdle(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.IdleGrbit)">
+            <summary>
+            Performs idle cleanup tasks or checks the version store status in ESE.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="grbit">A combination of JetIdleGrbit flags.</param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetConfigureProcessForCrashDump(Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit)">
+            <summary>
+            Crash dump options for Watson.
+            </summary>
+            <param name="grbit">Crash dump options.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetFreeBuffer(System.IntPtr)">
+            <summary>
+            Frees memory that was allocated by a database engine call.
+            </summary>
+            <param name="buffer">
+            The buffer allocated by a call to the database engine.
+            <see cref="F:System.IntPtr.Zero"/> is acceptable, and will be ignored.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT@)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to retrieve.</param>
+            <param name="operationContext">An operation context to retrieve.</param>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="operationContext">An operation context to set.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetThreadStats(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2@)">
+            <summary>
+            Retrieves performance information from the database engine for the
+            current thread. Multiple calls can be used to collect statistics
+            that reflect the activity of the database engine on this thread
+            between those calls. 
+            </summary>
+            <param name="threadstats">
+            Returns the thread statistics.
+            </param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetBeginTransaction3(Microsoft.Isam.Esent.Interop.JET_SESID,System.Int64,Microsoft.Isam.Esent.Interop.BeginTransactionGrbit)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <param name="userTransactionId">An optional identifier supplied by the user for identifying the transaction.</param>
+            <param name="grbit">Transaction options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCommitTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit,System.TimeSpan,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID@)">
+            <summary>
+            Commits the changes made to the state of the database during the current save point
+            and migrates them to the previous save point. If the outermost save point is committed
+            then the changes made during that save point will be committed to the state of the
+            database and the session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to commit the transaction for.</param>
+            <param name="grbit">Commit options.</param>
+            <param name="durableCommit">Duration to commit lazy transaction.</param>
+            <param name="commitId">Commit-id associated with this commit record.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetErrorInfo(Microsoft.Isam.Esent.Interop.JET_err,Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC@)">
+            <summary>
+            Gets extended information about an error.
+            </summary>
+            <param name="error">The error code about which to retrieve information.</param>
+            <param name="errinfo">Information about the specified error code.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetResizeDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit)">
+            <summary>
+            Resizes a currently open database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">The size of the database, in pages, after the call. </param>
+            <param name="grbit">Resize options.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenTemporaryTable2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="temporarytable">
+            Description of the temporary table to create on input. After a
+            successful call, the structure contains the handle to the temporary
+            table and column identifications.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateTableColumnIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Int32@)">
+            <summary>
+            Gets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set, see
+            <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> and <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam"/>.</param>
+            <param name="value">A 32-bit integer to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Gets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set, see
+            <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> and <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam"/>.</param>
+            <param name="data">A byte array to retrieve.</param>
+            <param name="length">AThe length of the data array.</param>
+            <param name="actualDataSize">The actual size of the data field.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Int32)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="value">A 32-bit integer to set.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Byte[],System.Int32)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="data">Data to set in this session parameter.</param>
+            <param name="dataSize">Size of the data provided.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetPrereadIndexRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)">
+            <summary>
+            If the records with the specified key ranges are not in the buffer
+            cache, then start asynchronous reads to bring the records into the
+            database buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="indexRanges">The key rangess to preread.</param>
+            <param name="rangeIndex">The index of the first key range in the array to read.</param>
+            <param name="rangeCount">The maximum number of key ranges to preread.</param>
+            <param name="rangesPreread">Returns the number of keys actually preread.</param>
+            <param name="columnsPreread">List of column ids for long value columns to preread.</param>
+            <param name="grbit">Preread options. Used to specify the direction of the preread.</param>
+            <returns>
+            An error if the call fails.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetPrereadKeyRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Byte[][],System.Int32[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)">
+            <summary>
+            If the records with the specified key ranges are not in the
+            buffer cache then start asynchronous reads to bring the records
+            into the database buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="keysStart">The start of key ranges to preread.</param>
+            <param name="keyStartLengths">The lengths of the start keys to preread.</param>
+            <param name="keysEnd">The end of key rangess to preread.</param>
+            <param name="keyEndLengths">The lengths of the end keys to preread.</param>
+            <param name="rangeIndex">The index of the first key range in the array to read.</param>
+            <param name="rangeCount">The maximum number of key ranges to preread.</param>
+            <param name="rangesPreread">Returns the number of keys actually preread.</param>
+            <param name="columnsPreread">List of column ids for long value columns to preread.</param>
+            <param name="grbit">Preread options. Used to specify the direction of the preread.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetCursorFilter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN[],Microsoft.Isam.Esent.Interop.Windows8.CursorFilterGrbit)">
+            <summary>
+            Set an array of simple filters for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)"/>
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="filters">Simple record filters.</param>
+            <param name="grbit">Move options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Implementation.JetApi">
+            <summary>
+            Calls to the ESENT interop layer. These calls take the managed types (e.g. JET_SESID) and
+            return errors.
+            </summary>
+            <summary>
+            Windows10 calls to the ESENT interop layer. These calls take the managed types (e.g. JET_SESID) and
+            return errors.
+            </summary>
+            <summary>
+            Windows8 calls to the ESENT interop layer. These calls take the managed types (e.g. JET_SESID) and
+            return errors.
+            </summary>
+            <summary>
+            JetApi code that is specific to ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Implementation.JetApi.TraceSwitch">
+            <summary>
+            API call tracing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Implementation.JetApi.versionOverride">
+            <summary>
+            The version of esent. If this is zero then it is looked up
+            with JetGetVersion.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Implementation.JetApi.callbackWrappers">
+            <summary>
+            Callback wrapper collection. This is used for long-running callbacks
+            (callbacks which can be called after the API call returns). Create a
+            wrapper here and occasionally clean them up.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.#cctor">
+            <summary>
+            Initializes static members of the JetApi class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.#ctor(System.UInt32)">
+            <summary>
+            Initializes a new instance of the JetApi class. This allows the version
+            to be set.
+            </summary>
+            <param name="version">
+            The version of Esent. This is used to override the results of
+            JetGetVersion.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.#ctor">
+            <summary>
+            Initializes a new instance of the JetApi class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetApi.Capabilities">
+            <summary>
+            Gets the capabilities of this implementation of ESENT.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)">
+            <summary>
+            Allocates a new instance of the database engine.
+            </summary>
+            <param name="instance">Returns the new instance.</param>
+            <param name="name">The name of the instance. Names must be unique.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String,System.String,Microsoft.Isam.Esent.Interop.CreateInstanceGrbit)">
+            <summary>
+            Allocate a new instance of the database engine for use in a single
+            process, with a display name specified.
+            </summary>
+            <param name="instance">Returns the newly create instance.</param>
+            <param name="name">
+            Specifies a unique string identifier for the instance to be created.
+            This string must be unique within a given process hosting the
+            database engine.
+            </param>
+            <param name="displayName">
+            A display name for the instance to be created. This will be used
+            in eventlog entries.
+            </param>
+            <param name="grbit">Creation options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetInit2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <param name="grbit">
+            Initialization options.
+            </param>
+            <returns>An error or a warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetInit3(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.JET_RSTINFO,Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <param name="recoveryOptions">
+            Additional recovery parameters for remapping databases during
+            recovery, position where to stop recovery at, or recovery status.
+            </param>
+            <param name="grbit">
+            Initialization options.
+            </param>
+            <returns>An error code or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetInstanceInfo(System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@)">
+            <summary>
+            Retrieves information about the instances that are running.
+            </summary>
+            <param name="numInstances">
+            Returns the number of instances.
+            </param>
+            <param name="instances">
+            Returns an array of instance info objects, one for each running
+            instance.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetInstanceMiscInfo(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SIGNATURE@,Microsoft.Isam.Esent.Interop.Vista.JET_InstanceMiscInfo)">
+            <summary>
+            Retrieves information about an instance.
+            </summary>
+            <param name="instance">The instance to get information about.</param>
+            <param name="signature">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetStopBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Prevents streaming backup-related activity from continuing on a
+            specific running instance, thus ending the streaming backup in
+            a predictable way.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetStopServiceInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Prepares an instance for termination.
+            </summary>
+            <param name="instance">The (running) instance to use.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetStopServiceInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Windows8.StopServiceGrbit)">
+            <summary>
+            Prepares an instance for termination. Can also be used to resume a previous quiescing.
+            </summary>
+            <param name="instance">The (running) instance to use.</param>
+            <param name="grbit">The options to stop or resume the instance.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetTerm(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Terminate an instance that was created with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> or
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)"/>.
+            </summary>
+            <param name="instance">The instance to terminate.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetTerm2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.TermGrbit)">
+            <summary>
+            Terminate an instance that was created with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> or
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String)"/>.
+            </summary>
+            <param name="instance">The instance to terminate.</param>
+            <param name="grbit">Termination options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr,System.String)">
+            <summary>
+            Sets database configuration options.
+            </summary>
+            <param name="instance">
+            The instance to set the option on or <see cref="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil"/>
+            to set the option on all instances.
+            </param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to set.</param>
+            <param name="paramValue">The value of the parameter to set, if the parameter is an integer type.</param>
+            <param name="paramString">The value of the parameter to set, if the parameter is a string type.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.String)">
+            <summary>
+            Sets database configuration options. This overload is used when the
+            parameter being set is of type JET_CALLBACK.
+            </summary>
+            <param name="instance">
+            The instance to set the option on or <see cref="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil"/>
+            to set the option on all instances.
+            </param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to set.</param>
+            <param name="paramValue">The value of the parameter to set.</param>
+            <param name="paramString">The value of the string parameter to set.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr@,System.String@,System.Int32)">
+            <summary>
+            Gets database configuration options.
+            </summary>
+            <param name="instance">The instance to retrieve the options from.</param>
+            <param name="sesid">The session to use.</param>
+            <param name="paramid">The parameter to get.</param>
+            <param name="paramValue">Returns the value of the parameter, if the value is an integer.</param>
+            <param name="paramString">Returns the value of the parameter, if the value is a string.</param>
+            <param name="maxParam">The maximum size of the parameter string.</param>
+            <returns>An ESENT warning code.</returns>
+            <remarks>
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.ErrorToString"/> passes in the error number in the paramValue, which is why it is
+            a ref parameter and not an out parameter.
+            </remarks>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetVersion(Microsoft.Isam.Esent.Interop.JET_SESID,System.UInt32@)">
+            <summary>
+            Retrieves the version of the database engine.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="version">Returns the version number of the database engine.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)">
+            <summary>
+            Creates and attaches a database file.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The path to the database file to create.</param>
+            <param name="connect">The parameter is not used.</param>
+            <param name="dbid">Returns the dbid of the new database.</param>
+            <param name="grbit">Database creation options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)">
+            <summary>
+            Creates and attaches a database file with a maximum database size specified.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The path to the database file to create.</param>
+            <param name="maxPages">
+            The maximum size, in database pages, of the database. Passing 0 means there is
+            no enforced maximum.
+            </param>
+            <param name="dbid">Returns the dbid of the new database.</param>
+            <param name="grbit">Database creation options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)">
+            <summary>
+            Attaches a database file for use with a database instance. In order to use the
+            database, it will need to be subsequently opened with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The database to attach.</param>
+            <param name="grbit">Attach options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)">
+            <summary>
+            Attaches a database file for use with a database instance. In order to use the
+            database, it will need to be subsequently opened with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The database to attach.</param>
+            <param name="maxPages">
+            The maximum size, in database pages, of the database. Passing 0 means there is
+            no enforced maximum.
+            </param>
+            <param name="grbit">Attach options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)">
+            <summary>
+            Opens a database previously attached with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>,
+            for use with a database session. This function can be called multiple times
+            for the same database.
+            </summary>
+            <param name="sesid">The session that is opening the database.</param>
+            <param name="database">The database to open.</param>
+            <param name="connect">Reserved for future use.</param>
+            <param name="dbid">Returns the dbid of the attached database.</param>
+            <param name="grbit">Open database options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCloseDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.CloseDatabaseGrbit)">
+            <summary>
+            Closes a database file that was previously opened with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/> or
+            created with <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetCreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to close.</param>
+            <param name="grbit">Close options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDetachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String)">
+            <summary>
+            Releases a database file that was previously attached to a database session.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="database">The database to detach.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDetachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit)">
+            <summary>
+            Releases a database file that was previously attached to a database session.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="database">The database to detach.</param>
+            <param name="grbit">Detach options.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCompact(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS,System.Object,Microsoft.Isam.Esent.Interop.CompactGrbit)">
+            <summary>
+            Makes a copy of an existing database. The copy is compacted to a
+            state optimal for usage. Data in the copied data will be packed
+            according to the measures chosen for the indexes at index create.
+            In this way, compacted data may be stored as densely as possible.
+            Alternatively, compacted data may reserve space for subsequent
+            record growth or index insertions.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="sourceDatabase">The source database that will be compacted.</param>
+            <param name="destinationDatabase">The name to use for the compacted database.</param>
+            <param name="statusCallback">
+            A callback function that can be called periodically through the
+            database compact operation to report progress.
+            </param>
+            <param name="ignored">
+            This parameter is ignored and should be null.
+            </param>
+            <param name="grbit">Compact options.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGrowDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@)">
+            <summary>
+            Extends the size of a database that is currently open.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">
+            The size of the database, in pages, after the call.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetDatabaseSize(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,System.Int32@)">
+            <summary>
+            Extends the size of a database that is currently open.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="database">The name of the database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">
+            The size of the database, in pages, after the call.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_DBINFOMISC@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="dbinfomisc">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetDatabaseInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database identifier.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetDatabaseFileInfo(System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetDatabaseFileInfo(System.String,System.Int64@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="value">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetDatabaseFileInfo(System.String,Microsoft.Isam.Esent.Interop.JET_DBINFOMISC@,Microsoft.Isam.Esent.Interop.JET_DbInfo)">
+            <summary>
+            Retrieves certain information about the given database.
+            </summary>
+            <param name="databaseName">The file name of the database.</param>
+            <param name="dbinfomisc">The value to be retrieved.</param>
+            <param name="infoLevel">The specific data to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)">
+            <summary>
+            Performs a streaming backup of an instance, including all the attached
+            databases, to a directory. With multiple backup methods supported by
+            the engine, this is the simplest and most encapsulated function.
+            </summary>
+            <param name="instance">The instance to backup.</param>
+            <param name="destination">
+            The directory where the backup is to be stored. If the backup path is
+            null to use the function will truncate the logs, if possible.
+            </param>
+            <param name="grbit">Backup options.</param>
+            <param name="statusCallback">
+            Optional status notification callback.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRestoreInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)">
+            <summary>
+            Restores and recovers a streaming backup of an instance including all
+            the attached databases. It is designed to work with a backup created
+            with the <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)"/> function. This is the
+            simplest and most encapsulated restore function.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="source">
+            Location of the backup. The backup should have been created with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)"/>.
+            </param>
+            <param name="destination">
+            Name of the folder where the database files from the backup set will
+            be copied and recovered. If this is set to null, the database files
+            will be copied and recovered to their original location.
+            </param>
+            <param name="statusCallback">
+            Optional status notification callback.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotPrepare(Microsoft.Isam.Esent.Interop.JET_OSSNAPID@,Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit)">
+            <summary>
+            Begins the preparations for a snapshot session. A snapshot session
+            is a short time interval in which the engine does not issue any
+            write IOs to disk, so that the engine can participate in a volume
+            snapshot session (when driven by a snapshot writer).
+            </summary>
+            <param name="snapid">Returns the ID of the snapshot session.</param>
+            <param name="grbit">Snapshot options.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotPrepareInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotPrepareInstanceGrbit)">
+            <summary>
+            Selects a specific instance to be part of the snapshot session.
+            </summary>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="instance">The instance to add to the snapshot.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotFreeze(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.SnapshotFreezeGrbit)">
+            <summary>
+            Starts a snapshot. While the snapshot is in progress, no
+            write-to-disk activity by the engine can take place.
+            </summary>
+            <param name="snapshot">The snapshot session.</param>
+            <param name="numInstances">
+            Returns the number of instances that are part of the snapshot session.
+            </param>
+            <param name="instances">
+            Returns information about the instances that are part of the snapshot session.
+            </param>
+            <param name="grbit">
+            Snapshot freeze options.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotGetFreezeInfo(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.Vista.SnapshotGetFreezeInfoGrbit)">
+            <summary>
+            Retrieves the list of instances and databases that are part of the
+            snapshot session at any given moment.
+            </summary>
+            <param name="snapshot">The identifier of the snapshot session.</param>
+            <param name="numInstances">Returns the number of instances.</param>
+            <param name="instances">Returns information about the instances.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)">
+            <summary>
+            Notifies the engine that it can resume normal IO operations after a
+            freeze period and a successful snapshot.
+            </summary>
+            <param name="snapid">The ID of the snapshot.</param>
+            <param name="grbit">Thaw options.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotTruncateLog(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)">
+            <summary>
+            Enables log truncation for all instances that are part of the snapshot session.
+            </summary>
+            <remarks>
+            This function should be called only if the snapshot was created with the
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw"/> option. Otherwise, the snapshot
+            session ends after the call to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)"/>.
+            </remarks>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotTruncateLogInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)">
+            <summary>
+            Truncates the log for a specified instance during a snapshot session.
+            </summary>
+            <remarks>
+            This function should be called only if the snapshot was created with the
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw"/> option. Otherwise, the snapshot
+            session ends after the call to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)"/>.
+            </remarks>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="instance">The instance to truncat the log for.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotEnd(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotEndGrbit)">
+            <summary>
+            Notifies the engine that the snapshot session finished.
+            </summary>
+            <param name="snapid">The identifier of the snapshot session.</param>
+            <param name="grbit">Snapshot end options.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOSSnapshotAbort(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Server2003.SnapshotAbortGrbit)">
+            <summary>
+            Notifies the engine that it can resume normal IO operations after a
+            freeze period ended with a failed snapshot.
+            </summary>
+            <param name="snapid">Identifier of the snapshot session.</param>
+            <param name="grbit">Options for this call.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)">
+            <summary>
+            Initiates an external backup while the engine and database are online and active.
+            </summary>
+            <param name="instance">The instance prepare for backup.</param>
+            <param name="grbit">Backup options.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCloseFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Closes a file that was opened with JetOpenFileInstance after the
+            data from that file has been extracted using JetReadFileInstance.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="handle">The handle to close.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetEndExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Ends an external backup session. This API is the last API in a series
+            of APIs that must be called to execute a successful online
+            (non-VSS based) backup.
+            </summary>
+            <param name="instance">The instance to end the backup for.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetEndExternalBackupInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.EndExternalBackupGrbit)">
+            <summary>
+            Ends an external backup session. This API is the last API in a series
+            of APIs that must be called to execute a successful online
+            (non-VSS based) backup.
+            </summary>
+            <param name="instance">The instance to end the backup for.</param>
+            <param name="grbit">Options that specify how the backup ended.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetAttachInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of database files that should become part of
+            the backup file set. Only databases that are currently attached to the instance
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/> will be considered. These files may
+            subsequently be opened using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/> and read
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database files
+            that should be a part of the backup file set. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetLogInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of database patch files and logfiles that
+            should become part of the backup file set. These files may subsequently be
+            opened using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/> and read using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database patch files
+            and log files that should be a part of the backup file set. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTruncateLogInfoInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String@,System.Int32,System.Int32@)">
+            <summary>
+            Used during a backup initiated by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>
+            to query an instance for the names of the transaction log files that can be safely
+            deleted after the backup has successfully completed.
+            </summary>
+            <remarks>
+            It is important to note that this API does not return an error or warning if
+            the output buffer is too small to accept the full list of files that should be
+            part of the backup file set.
+            </remarks>
+            <param name="instance">The instance to get the information for.</param>
+            <param name="files">
+            Returns a list of null terminated strings describing the set of database log files
+            that can be safely deleted after the backup completes. The list of strings returned in
+            this buffer is in the same format as a multi-string used by the registry. Each
+            null-terminated string is returned in sequence followed by a final null terminator.
+            </param>
+            <param name="maxChars">
+            Maximum number of characters to retrieve.
+            </param>
+            <param name="actualChars">
+            Actual size of the file list. If this is greater than maxChars
+            then the list has been truncated.
+            </param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)">
+            <summary>
+            Opens an attached database, database patch file, or transaction log
+            file of an active instance for the purpose of performing a streaming
+            fuzzy backup. The data from these files can subsequently be read
+            through the returned handle using JetReadFileInstance. The returned
+            handle must be closed using JetCloseFileInstance. An external backup
+            of the instance must have been previously initiated using
+            JetBeginExternalBackupInstance.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="file">The file to open.</param>
+            <param name="handle">Returns a handle to the file.</param>
+            <param name="fileSizeLow">Returns the least significant 32 bits of the file size.</param>
+            <param name="fileSizeHigh">Returns the most significant 32 bits of the file size.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetReadFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_HANDLE,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves the contents of a file opened with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenFileInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.JET_HANDLE@,System.Int64@,System.Int64@)"/>.
+            </summary>
+            <param name="instance">The instance to use.</param>
+            <param name="file">The file to read from.</param>
+            <param name="buffer">The buffer to read into.</param>
+            <param name="bufferSize">The size of the buffer.</param>
+            <param name="bytesRead">Returns the amount of data read into the buffer.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetTruncateLogInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Used during a backup initiated by JetBeginExternalBackup to delete
+            any transaction log files that will no longer be needed once the
+            current backup completes successfully.
+            </summary>
+            <param name="instance">The instance to truncate.</param>
+            <returns>An error code if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginSession(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID@,System.String,System.String)">
+            <summary>
+            Initialize a new ESENT session.
+            </summary>
+            <param name="instance">The initialized instance to create the session in.</param>
+            <param name="sesid">Returns the created session.</param>
+            <param name="username">The parameter is not used.</param>
+            <param name="password">The parameter is not used.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID,System.IntPtr)">
+            <summary>
+            Associates a session with the current thread using the given context
+            handle. This association overrides the default engine requirement
+            that a transaction for a given session must occur entirely on the
+            same thread.
+            </summary>
+            <param name="sesid">The session to set the context on.</param>
+            <param name="context">The context to set.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetResetSessionContext(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Disassociates a session from the current thread. This should be
+            used in conjunction with JetSetSessionContext.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetEndSession(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.EndSessionGrbit)">
+            <summary>
+            Ends a session.
+            </summary>
+            <param name="sesid">The session to end.</param>
+            <param name="grbit">This parameter is not used.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDupSession(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_SESID@)">
+            <summary>
+            Initialize a new ESE session in the same instance as the given sesid.
+            </summary>
+            <param name="sesid">The session to duplicate.</param>
+            <param name="newSesid">Returns the new session.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetThreadStats(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS@)">
+            <summary>
+            Retrieves performance information from the database engine for the
+            current thread. Multiple calls can be used to collect statistics
+            that reflect the activity of the database engine on this thread
+            between those calls.
+            </summary>
+            <param name="threadstats">
+            Returns the thread statistics..
+            </param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.OpenTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Opens a cursor on a previously created table.
+            </summary>
+            <param name="sesid">The database session to use.</param>
+            <param name="dbid">The database to open the table in.</param>
+            <param name="tablename">The name of the table to open.</param>
+            <param name="parameters">The parameter is not used.</param>
+            <param name="parametersLength">The parameter is not used.</param>
+            <param name="grbit">Table open options.</param>
+            <param name="tableid">Returns the opened table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Close an open table.
+            </summary>
+            <param name="sesid">The session which opened the table.</param>
+            <param name="tableid">The table to close.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDupCursor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.DupCursorGrbit)">
+            <summary>
+            Duplicates an open cursor and returns a handle to the duplicated cursor.
+            If the cursor that was duplicated was a read-only cursor then the
+            duplicated cursor is also a read-only cursor.
+            Any state related to constructing a search key or updating a record is
+            not copied into the duplicated cursor. In addition, the location of the
+            original cursor is not duplicated into the duplicated cursor. The
+            duplicated cursor is always opened on the clustered index and its
+            location is always on the first row of the table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to duplicate.</param>
+            <param name="newTableid">The duplicated cursor.</param>
+            <param name="grbit">Reserved for future use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetComputeStats(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Walks each index of a table to exactly compute the number of entries
+            in an index, and the number of distinct keys in an index. This
+            information, together with the number of database pages allocated
+            for an index and the current time of the computation is stored in
+            index metadata in the database. This data can be subsequently retrieved
+            with information operations.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table that the statistics will be computed on.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)">
+            <summary>
+            Enables the application to associate a context handle known as
+            Local Storage with a cursor or the table associated with that
+            cursor. This context handle can be used by the application to
+            store auxiliary data that is associated with a cursor or table.
+            The application is later notified using a runtime callback when
+            the context handle must be released. This makes it possible to
+            associate dynamically allocated state with a cursor or table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use.</param>
+            <param name="ls">The context handle to be associated with the session or cursor.</param>
+            <param name="grbit">Set options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS@,Microsoft.Isam.Esent.Interop.LsGrbit)">
+            <summary>
+            Enables the application to retrieve the context handle known
+            as Local Storage that is associated with a cursor or the table
+            associated with that cursor. This context handle must have been
+            previously set using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)"/>. JetGetLS can also
+            be used to simultaneously fetch the current context handle for
+            a cursor or table and reset that context handle.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use.</param>
+            <param name="ls">Returns the retrieved context handle.</param>
+            <param name="grbit">Retrieve options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetCursorInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Determine whether an update of the current record of a cursor
+            will result in a write conflict, based on the current update
+            status of the record. It is possible that a write conflict will
+            ultimately be returned even if JetGetCursorInfo returns successfully.
+            because another session may update the record before the current
+            session is able to update the same record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to check.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginTransaction(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.BeginTransactionGrbit)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <param name="grbit">Transaction options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCommitTransaction(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit)">
+            <summary>
+            Commits the changes made to the state of the database during the current save point
+            and migrates them to the previous save point. If the outermost save point is committed
+            then the changes made during that save point will be committed to the state of the
+            database and the session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to commit the transaction for.</param>
+            <param name="grbit">Commit options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRollback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.RollbackTransactionGrbit)">
+            <summary>
+            Undoes the changes made to the state of the database
+            and returns to the last save point. JetRollback will also close any cursors
+            opened during the save point. If the outermost save point is undone, the
+            session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to rollback the transaction for.</param>
+            <param name="grbit">Rollback options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.JET_TABLEID@)">
+            <summary>
+            Create an empty table. The newly created table is opened exclusively.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to create the table in.</param>
+            <param name="table">The name of the table to create.</param>
+            <param name="pages">Initial number of pages in the table.</param>
+            <param name="density">
+            The default density of the table. This is used when doing sequential inserts.
+            </param>
+            <param name="tableid">Returns the tableid of the new table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDeleteTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String)">
+            <summary>
+            Deletes a table from a database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to delete the table from.</param>
+            <param name="table">The name of the table to delete.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetAddColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.JET_COLUMNID@)">
+            <summary>
+            Add a new column to an existing table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to add the column to.</param>
+            <param name="column">The name of the column.</param>
+            <param name="columndef">The definition of the column.</param>
+            <param name="defaultValue">The default value of the column.</param>
+            <param name="defaultValueSize">The size of the default value.</param>
+            <param name="columnid">Returns the columnid of the new column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDeleteColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Deletes a column from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the column from.</param>
+            <param name="column">The name of the column to be deleted.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDeleteColumn2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.DeleteColumnGrbit)">
+            <summary>
+            Deletes a column from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the column from.</param>
+            <param name="column">The name of the column to be deleted.</param>
+            <param name="grbit">Column deletion options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.String,System.Int32,System.Int32)">
+            <summary>
+            Creates an index over data in an ESE database. An index can be used to locate
+            specific data quickly.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexName">
+            Pointer to a null-terminated string that specifies the name of the index to create.
+            </param>
+            <param name="grbit">Index creation options.</param>
+            <param name="keyDescription">
+            Pointer to a double null-terminated string of null-delimited tokens.
+            </param>
+            <param name="keyDescriptionLength">
+            The length, in characters, of szKey including the two terminating nulls.
+            </param>
+            <param name="density">Initial B+ tree density.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDeleteIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Deletes an index from a database table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">A cursor on the table to delete the index from.</param>
+            <param name="index">The name of the index to be deleted.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            frees the resources associated with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of the input array.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenTempTable2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="lcid">
+            The locale ID to use to compare any Unicode key column data in the temporary table.
+            Any locale may be used as long as the appropriate language pack has been installed
+            on the machine.
+            </param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            frees the resources associated with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of the input array.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="columns">
+            Column definitions for the columns created in the temporary table.
+            </param>
+            <param name="numColumns">Number of column definitions.</param>
+            <param name="unicodeindex">
+            The Locale ID and normalization flags that will be used to compare
+            any Unicode key column data in the temporary table. When this
+            is not present then the default options are used.
+            </param>
+            <param name="grbit">Table creation options.</param>
+            <param name="tableid">
+            Returns the tableid of the temporary table. Closing this tableid
+            frees the resources associated with the temporary table.
+            </param>
+            <param name="columnids">
+            The output buffer that receives the array of column IDs generated
+            during the creation of the temporary table. The column IDs in this
+            array will exactly correspond to the input array of column definitions.
+            As a result, the size of this buffer must correspond to the size of the input array.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <remarks>
+            Introduced in Windows Vista.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="temporarytable">
+            Description of the temporary table to create on input. After a
+            successful call, the structure contains the handle to the temporary
+            table and column identifications.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnid">The columnid of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a table column, given its <see cref="T:Microsoft.Isam.Esent.Interop.JET_TABLEID"/> and name.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columnbase">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a table column, given its <see cref="T:Microsoft.Isam.Esent.Interop.JET_TABLEID"/> and <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNID"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnid">The columnid of the column.</param>
+            <param name="columnbase">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.ColInfoGrbit,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST@)">
+            <summary>
+            Retrieves information about all columns in the table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="ignored">The parameter is ignored.</param>
+            <param name="grbit">Additional options for JetGetTableColumnInfo.</param>
+            <param name="columnlist">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columndef">Filled in with information about the column.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST@)">
+            <summary>
+            Retrieves information about all columns in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="ignored">This parameter is ignored.</param>
+            <param name="columnlist">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a column in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="columnbase">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnid">The columnid of the column.</param>
+            <param name="columnbase">Filled in with information about the columns in the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetObjectInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_OBJECTLIST@)">
+            <summary>
+            Retrieves information about database objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="objectlist">Filled in with information about the objects in the database.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetObjectInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_objtyp,System.String,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO@)">
+            <summary>
+            Retrieves information about database objects.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="objtyp">The type of the object.</param>
+            <param name="objectName">The object name about which to retrieve information.</param>
+            <param name="objectinfo">Filled in with information about the objects in the database.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,System.Int32)">
+            <summary>
+            JetGetCurrentIndex function determines the name of the current
+            index of a given cursor. This name is also used to later re-select
+            that index as the current index using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)"/>. It can
+            also be used to discover the properties of that index using
+            JetGetTableIndexInfo.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to get the index name for.</param>
+            <param name="indexName">Returns the name of the index.</param>
+            <param name="maxNameLength">
+            The maximum length of the index name. Index names are no more than
+            Api.MaxNameLength characters.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Default"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Name"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.TemplateTableName"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Dbid"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32[],Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceUsage"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAlloc"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_TblInfo)">
+            <summary>
+            Retrieves various pieces of information about a table in a database.
+            </summary>
+            <remarks>
+            This overload is used with <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceOwned"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAvailable"/>.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve information about.</param>
+            <param name="result">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.UInt16@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.UInt16@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.Int32@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRenameTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String)">
+            <summary>
+            Changes the name of an existing table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the table.</param>
+            <param name="tableName">The name of the table.</param>
+            <param name="newTableName">The new name of the table.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRenameColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.String,Microsoft.Isam.Esent.Interop.RenameColumnGrbit)">
+            <summary>
+            Changes the name of an existing column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="name">The name of the column.</param>
+            <param name="newName">The new name of the column.</param>
+            <param name="grbit">Column rename options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetColumnDefaultValue(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnDefaultValueGrbit)">
+            <summary>
+            Changes the default value of an existing column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database containing the column.</param>
+            <param name="tableName">The name of the table containing the column.</param>
+            <param name="columnName">The name of the column.</param>
+            <param name="data">The new default value.</param>
+            <param name="dataSize">Size of the new default value.</param>
+            <param name="grbit">Column default value options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGotoBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32)">
+            <summary>
+            Positions a cursor to an index entry for the record that is associated with
+            the specified bookmark. The bookmark can be used with any index defined over
+            a table. The bookmark for a record can be retrieved using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="bookmark">The bookmark used to position the cursor.</param>
+            <param name="bookmarkSize">The size of the bookmark.</param>        /// <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGotoSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit)">
+            <summary>
+            Positions a cursor to an index entry that is associated with the
+            specified secondary index bookmark. The secondary index bookmark
+            must be used with the same index over the same table from which it
+            was originally retrieved. The secondary index bookmark for an index
+            entry can be retrieved using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGotoSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table cursor to position.</param>
+            <param name="secondaryKey">The buffer that contains the secondary key.</param>
+            <param name="secondaryKeySize">The size of the secondary key.</param>
+            <param name="primaryKey">The buffer that contains the primary key.</param>
+            <param name="primaryKeySize">The size of the primary key.</param>
+            <param name="grbit">Options for positioning the bookmark.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetMakeKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.MakeKeyGrbit)">
+            <summary>
+            Constructs search keys that may then be used by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+            <remarks>
+            The MakeKey functions provide datatype-specific make key functionality.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to create the key on.</param>
+            <param name="data">Column data for the current key column of the current index.</param>
+            <param name="dataSize">Size of the data.</param>
+            <param name="grbit">Key options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)">
+            <summary>
+            Efficiently positions a cursor to an index entry that matches the search
+            criteria specified by the search key in that cursor and the specified
+            inequality. A search key must have been previously constructed using
+            JetMakeKey.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="grbit">Seek options.</param>
+            <returns>An error or warning..</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)">
+            <summary>
+            Navigate through an index. The cursor can be positioned at the start or
+            end of the index and moved backwards and forwards by a specified number
+            of index entries.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="numRows">An offset which indicates how far to move the cursor.</param>
+            <param name="grbit">Move options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)">
+            <summary>
+            Temporarily limits the set of index entries that the cursor can walk using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)"/> to those starting
+            from the current index entry and ending at the index entry that matches the
+            search criteria specified by the search key in that cursor and the specified
+            bound criteria. A search key must have been previously constructed using
+            JetMakeKey.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index range on.</param>
+            <param name="grbit">Index range options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetIntersectIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXRANGE[],System.Int32,Microsoft.Isam.Esent.Interop.JET_RECORDLIST@,Microsoft.Isam.Esent.Interop.IntersectIndexesGrbit)">
+            <summary>
+            Computes the intersection between multiple sets of index entries from different secondary
+            indices over the same table. This operation is useful for finding the set of records in a
+            table that match two or more criteria that can be expressed using index ranges.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="ranges">
+            An the index ranges to intersect. The tableids in the ranges
+             must have index ranges set on them.
+            </param>
+            <param name="numRanges">
+            The number of index ranges.
+            </param>
+            <param name="recordlist">
+            Returns information about the temporary table containing the intersection results.
+            </param>
+            <param name="grbit">Intersection options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetCurrentIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetCurrentIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetCurrentIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit,System.Int32)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <param name="itagSequence">
+            Sequence number of the multi-valued column value which will be used
+            to position the cursor on the new index. This parameter is only used
+            in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.NoMove"/>. When
+            this parameter is not present or is set to zero, its value is presumed
+            to be 1.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetCurrentIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXID,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit,System.Int32)">
+            <summary>
+            Set the current index of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the index on.</param>
+            <param name="index">
+            The name of the index to be selected. If this is null or empty the primary
+            index will be selected.
+            </param>
+            <param name="indexid">
+            The id of the index to select. This id can be obtained using JetGetIndexInfo
+            or JetGetTableIndexInfo with the <see cref="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.IndexId"/> option.
+            </param>
+            <param name="grbit">
+            Set index options.
+            </param>
+            <param name="itagSequence">
+            Sequence number of the multi-valued column value which will be used
+            to position the cursor on the new index. This parameter is only used
+            in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.NoMove"/>. When
+            this parameter is not present or is set to zero, its value is presumed
+            to be 1.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetIndexRecordCount(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,System.Int32)">
+            <summary>
+            Counts the number of entries in the current index from the current position forward.
+            The current position is included in the count. The count can be greater than the
+            total number of records in the table if the current index is over a multi-valued
+            column and instances of the column have multiple-values. If the table is empty,
+            then 0 will be returned for the count.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to count the records in.</param>
+            <param name="numRecords">Returns the number of records.</param>
+            <param name="maxRecordsToCount">
+            The maximum number of records to count.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetIndexRecordCount2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int64@,System.Int64)">
+            <summary>
+            Counts the number of entries in the current index from the current position forward.
+            The current position is included in the count. The count can be greater than the
+            total number of records in the table if the current index is over a multi-valued
+            column and instances of the column have multiple-values. If the table is empty,
+            then 0 will be returned for the count.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to count the records in.</param>
+            <param name="numRecords">Returns the number of records.</param>
+            <param name="maxRecordsToCount">
+            The maximum number of records to count.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetTableSequentialGrbit)">
+            <summary>
+            Notifies the database engine that the application is scanning the entire
+            index that the cursor is positioned on. Consequently, the methods that
+            are used to access the index data will be tuned to make this scenario as
+            fast as possible.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor that will be accessing the data.</param>
+            <param name="grbit">Reserved for future use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetResetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ResetTableSequentialGrbit)">
+            <summary>
+            Notifies the database engine that the application is no longer scanning the
+            entire index the cursor is positioned on. This call reverses a notification
+            sent by JetSetTableSequential.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor that was accessing the data.</param>
+            <param name="grbit">Reserved for future use.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetRecordPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS@)">
+            <summary>
+            Returns the fractional position of the current record in the current index
+            in the form of a JET_RECPOS structure.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor positioned on the record.</param>
+            <param name="recpos">Returns the approximate fractional position of the record.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGotoPosition(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RECPOS)">
+            <summary>
+            Moves a cursor to a new location that is a fraction of the way through
+            the current index.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="recpos">The approximate position to move to.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetPrereadKeys(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit)">
+            <summary>
+            If the records with the specified keys are not in the buffer cache
+            then start asynchronous reads to bring the records into the database
+            buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="keys">
+            The keys to preread. The keys must be sorted.
+            </param>
+            <param name="keyLengths">The lengths of the keys to preread.</param>
+            <param name="keyIndex">
+            The index of the first key in the keys array to read.
+            </param>
+            <param name="keyCount">
+            The maximum number of keys to preread.
+            </param>
+            <param name="keysPreread">
+            Returns the number of keys to actually preread.
+            </param>
+            <param name="grbit">
+            Preread options. Used to specify the direction of the preread.
+            </param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Retrieves the bookmark for the record that is associated with the index entry
+            at the current position of a cursor. This bookmark can then be used to
+            reposition that cursor back to the same record using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetGotoBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32)"/>.
+            The bookmark will be no longer than <see cref="P:Microsoft.Isam.Esent.Interop.SystemParameters.BookmarkMost"/>
+            bytes.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <param name="bookmark">Buffer to contain the bookmark.</param>
+            <param name="bookmarkSize">Size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.GetSecondaryIndexBookmarkGrbit)">
+            <summary>
+            Retrieves a special bookmark for the secondary index entry at the
+            current position of a cursor. This bookmark can then be used to
+            efficiently reposition that cursor back to the same index entry
+            using JetGotoSecondaryIndexBookmark. This is most useful when
+            repositioning on a secondary index that contains duplicate keys or
+            that contains multiple index entries for the same record.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the bookmark from.</param>
+            <param name="secondaryKey">Output buffer for the secondary key.</param>
+            <param name="secondaryKeySize">Size of the secondary key buffer.</param>
+            <param name="actualSecondaryKeySize">Returns the size of the secondary key.</param>
+            <param name="primaryKey">Output buffer for the primary key.</param>
+            <param name="primaryKeySize">Size of the primary key buffer.</param>
+            <param name="actualPrimaryKeySize">Returns the size of the primary key.</param>
+            <param name="grbit">Options for the call.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRetrieveKey(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit)">
+            <summary>
+            Retrieves the key for the index entry at the current position of a cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the key from.</param>
+            <param name="data">The buffer to retrieve the key into.</param>
+            <param name="dataSize">The size of the buffer.</param>
+            <param name="actualDataSize">Returns the actual size of the data.</param>
+            <param name="grbit">Retrieve key options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRetrieveColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.IntPtr,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit,Microsoft.Isam.Esent.Interop.JET_RETINFO)">
+            <summary>
+            Retrieves a single column value from the current record. The record is that
+            record associated with the index entry at the current position of the cursor.
+            Alternatively, this function can retrieve a column from a record being created
+            in the cursor copy buffer. This function can also retrieve column data from an
+            index entry that references the current record. In addition to retrieving the
+            actual column value, JetRetrieveColumn can also be used to retrieve the size
+            of a column, before retrieving the column data itself so that application
+            buffers can be sized appropriately.
+            </summary>
+            <remarks>
+            The RetrieveColumnAs functions provide datatype-specific retrieval functions.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve the column from.</param>
+            <param name="columnid">The columnid to retrieve.</param>
+            <param name="data">The data buffer to be retrieved into.</param>
+            <param name="dataSize">The size of the data buffer.</param>
+            <param name="actualDataSize">Returns the actual size of the data buffer.</param>
+            <param name="grbit">Retrieve column options.</param>
+            <param name="retinfo">
+            If pretinfo is give as NULL then the function behaves as though an itagSequence
+            of 1 and an ibLongValue of 0 (zero) were given. This causes column retrieval to
+            retrieve the first value of a multi-valued column, and to retrieve long data at
+            offset 0 (zero).
+            </param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRetrieveColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN*,System.Int32)">
+            <summary>
+            The JetRetrieveColumns function retrieves multiple column values
+            from the current record in a single operation. An array of
+            <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN"/> structures is used to
+            describe the set of column values to be retrieved, and to describe
+            output buffers for each column value to be retrieved.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve columns from.</param>
+            <param name="retrievecolumns">
+            An array of one or more JET_RETRIEVECOLUMN structures. Each
+            structure includes descriptions of which column value to retrieve
+            and where to store returned data.
+            </param>
+            <param name="numColumns">
+            Number of structures in the array given by retrievecolumns.
+            </param>
+            <returns>
+            An error or warning.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID[],System.Int32@,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN[]@,Microsoft.Isam.Esent.Interop.JET_PFNREALLOC,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit)">
+            <summary>
+            Efficiently retrieves a set of columns and their values from the
+            current record of a cursor or the copy buffer of that cursor. The
+            columns and values retrieved can be restricted by a list of
+            column IDs, itagSequence numbers, and other characteristics. This
+            column retrieval API is unique in that it returns information in
+            dynamically allocated memory that is obtained using a
+            user-provided realloc compatible callback. This new flexibility
+            permits the efficient retrieval of column data with specific
+            characteristics (such as size and multiplicity) that are unknown
+            to the caller. This eliminates the need for the use of the discovery
+            modes of JetRetrieveColumn to determine those
+            characteristics in order to setup a final call to
+            JetRetrieveColumn that will successfully retrieve
+            the desired data.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve data from.</param>
+            <param name="numColumnids">The numbers of JET_ENUMCOLUMNIDS.</param>
+            <param name="columnids">
+            An optional array of column IDs, each with an optional array of itagSequence
+            numbers to enumerate.
+            </param>
+            <param name="numColumnValues">
+            Returns the number of column values retrieved.
+            </param>
+            <param name="columnValues">
+            Returns the enumerated column values.
+            </param>
+            <param name="allocator">
+            Callback used to allocate memory.
+            </param>
+            <param name="allocatorContext">
+            Context for the allocation callback.
+            </param>
+            <param name="maxDataSize">
+            Sets a cap on the amount of data to return from a long text or long
+            binary column. This parameter can be used to prevent the enumeration
+            of an extremely large column value.
+            </param>
+            <param name="grbit">Retrieve options.</param>
+            <returns>A warning, error or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit,System.Collections.Generic.IEnumerable{Microsoft.Isam.Esent.Interop.EnumeratedColumn}@)">
+            <summary>
+            Efficiently retrieves a set of columns and their values from the
+            current record of a cursor or the copy buffer of that cursor.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to retrieve data from.</param>
+            <param name="grbit">Enumerate options.</param>
+            <param name="enumeratedColumns">The discovered columns and their values.</param>
+            <returns>A warning or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetRecordSize(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE@,Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit)">
+            <summary>
+            Retrieves record size information from the desired location.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The cursor that will be used for the API call. The cursor must be
+            positioned on a record, or have an update prepared.
+            </param>
+            <param name="recsize">Returns the size of the record.</param>
+            <param name="grbit">Call options.</param>
+            <returns>A warning, error or success.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Deletes the current record in a database table.
+            </summary>
+            <param name="sesid">The session that opened the cursor.</param>
+            <param name="tableid">The cursor on a database table. The current row will be deleted.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)">
+            <summary>
+            Prepare a cursor for update.
+            </summary>
+            <param name="sesid">The session which is starting the update.</param>
+            <param name="tableid">The cursor to start the update for.</param>
+            <param name="prep">The type of update to prepare.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            The JetUpdate function performs an update operation including inserting a new row into
+            a table or updating an existing row. Deleting a table row is performed by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session which started the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="bookmark">Returns the bookmark of the updated record. This can be null.</param>
+            <param name="bookmarkSize">The size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <remarks>
+            JetUpdate is the final step in performing an insert or an update. The update is begun by
+            calling <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.IJetApi.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)"/> and then by calling
+            JetSetColumn
+            one or more times to set the record state. Finally, JetUpdate
+            is called to complete the update operation. Indexes are updated only by JetUpdate or and not during JetSetColumn.
+            </remarks>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetUpdate2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit)">
+            <summary>
+            The JetUpdate2 function performs an update operation including inserting a new row into
+            a table or updating an existing row. Deleting a table row is performed by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session which started the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="bookmark">Returns the bookmark of the updated record. This can be null.</param>
+            <param name="bookmarkSize">The size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <param name="grbit">Update options.</param>
+            <remarks>
+            JetUpdate is the final step in performing an insert or an update. The update is begun by
+            calling <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)"/> and then by calling
+            JetSetColumn one or more times to set the record state. Finally, JetUpdate
+            is called to complete the update operation. Indexes are updated only by JetUpdate or and not during JetSetColumn.
+            </remarks>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)">
+            <summary>
+            The JetSetColumn function modifies a single column value in a modified record to be inserted or to
+            update the current record. It can overwrite an existing value, add a new value to a sequence of
+            values in a multi-valued column, remove a value from a sequence of values in a multi-valued column,
+            or update all or part of a long value (a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>).
+            </summary>
+            <remarks>
+            The SetColumn methods provide datatype-specific overrides which may be more efficient.
+            </remarks>
+            <param name="sesid">The session which is performing the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="columnid">The columnid to set.</param>
+            <param name="data">The data to set.</param>
+            <param name="dataSize">The size of data to set.</param>
+            <param name="grbit">SetColumn options.</param>
+            <param name="setinfo">Used to specify itag or long-value offset.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Allows an application to set multiple column values in a single
+            operation. An array of <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN"/> structures is
+            used to describe the set of column values to be set, and to describe
+            input buffers for each column value to be set.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to set the columns on.</param>
+            <param name="setcolumns">
+            An array of <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN"/> structures describing the
+            data to set.
+            </param>
+            <param name="numColumns">
+            Number of entries in the setcolumns parameter.
+            </param>
+            <returns>An error code or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetLock(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.GetLockGrbit)">
+            <summary>
+            Explicitly reserve the ability to update a row, write lock, or to explicitly prevent a row from
+            being updated by any other session, read lock. Normally, row write locks are acquired implicitly as a
+            result of updating rows. Read locks are usually not required because of record versioning. However,
+            in some cases a transaction may desire to explicitly lock a row to enforce serialization, or to ensure
+            that a subsequent operation will succeed.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to use. A lock will be acquired on the current record.</param>
+            <param name="grbit">Lock options, use this to specify which type of lock to obtain.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetEscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit)">
+            <summary>
+            Performs an atomic addition operation on one column. This function allows
+            multiple sessions to update the same record concurrently without conflicts.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The cursor to update.</param>
+            <param name="columnid">
+            The column to update. This must be an escrow updatable column.
+            </param>
+            <param name="delta">The buffer containing the addend.</param>
+            <param name="deltaSize">The size of the addend.</param>
+            <param name="previousValue">
+            An output buffer that will recieve the current value of the column. This buffer
+            can be null.
+            </param>
+            <param name="previousValueLength">The size of the previousValue buffer.</param>
+            <param name="actualPreviousValueLength">Returns the actual size of the previousValue.</param>
+            <param name="grbit">Escrow update options.</param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)">
+            <summary>
+            Allows the application to configure the database engine to issue
+            notifications to the application for specific events. These
+            notifications are associated with a specific table and remain in
+            effect only until the instance containing the table is shut down
+            using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetTerm(Microsoft.Isam.Esent.Interop.JET_INSTANCE)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            A cursor opened on the table that the callback should be
+            registered on.
+            </param>
+            <param name="cbtyp">
+            The callback reasons for which the application wishes to receive notifications.
+            </param>
+            <param name="callback">The callback function.</param>
+            <param name="context">A context that will be given to the callback.</param>
+            <param name="callbackId">
+            A handle that can later be used to cancel the registration of the given
+            callback function using <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetUnregisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_HANDLE)"/>.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetUnregisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Configures the database engine to stop issuing notifications to the
+            application as previously requested through
+            <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)"/>.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            A cursor opened on the table that the callback should be
+            registered on.
+            </param>
+            <param name="cbtyp">
+            The callback reasons for which the application no longer wishes to receive notifications.
+            </param>
+            <param name="callbackId">
+            The handle of the registered callback that was returned by <see cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)"/>.
+            </param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given 
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="passes">
+            When starting an online defragmentation task, this parameter sets the maximum number of defragmentation
+            passes. When stopping an online defragmentation task, this parameter is set to the number of passes
+            performed. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="seconds">
+            When starting an online defragmentation task, this parameter sets
+            the maximum time for defragmentation. When stopping an online
+            defragmentation task, this output buffer is set to the length of
+            time used for defragmentation. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>An error code.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.Defragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDefragment2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.JET_CALLBACK,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.Defragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given 
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>An error code.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDefragment2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.JET_CALLBACK,Microsoft.Isam.Esent.Interop.DefragGrbit)">
+            <summary>
+            Starts and stops database defragmentation tasks that improves data
+            organization within a database.
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="dbid">The database to be defragmented.</param>
+            <param name="tableName">
+            Under some options defragmentation is performed for the entire database described by the given 
+            database ID, and other options (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>) require
+            the name of the table to defragment.
+            </param>
+            <param name="passes">
+            When starting an online defragmentation task, this parameter sets the maximum number of defragmentation
+            passes. When stopping an online defragmentation task, this parameter is set to the number of passes
+            performed. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="seconds">
+            When starting an online defragmentation task, this parameter sets
+            the maximum time for defragmentation. When stopping an online
+            defragmentation task, this output buffer is set to the length of
+            time used for defragmentation. This is not honored in all modes (such as <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>).
+            </param>
+            <param name="callback">Callback function that defrag uses to report progress.</param>
+            <param name="grbit">Defragmentation options.</param>
+            <returns>An error code or warning.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetIdle(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.IdleGrbit)">
+            <summary>
+            Performs idle cleanup tasks or checks the version store status in ESE.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="grbit">A combination of JetIdleGrbit flags.</param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetConfigureProcessForCrashDump(Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit)">
+            <summary>
+            Crash dump options for Watson.
+            </summary>
+            <param name="grbit">Crash dump options.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetFreeBuffer(System.IntPtr)">
+            <summary>
+            Frees memory that was allocated by a database engine call.
+            </summary>
+            <param name="buffer">
+            The buffer allocated by a call to the database engine.
+            <see cref="F:System.IntPtr.Zero"/> is acceptable, and will be ignored.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetActualSize(System.UInt32)">
+            <summary>
+            Given the size returned by ESENT, get the size
+            to return to the user.
+            </summary>
+            <param name="numBytesActual">The size returned by ESENT.</param>
+            <returns>The bookmark size to return to the user.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckDataSize``1(System.Collections.Generic.ICollection{``0},System.Int32,System.String,System.Int32,System.String)">
+            <summary>
+            Make sure the data, dataOffset and dataSize arguments match.
+            </summary>
+            <param name="data">The data buffer.</param>
+            <param name="dataOffset">The offset into the data.</param>
+            <param name="offsetArgumentName">The name of the offset argument.</param>
+            <param name="dataSize">The size of the data.</param>
+            <param name="sizeArgumentName">The name of the size argument.</param>
+            <typeparam name="T">The type of the data.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckDataSize``1(System.Collections.Generic.ICollection{``0},System.Int32,System.String)">
+            <summary>
+            Make sure the data and dataSize arguments match.
+            </summary>
+            <param name="data">The data buffer.</param>
+            <param name="dataSize">The size of the data.</param>
+            <param name="argumentName">The name of the size argument.</param>
+            <typeparam name="T">The type of the data.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckNotNull(System.Object,System.String)">
+            <summary>
+            Make sure the given object isn't null. If it is
+            then throw an ArgumentNullException.
+            </summary>
+            <param name="o">The object to check.</param>
+            <param name="paramName">The name of the parameter.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckNotNegative(System.Int64,System.String)">
+            <summary>
+            Make sure the given integer isn't negative. If it is
+            then throw an ArgumentOutOfRangeException.
+            </summary>
+            <param name="i">The integer to check.</param>
+            <param name="paramName">The name of the parameter.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.UnsupportedApiException(System.String)">
+            <summary>
+            Used when an unsupported API method is called. This
+            logs an error and returns an InvalidOperationException.
+            </summary>
+            <param name="method">The name of the method.</param>
+            <returns>The exception to throw.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.TraceFunctionCall(System.String)">
+            <summary>
+            Trace a call to an ESENT function.
+            </summary>
+            <param name="function">The name of the function being called.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.Err(System.Int32)">
+            <summary>
+            Can be used to trap ESENT errors.
+            </summary>
+            <param name="err">The error being returned.</param>
+            <returns>The error.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.TraceErr(System.Int32)">
+            <summary>
+            Trace an error generated by a call to ESENT.
+            </summary>
+            <param name="err">The error to trace.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.ConvertEnumColumnids(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID},System.Int32,Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNID*)">
+            <summary>
+            Convert managed JET_ENUMCOLUMNID objects to NATIVE_ENUMCOLUMNID
+            structures.
+            </summary>
+            <param name="columnids">The columnids to convert.</param>
+            <param name="numColumnids">The number of columnids to convert.</param>
+            <param name="nativecolumnids">The array to store the converted columnids.</param>
+            <returns>The total number of tag entries in the converted structures.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.ConvertEnumColumnidTags(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID},System.Int32,Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNID*,System.UInt32*)">
+            <summary>
+            Convert managed rgtagSequence to unmanaged rgtagSequence.
+            </summary>
+            <param name="columnids">The columnids to convert.</param>
+            <param name="numColumnids">The number of columnids to covert.</param>
+            <param name="nativecolumnids">The unmanaged columnids to add the tags to.</param>
+            <param name="tags">
+            Memory to use for converted rgtagSequence. This should be large enough to
+            hold all columnids.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.ConvertEnumerateColumnsResult(Microsoft.Isam.Esent.Interop.JET_PFNREALLOC,System.IntPtr,System.UInt32,Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN*,System.Int32@,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN[]@)">
+            <summary>
+            Convert the native (unmanaged) results of JetEnumerateColumns to
+            managed objects. This uses the allocator callback to free some
+            memory as the data is converted.
+            </summary>
+            <param name="allocator">The allocator callback used.</param>
+            <param name="allocatorContext">The allocator callback context.</param>
+            <param name="numEnumColumn">Number of NATIVE_ENUMCOLUMN structures returned.</param>
+            <param name="nativeenumcolumns">NATIVE_ENUMCOLUMN structures.</param>
+            <param name="numColumnValues">Returns the number of converted JET_ENUMCOLUMN objects.</param>
+            <param name="columnValues">Returns the convertd column values.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetNativecolumndefs(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_COLUMNDEF},System.Int32)">
+            <summary>
+            Make an array of native columndefs from JET_COLUMNDEFs.
+            </summary>
+            <param name="columns">Columndefs to convert.</param>
+            <param name="numColumns">Number of columndefs to convert.</param>
+            <returns>An array of native columndefs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetNativeConditionalColumns(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN},System.Boolean,Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Make native conditionalcolumn structures from the managed ones.
+            </summary>
+            <param name="conditionalColumns">The conditional columns to convert.</param>
+            <param name="useUnicodeData">Wehether to convert the strings with UTF-16.</param>
+            <param name="handles">The handle collection used to pin the data.</param>
+            <returns>Pinned native versions of the conditional columns.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetNativeColumnCreates(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE},System.Boolean,Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Make native columncreate structures from the managed ones.
+            </summary>
+            <param name="managedColumnCreates">Column create structures to convert.</param>
+            <param name="useUnicodeData">Wehether to convert the strings with UTF-16.</param>
+            <param name="handles">The handle collection used to pin the data.</param>
+            <returns>Pinned native versions of the column creates.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetNativeIndexCreates(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Make native indexcreate structures from the managed ones.
+            Only supports Ascii data, since it could be used on XP.
+            </summary>
+            <param name="managedIndexCreates">Index create structures to convert.</param>
+            <param name="handles">The handle collection used to pin the data.</param>
+            <returns>Pinned native versions of the index creates.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetNativeIndexCreate1s(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Make native indexcreate structures from the managed ones.
+            Only supports Unicode data, since it was introduced in Vista.
+            </summary>
+            <param name="managedIndexCreates">Index create structures to convert.</param>
+            <param name="handles">The handle collection used to pin the data.</param>
+            <returns>Pinned native versions of the index creates.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetNativeIndexCreate2s(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Make native indexcreate structures from the managed ones.
+            Only supports Unicode data, since it was introduced in Win7.
+            </summary>
+            <param name="managedIndexCreates">Index create structures to convert.</param>
+            <param name="handles">The handle collection used to pin the data.</param>
+            <returns>Pinned native versions of the index creates.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.SetColumnids(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_COLUMNDEF},System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_COLUMNID},System.Collections.Generic.IList{System.UInt32},System.Int32)">
+            <summary>
+            Set managed columnids from unmanaged columnids. This also sets the columnids
+            in the columndefs.
+            </summary>
+            <param name="columns">The column definitions.</param>
+            <param name="columnids">The columnids to set.</param>
+            <param name="nativecolumnids">The native columnids.</param>
+            <param name="numColumns">The number of columnids to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CreateIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CreateIndexes1(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CreateIndexes2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.ConvertInstanceInfosUnicode(System.UInt32,Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO*)">
+            <summary>
+            Convert native instance info structures to managed, treating the
+            unmanaged strings as Unicode.
+            </summary>
+            <param name="nativeNumInstance">The number of native structures.</param>
+            <param name="nativeInstanceInfos">
+            A pointer to the native structures. This pointer will be freed with JetFreeBuffer.
+            </param>
+            <returns>
+            An array of JET_INSTANCE_INFO structures created from the unmanaged.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.ConvertInstanceInfosAscii(System.UInt32,Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO*)">
+            <summary>
+            Convert native instance info structures to managed, treating the
+            unmanaged string as Unicode.
+            </summary>
+            <param name="nativeNumInstance">The number of native structures.</param>
+            <param name="nativeInstanceInfos">
+            A pointer to the native structures. This pointer will be freed with JetFreeBuffer.
+            </param>
+            <returns>
+            An array of JET_INSTANCE_INFO structures created from the unmanaged.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckSupportsServer2003Features(System.String)">
+            <summary>
+            Check that ESENT supports Server 2003 features. Throws an exception if Server 2003 features
+            aren't supported.
+            </summary>
+            <param name="api">The API that is being called.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckSupportsVistaFeatures(System.String)">
+            <summary>
+            Check that ESENT supports Vista features. Throws an exception if Vista features
+            aren't supported.
+            </summary>
+            <param name="api">The API that is being called.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckSupportsWindows7Features(System.String)">
+            <summary>
+            Check that ESENT supports Windows7 features. Throws an exception if Windows7 features
+            aren't supported.
+            </summary>
+            <param name="api">The API that is being called.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckSupportsWindows8Features(System.String)">
+            <summary>
+            Check that ESENT supports Windows8 features. Throws an exception if Windows8 features
+            aren't supported.
+            </summary>
+            <param name="api">The API that is being called.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CheckSupportsWindows10Features(System.String)">
+            <summary>
+            Check that ESENT supports Windows10 features. Throws an exception if Windows10 features
+            aren't supported.
+            </summary>
+            <param name="api">The API that is being called.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CreateTableColumnIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT@)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="operationContext">An operation context to set.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="operationContext">An operation context to set.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetThreadStats(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2@)">
+            <summary>
+            Retrieves performance information from the database engine for the
+            current thread. Multiple calls can be used to collect statistics
+            that reflect the activity of the database engine on this thread
+            between those calls. 
+            </summary>
+            <param name="threadstats">
+            Returns the thread statistics..
+            </param>
+            <returns>An error code if the operation fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetBeginTransaction3(Microsoft.Isam.Esent.Interop.JET_SESID,System.Int64,Microsoft.Isam.Esent.Interop.BeginTransactionGrbit)">
+            <summary>
+            Causes a session to enter a transaction or create a new save point in an existing
+            transaction.
+            </summary>
+            <param name="sesid">The session to begin the transaction for.</param>
+            <param name="userTransactionId">An optional identifier supplied by the user for identifying the transaction.</param>
+            <param name="grbit">Transaction options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCommitTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit,System.TimeSpan,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID@)">
+            <summary>
+            Commits the changes made to the state of the database during the current save point
+            and migrates them to the previous save point. If the outermost save point is committed
+            then the changes made during that save point will be committed to the state of the
+            database and the session will exit the transaction.
+            </summary>
+            <param name="sesid">The session to commit the transaction for.</param>
+            <param name="grbit">Commit options.</param>
+            <param name="durableCommit">Duration to commit lazy transaction.</param>
+            <param name="commitId">Commit-id associated with this commit record.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetErrorInfo(Microsoft.Isam.Esent.Interop.JET_err,Microsoft.Isam.Esent.Interop.Windows8.JET_ERRINFOBASIC@)">
+            <summary>
+            Gets extended information about an error.
+            </summary>
+            <param name="error">The error code about which to retrieve information.</param>
+            <param name="errinfo">Information about the specified error code.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetResizeDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit)">
+            <summary>
+            Resizes a currently open database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to grow.</param>
+            <param name="desiredPages">The desired size of the database, in pages.</param>
+            <param name="actualPages">The size of the database, in pages, after the call. </param>
+            <param name="grbit">Resize options.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <remarks>
+            <para>
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>
+            are very similar, and appear to take the same arguments. The difference is in the
+            implementation. JetCreateIndex2 uses LCIDs for Unicode indices (e.g. 1033), while
+            JetCreateIndex4 uses Locale Names (e.g. "en-US" or "de-DE". LCIDs are older, and not as well
+            supported in newer version of windows.
+            </para>
+            </remarks>
+            <returns>An error code.</returns>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.String,System.Int32,System.Int32)"/>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetOpenTemporaryTable2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="temporarytable">
+            Description of the temporary table to create on input. After a
+            successful call, the structure contains the handle to the temporary
+            table and column identifications.
+            </param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetCreateTableColumnIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Int32@)">
+            <summary>
+            Gets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set, see
+            <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> and <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam"/>.</param>
+            <param name="value">A 32-bit integer to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Gets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set, see
+            <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> and <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam"/>.</param>
+            <param name="data">A byte array to retrieve.</param>
+            <param name="length">AThe length of the data array.</param>
+            <param name="actualDataSize">The actual size of the data field.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Int32)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="valueToSet">A 32-bit integer to set.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,System.Byte[],System.Int32)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="data">Data to set in this session parameter.</param>
+            <param name="dataSize">Size of the data provided.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to use.</param>
+            <param name="tablename">The name of the table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetGetTableIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to retrieve index information about.</param>
+            <param name="indexname">The name of the index to retrieve information about.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetPrereadIndexRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_RANGE[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)">
+            <summary>
+            If the records with the specified key rangess are not in the buffer
+            cache, then start asynchronous reads to bring the records into the
+            database buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="indexRanges">The key ranges to preread.</param>
+            <param name="rangeIndex">The index of the first key range in the array to read.</param>
+            <param name="rangeCount">The maximum number of key ranges to preread.</param>
+            <param name="rangesPreread">Returns the number of keys actually preread.</param>
+            <param name="columnsPreread">List of column ids for long value columns to preread.</param>
+            <param name="grbit">Preread options. Used to specify the direction of the preread.</param>
+            <returns>
+            An error if the call fails.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetPrereadKeyRanges(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Byte[][],System.Int32[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[],Microsoft.Isam.Esent.Interop.Windows8.PrereadIndexRangesGrbit)">
+            <summary>
+            If the records with the specified key ranges are not in the
+            buffer cache then start asynchronous reads to bring the records
+            into the database buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="keysStart">The start of key ranges to preread.</param>
+            <param name="keyStartLengths">The lengths of the start keys to preread.</param>
+            <param name="keysEnd">The end of key rangess to preread.</param>
+            <param name="keyEndLengths">The lengths of the end keys to preread.</param>
+            <param name="rangeIndex">The index of the first key range in the array to read.</param>
+            <param name="rangeCount">The maximum number of key ranges to preread.</param>
+            <param name="rangesPreread">Returns the number of keys actually preread.</param>
+            <param name="columnsPreread">List of column ids for long value columns to preread.</param>
+            <param name="grbit">Preread options. Used to specify the direction of the preread.</param>
+            <returns>An error or warning.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.JetSetCursorFilter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Windows8.JET_INDEX_COLUMN[],Microsoft.Isam.Esent.Interop.Windows8.CursorFilterGrbit)">
+            <summary>
+            Set an array of simple filters for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)"/>
+            </summary>
+            <param name="sesid">The session to use for the call.</param>
+            <param name="tableid">The cursor to position.</param>
+            <param name="filters">Simple record filters.</param>
+            <param name="grbit">Move options.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetNativeIndexCreate3s(System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},Microsoft.Isam.Esent.Interop.Implementation.GCHandleCollection@)">
+            <summary>
+            Make native indexcreate structures from the managed ones.
+            </summary>
+            <param name="managedIndexCreates">Index create structures to convert.</param>
+            <param name="handles">The handle collection used to pin the data.</param>
+            <returns>Pinned native versions of the index creates.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CreateIndexes3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Collections.Generic.IList{Microsoft.Isam.Esent.Interop.JET_INDEXCREATE},System.Int32)">
+            <summary>
+            Creates indexes over data in an ESE database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to create the index on.</param>
+            <param name="indexcreates">Array of objects describing the indexes to be created.</param>
+            <param name="numIndexCreates">Number of index description objects.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.CreateTableColumnIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Creates a table, adds columns, and indices on that table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to which to add the new table.</param>
+            <param name="tablecreate">Object describing the table to create.</param>
+            <returns>An error if the call fails.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.ReportUnhandledException(System.Exception,System.String)">
+            <summary>
+            Reports the exception to a central authority.
+            </summary>
+            <param name="exception">An unhandled exception.</param>
+            <param name="description">A string description of the scenario.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.DetermineCapabilities">
+            <summary>
+            Calculates the capabilities of the current Esent version.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.JetApi.GetVersionFromEsent">
+            <summary>
+            Create an instance and get the current version of Esent.
+            </summary>
+            <returns>The current version of Esent.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities">
+            <summary>
+            Describes the functionality exposed by an object which implements IJetApi.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsServer2003Features">
+            <summary>
+            Gets or sets a value indicating whether Windows Server 2003 features
+            (in the Interop.Server2003 namespace) are supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsVistaFeatures">
+            <summary>
+            Gets or sets a value indicating whether Vista features (in the
+            Interop.Vista namespace) are supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsWindows7Features">
+            <summary>
+            Gets or sets a value indicating whether Win7 features (in the
+            Interop.Windows7 namespace) are supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsWindows8Features">
+            <summary>
+            Gets or sets a value indicating whether Win8 features (in the
+            Interop.Windows8 namespace) are supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsWindows81Features">
+            <summary>
+            Gets or sets a value indicating whether Win8.1 features (in the
+            Interop.Windows81 namespace) are supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsWindows10Features">
+            <summary>
+            Gets or sets a value indicating whether Win10 features (in the
+            Interop.Windows10 namespace) are supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsUnicodePaths">
+            <summary>
+            Gets or sets a value indicating whether unicode file paths are supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.SupportsLargeKeys">
+            <summary>
+            Gets or sets a value indicating whether large (> 255 byte) keys are supported.
+            The key size for an index can be specified in the <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE"/>
+            object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.JetCapabilities.ColumnsKeyMost">
+            <summary>
+            Gets or sets the maximum number of components in a sort or index key.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Implementation.NativeMethods">
+            <summary>
+            Native interop for functions in esent.dll.
+            </summary>
+            <summary>
+            Native interop for Windows10 functions in ese.dll.
+            </summary>
+            <summary>
+            Native interop for Windows8 functions in ese.dll.
+            </summary>
+            <summary>
+            Configuration for functions in esent.dll.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Implementation.NativeMethods.EsentCharSet">
+            <summary>
+            The CharSet for the methods in the DLL.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Implementation.NativeMethods.#cctor">
+            <summary>
+            Initializes static members of the NativeMethods class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Implementation.NativeMethods.Encoding">
+            <summary>
+            Gets encoding to be used when converting data to/from byte arrays.
+            This should match the CharSet above.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Implementation.NativeMethods.EsentDll">
+            <summary>
+            The name of the DLL that the methods should be loaded from.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.GenericEnumerable`1">
+            <summary>
+            IEnumerable class that takes a delegate to create the enumerator it returns.
+            </summary>
+            <typeparam name="T">The type returned by the enumerator.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GenericEnumerable`1.enumeratorCreator">
+            <summary>
+            The delegate used to create the enumerator.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.GenericEnumerable`1.#ctor(Microsoft.Isam.Esent.Interop.GenericEnumerable{`0}.CreateEnumerator)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.GenericEnumerable`1"/> class.
+            </summary>
+            <param name="enumeratorCreator">
+            The enumerator creator.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.GenericEnumerable`1.CreateEnumerator">
+            <summary>
+            IEnumerator creating delegate.
+            </summary>
+            <returns>A new enumerator.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.GenericEnumerable`1.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> 
+            that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.GenericEnumerable`1.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.IEnumerator"/>
+            object that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CreateInstanceGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String,System.String,Microsoft.Isam.Esent.Interop.CreateInstanceGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateInstanceGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.InitGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.InitGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.RecoveryWithoutUndo"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.TruncateLogsAfterRecovery"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ReplayMissingMapEntryDB"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.LogStreamMustExist"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ReplayIgnoreLostLogs"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.KeepDbAttachedAtEndOfRecovery"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.InitGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TermGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetTerm2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.TermGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Dirty"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TermGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TermGrbit.Complete">
+            <summary>
+            Requests that the instance be shut down cleanly. Any optional
+            cleanup work that would ordinarily be done in the background at
+            run time is completed immediately.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TermGrbit.Abrupt">
+            <summary>
+            Requests that the instance be shut down as quickly as possible.
+            Any optional work that would ordinarily be done in the
+            background at run time is abandoned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TermGrbit.StopBackup">
+            <summary>
+            Interrupts and fails any on-going backup.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.EnableCreateDbBackgroundMaintenance"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit.OverwriteExisting">
+            <summary>
+            By default, if JetCreateDatabase is called and the database already exists,
+            the Api call will fail and the original database will not be overwritten.
+            OverwriteExisting changes this behavior, and the old database
+            will be overwritten with a new one.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit.RecoveryOff">
+            <summary>
+            Turns off logging. Setting this bit loses the ability to replay log files
+            and recover the database to a consistent usable state after a crash.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDetachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit.ForceDetach">
+            <summary>
+            If <see cref="F:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit.ForceDetach"/> is used, <see cref="T:Microsoft.Isam.Esent.Interop.EsentForceDetachNotAllowedException"/> will be returned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit.ForceClose">
+            <summary>
+            <see cref="F:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit.ForceClose"/> is no longer used.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit.ForceCloseAndDetach">
+            <summary>
+            If <see cref="F:Microsoft.Isam.Esent.Interop.DetachDatabaseGrbit.ForceCloseAndDetach"/> is used, <see cref="T:Microsoft.Isam.Esent.Interop.EsentForceDetachNotAllowedException"/> will be returned.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.DeleteUnicodeIndexes"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.EnableAttachDbBackgroundMaintenance"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.PurgeCacheOnAttach"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit.ReadOnly">
+            <summary>
+             Prevents modifications to the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit.DeleteCorruptIndexes">
+            <summary>
+            If JET_paramEnableIndexChecking has been set, all indexes over Unicode
+            data will be deleted.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit.ReadOnly">
+            <summary>
+            Prevents modifications to the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit.Exclusive">
+            <summary>
+            Allows only a single session to attach a database.
+            Normally, several sessions can open a database.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CloseDatabaseGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCloseDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.CloseDatabaseGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CloseDatabaseGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CompactGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCompact(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS,Microsoft.Isam.Esent.Interop.JET_CONVERT,Microsoft.Isam.Esent.Interop.CompactGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CompactGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CompactGrbit.Stats">
+            <summary>
+            Causes JetCompact to dump statistics on the source database to a file
+             named DFRGINFO.TXT. Statistics include the name of each table in
+            source database, number of rows in each table, total size in bytes of
+            all rows in each table, total size in bytes of all columns of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/> or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>
+            that were large enough to be stored separate from the record, number
+            of clustered index leaf pages, and the number of long value leaf pages.
+            In addition, summary statistics including the size of the source database,
+            destination database, time required for database compaction, temporary
+            database space are all dumped as well.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CompactGrbit.Repair">
+            <summary>
+            Used when the source database is known to be corrupt. It enables a
+            whole set of new behaviors intended to salvage as much data as
+            possible from the source database. JetCompact with this option set
+            may return <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.Success"/> but not copy all of the data
+            created in the source database. Data that was in damaged portions of
+            the source database will be skipped.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SnapshotFreezeGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotFreeze(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.SnapshotFreezeGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SnapshotFreezeGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotPrepare(Microsoft.Isam.Esent.Interop.JET_OSSNAPID@,Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ExplicitPrepare"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit.IncrementalSnapshot">
+            <summary>
+            Only logfiles will be taken.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SnapshotPrepareGrbit.CopySnapshot">
+            <summary>
+            A copy snapshot (normal or incremental) with no log truncation.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SnapshotThawGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SnapshotThawGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.BackupGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,Microsoft.Isam.Esent.Interop.BackupGrbit,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BackupGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BackupGrbit.Incremental">
+            <summary>
+            Creates an incremental backup as opposed to a full backup. This
+            means that only the log files created since the last full or
+            incremental backup will be backed up.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BackupGrbit.Atomic">
+            <summary>
+            Creates a full backup of the database. This allows the preservation
+            of an existing backup in the same directory if the new backup fails.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBeginExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BeginExternalBackupGrbit.Incremental">
+            <summary>
+            Creates an incremental backup as opposed to a full backup. This
+            means that only the log files since the last full or incremental
+            backup will be backed up.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EndExternalBackupGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEndExternalBackupInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.TruncateDone"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EndExternalBackupGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EndExternalBackupGrbit.Normal">
+            <summary>
+            The client application finished the backup completely, and is ending normally.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EndExternalBackupGrbit.Abort">
+            <summary>
+            The client application is aborting the backup.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.BeginTransactionGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBeginTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.BeginTransactionGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BeginTransactionGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.BeginTransactionGrbit.ReadOnly">
+            <summary>
+            The transaction will not modify the database. If an update is attempted,
+            that operation will fail with <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.TransReadOnly"/>. This
+            option is ignored unless it is requested when the given session is not
+            already in a transaction.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CommitTransactionGrbit">
+            <summary>
+            Options for JetCommitTransaction.
+            </summary>
+            <seealso cref = "F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.WaitAllLevel0Commit"/>
+            <seealso cref = "F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ForceNewLog"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CommitTransactionGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CommitTransactionGrbit.LazyFlush">
+            <summary>
+            The transaction is committed normally but this Api does not wait for
+            the transaction to be flushed to the transaction log file before returning
+            to the caller. This drastically reduces the duration of a commit operation
+            at the cost of durability. Any transaction that is not flushed to the log
+            before a crash will be automatically aborted during crash recovery during
+            the next call to JetInit. If <see cref="F:Microsoft.Isam.Esent.Interop.CommitTransactionGrbit.WaitLastLevel0Commit"/> or <see cref="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.WaitAllLevel0Commit"/>
+            are specified, this option is ignored.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CommitTransactionGrbit.WaitLastLevel0Commit">
+            <summary>
+             If the session has previously committed any transactions and they have not yet
+             been flushed to the transaction log file, they should be flushed immediately.
+             This Api will wait until the transactions have been flushed before returning
+             to the caller. This is useful if the application has previously committed several
+             transactions using JET_bitCommitLazyFlush and now wants to flush all of them to disk.
+            </summary>
+            <remarks>
+            This option may be used even if the session is not currently in a transaction.
+            This option cannot be used in combination with any other option.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.RollbackTransactionGrbit">
+            <summary>
+            Options for JetRollbackTransaction.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RollbackTransactionGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RollbackTransactionGrbit.RollbackAll">
+            <summary>
+            This option requests that all changes made to the state of the
+            database during all save points be undone. As a result, the
+            session will exit the transaction.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EndSessionGrbit">
+            <summary>
+            Options for JetEndSession.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EndSessionGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.OpenTableGrbit">
+            <summary>
+            Options for JetOpenTable.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.DenyWrite">
+            <summary>
+            This table cannot be opened for write access by another session.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.DenyRead">
+            <summary>
+            This table cannot be opened for read access by another session.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.ReadOnly">
+            <summary>
+            Request read-only access to the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.Updatable">
+            <summary>
+            Request write access to the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.PermitDDL">
+            <summary>
+            Allow DDL modifications to a table flagged as FixedDDL. This option
+            must be used with DenyRead.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.NoCache">
+            <summary>
+            Do not cache pages for this table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.Preread">
+            <summary>
+            Provides a hint that the table is probably not in the buffer cache, and
+            that pre-reading may be beneficial to performance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.Sequential">
+            <summary>
+            Assume a sequential access pattern and prefetch database pages.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass1">
+            <summary>
+            Table belongs to stats class 1.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass2">
+            <summary>
+            Table belongs to stats class 2.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass3">
+            <summary>
+            Table belongs to stats class 3.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass4">
+            <summary>
+            Table belongs to stats class 4.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass5">
+            <summary>
+            Table belongs to stats class 5.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass6">
+            <summary>
+            Table belongs to stats class 6.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass7">
+            <summary>
+            Table belongs to stats class 7.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass8">
+            <summary>
+            Table belongs to stats class 8.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass9">
+            <summary>
+            Table belongs to stats class 9.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass10">
+            <summary>
+            Table belongs to stats class 10.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass11">
+            <summary>
+            Table belongs to stats class 11.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass12">
+            <summary>
+            Table belongs to stats class 12.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass13">
+            <summary>
+            Table belongs to stats class 13.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass14">
+            <summary>
+            Table belongs to stats class 14.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.OpenTableGrbit.TableClass15">
+            <summary>
+            Table belongs to stats class 15.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.DupCursorGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDupCursor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.DupCursorGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DupCursorGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.LsGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS@,Microsoft.Isam.Esent.Interop.LsGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.LsGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.LsGrbit.Reset">
+            <summary>
+            The context handle for the chosen object should be reset to JET_LSNil.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.LsGrbit.Cursor">
+            <summary>
+            Specifies the context handle should be associated with the given cursor.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.LsGrbit.Table">
+            <summary>
+            Specifies that the context handle should be associated with the
+            table associated with the given cursor. It is illegal to use this
+            option with <see cref="F:Microsoft.Isam.Esent.Interop.LsGrbit.Cursor"/>.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SetColumnGrbit">
+            <summary>
+            Options for the <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)"/>
+            and its associated overloads.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Compressed"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Uncompressed"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.AppendLV">
+            <summary>
+            This option is used to append data to a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>. The same behavior can be achieved by determining
+            the size of the existing long value and specifying ibLongValue in psetinfo.
+            However, its simpler to use this grbit since knowing the size of the existing
+            column value is not necessary.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.OverwriteLV">
+            <summary>
+            This option is used replace the existing long value with the newly provided
+            data. When this option is used, it is as though the existing long value has
+            been set to 0 (zero) length prior to setting the new data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.RevertToDefaultValue">
+            <summary>
+            This option is only applicable for tagged, sparse or multi-valued columns.
+            It causes the column to return the default column value on subsequent retrieve
+            column operations. All existing column values are removed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.SeparateLV">
+            <summary>
+            This option is used to force a long value, columns of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>, to be stored separately from the remainder of record
+            data. This occurs normally when the size of the long value prevents it from being
+            stored with remaining record data. However, this option can be used to force the
+            long value to be stored separately. Note that long values four bytes in size
+            of smaller cannot be forced to be separate. In such cases, the option is ignored.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.SizeLV">
+            <summary>
+            This option is used to interpret the input buffer as a integer number of bytes
+            to set as the length of the long value described by the given columnid and if
+            provided, the sequence number in psetinfo->itagSequence. If the size given is
+            larger than the existing column value, the column will be extended with 0s.
+            If the size is smaller than the existing column value then the value will be
+            truncated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.UniqueMultiValues">
+            <summary>
+            This option is used to enforce that all values in a multi-valued column are
+            distinct. This option compares the source column data, without any
+            transformations, to other existing column values and an error is returned
+            if a duplicate is found. If this option is given, then AppendLV, OverwriteLV
+            and SizeLV cannot also be given.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.UniqueNormalizedMultiValues">
+            <summary>
+            This option is used to enforce that all values in a multi-valued column are
+            distinct. This option compares the key normalized transformation of column
+            data, to other similarly transformed existing column values and an error is
+            returned if a duplicate is found. If this option is given, then AppendLV,
+            OverwriteLV and SizeLV cannot also be given.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.ZeroLength">
+            <summary>
+            This option is used to set a value to zero length. Normally, a column value
+            is set to NULL by passing a cbMax of 0 (zero). However, for some types, like
+            JET_coltyp.Text, a column value can be 0 (zero) length instead of NULL, and
+            this option is used to differentiate between NULL and 0 (zero) length.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnGrbit.IntrinsicLV">
+            <summary>
+            Try to store long-value columns in the record, even if they exceed the default
+            separation size.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit">
+            <summary>
+            Options for JetRetrieveColumn.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.RetrieveCopy">
+            <summary>
+             This flag causes retrieve column to retrieve the modified value instead of
+             the original value. If the value has not been modified, then the original
+             value is retrieved. In this way, a value that has not yet been inserted or
+             updated may be retrieved during the operation of inserting or updating a record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.RetrieveFromIndex">
+            <summary>
+            This option is used to retrieve column values from the index, if possible,
+            without accessing the record. In this way, unnecessary loading of records
+            can be avoided when needed data is available from index entries themselves.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.RetrieveFromPrimaryBookmark">
+            <summary>
+            This option is used to retrieve column values from the index bookmark,
+            and may differ from the index value when a column appears both in the
+            primary index and the current index. This option should not be specified
+            if the current index is the clustered, or primary, index. This bit cannot
+            be set if RetrieveFromIndex is also set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.RetrieveTag">
+            <summary>
+            This option is used to retrieve the sequence number of a multi-valued
+            column value in JET_RETINFO.itagSequence. Retrieving the sequence number
+            can be a costly operation and should only be done if necessary.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.RetrieveNull">
+            <summary>
+            This option is used to retrieve multi-valued column NULL values. If
+            this option is not specified, multi-valued column NULL values will
+            automatically be skipped.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.RetrieveIgnoreDefault">
+            <summary>
+            This option affects only multi-valued columns and causes a NULL
+            value to be returned when the requested sequence number is 1 and
+            there are no set values for the column in the record.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit,System.Collections.Generic.IEnumerable{Microsoft.Isam.Esent.Interop.EnumeratedColumn}@)"/>
+            and its associated overloads.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.EnumerateIgnoreUserDefinedDefault"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.EnumerateInRecordOnly"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.EnumerateCompressOutput">
+            <summary>
+            When enumerating column values, all columns for which we are retrieving
+            all values and that have only one non-NULL column value may be returned
+            in a compressed format. The status for such columns will be set to
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/> and the size of the column value
+            and the memory containing the column value will be returned directly in
+            the <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN"/> structure. It is not guaranteed that
+            all eligible columns are compressed in this manner. See
+            <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN"/> for more information.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.EnumerateCopy">
+            <summary>
+            This option indicates that the modified column values of the record
+            should be enumerated rather than the original column values. If a
+            column value has not been modified, the original column value is
+            enumerated. In this way, a column value that has not yet been inserted
+            or updated may be enumerated when inserting or updating a record.
+            </summary>
+            <remarks>
+            This option is identical to <see cref="F:Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit.RetrieveCopy"/>.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.EnumerateIgnoreDefault">
+            <summary>
+            If a given column is not present in the record then no column value
+            will be returned. Ordinarily, the default value for the column,
+            if any, would be returned in this case. It is guaranteed that if the
+            column is set to a value different than the default value then that
+            different value will be returned (that is, if a column with a
+            default value is explicitly set to NULL then a NULL will be returned
+            as the value for that column). Even if this option is requested, it
+            is still possible to see a column value that happens to be equal to
+            the default value. No effort is made to remove column values that
+            match their default values.
+            It is important to remember that this option affects the output of
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit,System.Collections.Generic.IEnumerable{Microsoft.Isam.Esent.Interop.EnumeratedColumn}@)"/>
+            and its associated overloads when used with
+            <see cref="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.EnumeratePresenceOnly"/> or
+            <see cref="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.EnumerateTaggedOnly"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.EnumeratePresenceOnly">
+            <summary>
+            If a non-NULL value exists for the requested column or column value
+            then the associated data is not returned. Instead, the associated
+            status for that column or column value will be set to
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnPresent"/>. If the column or column value
+            is NULL then <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNull"/> will be returned as usual.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit.EnumerateTaggedOnly">
+            <summary>
+            When enumerating all column values in the record (for example,that is
+            when numColumnids is zero), only tagged column values will be returned.
+            This option is not allowed when enumerating a specific array of column IDs.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetRecordSize(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE@,Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit.InCopyBuffer">
+            <summary>
+            Retrieve the size of the record that is in the copy buffer prepared
+            or update. Otherwise, the tableid must be positioned on a record,
+            and that record will be used.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit.RunningTotal">
+            <summary>
+            The JET_RECSIZE is not zeroed before filling the contents, effectively
+            acting as an accumulation of the statistics for multiple records visited
+            or updated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit.Local">
+            <summary>
+            Ignore non-intrinsic Long Values. Only the local record on the page
+            will be used.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.GetSecondaryIndexBookmarkGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.GetSecondaryIndexBookmarkGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GetSecondaryIndexBookmarkGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGotoSecondaryIndexBookmark(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GotoSecondaryIndexBookmarkGrbit.BookmarkPermitVirtualCurrency">
+            <summary>
+            In the event that the index entry can no longer be found, the cursor
+            will be left positioned where that index entry was previously found.
+            The operation will still fail with JET_errRecordDeleted; however,
+            it will be possible to move to the next or previous index entry
+            relative to the index entry that is now missing.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.MoveGrbit">
+            <summary>
+            Options for JetMove.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MoveGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MoveGrbit.MoveKeyNE">
+            <summary>
+            Moves the cursor forward or backward by the number of index entries
+            required to skip the requested number of index key values encountered
+            in the index. This has the effect of collapsing index entries with
+            duplicate key values into a single index entry.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.MakeKeyGrbit">
+            <summary>
+            Options for JetMakeKey.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.NewKey">
+            <summary>
+            A new search key should be constructed. Any previously existing search
+            key is discarded.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.NormalizedKey">
+            <summary>
+            When this option is specified, all other options are ignored, any
+            previously existing search key is discarded, and the contents of the
+            input buffer are loaded as the new search key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.KeyDataZeroLength">
+            <summary>
+            If the size of the input buffer is zero and the current key column
+            is a variable length column, this option indicates that the input
+            buffer contains a zero length value. Otherwise, an input buffer size
+            of zero would indicate a NULL value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.StrLimit">
+            <summary>
+            This option indicates that the search key should be constructed
+            such that any key columns that come after the current key column
+            should be considered to be wildcards.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.SubStrLimit">
+            <summary>
+            This option indicates that the search key should be constructed
+            such that the current key column is considered to be a prefix
+            wildcard and that any key columns that come after the current
+            key column should be considered to be wildcards.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.FullColumnStartLimit">
+            <summary>
+            The search key should be constructed such that any key columns
+            that come after the current key column should be considered to
+            be wildcards.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.FullColumnEndLimit">
+            <summary>
+            The search key should be constructed in such a way that any key
+            columns that come after the current key column are considered to
+            be wildcards.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.PartialColumnStartLimit">
+            <summary>
+            The search key should be constructed such that the current key
+            column is considered to be a prefix wildcard and that any key
+            columns that come after the current key column should be considered
+            to be wildcards.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.PartialColumnEndLimit">
+            <summary>
+            The search key should be constructed such that the current key
+            column is considered to be a prefix wildcard and that any key
+            columns that come after the current key column should be considered
+            to be wildcards.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit">
+            <summary>
+            Options for JetRetrieveKey.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RetrieveKeyGrbit.RetrieveCopy">
+            <summary>
+            Retrieve the currently constructed key.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SeekGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSeek(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SeekGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SeekGrbit.SeekEQ">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            start of the index that exactly matches the search key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SeekGrbit.SeekLT">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            end of the index that is less than an index entry that would
+            exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SeekGrbit.SeekLE">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            end of the index that is less than or equal to an index entry
+            that would exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SeekGrbit.SeekGE">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            start of the index that is greater than or equal to an index
+            entry that would exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SeekGrbit.SeekGT">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            start of the index that is greater than an index entry that
+            would exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SeekGrbit.SetIndexRange">
+            <summary>
+            An index range will automatically be setup for all keys that
+            exactly match the search key.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetIndexRange(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit.RangeInclusive">
+            <summary>
+            This option indicates that the limit of the index range is inclusive.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit.RangeUpperLimit">
+            <summary>
+            The search key in the cursor represents the search criteria for the
+            index entry closest to the end of the index that will match the index
+            range.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit.RangeInstantDuration">
+            <summary>
+            The index range should be removed as soon as it has been established.
+            This is useful for testing for the existence of index entries that
+            match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetIndexRangeGrbit.RangeRemove">
+            <summary>
+            Cancel and existing index range.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IndexRangeGrbit">
+            <summary>
+            Options for the <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE"/> object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexRangeGrbit.RecordInIndex">
+            <summary>
+            Records in the cursors indexrange should be included in the output.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IntersectIndexesGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetIntersectIndexes(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXRANGE[],System.Int32,Microsoft.Isam.Esent.Interop.JET_RECORDLIST@,Microsoft.Isam.Esent.Interop.IntersectIndexesGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IntersectIndexesGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit)"/> and
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetCurrentIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit,System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.None">
+            <summary>
+            Default options. This is the same as <see cref="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.MoveFirst"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.MoveFirst">
+            <summary>
+            Indicates that the cursor should be positioned on the first entry of
+            the specified index. If the current index is being selected then this
+            option is ignored.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetCurrentIndexGrbit.NoMove">
+            <summary>
+            Indicates that the cursor should be positioned on the index entry
+            of the new index that corresponds to the record associated with the
+            index entry at the current position of the cursor on the old index.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SetTableSequentialGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.SetTableSequentialGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Backward"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetTableSequentialGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ResetTableSequentialGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetResetTableSequential(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ResetTableSequentialGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ResetTableSequentialGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.GetLockGrbit">
+            <summary>
+            Options for JetGetLock.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GetLockGrbit.Read">
+            <summary>
+            Acquire a read lock on the current record. Read locks are incompatible with
+            write locks already held by other sessions but are compatible with read locks
+            held by other sessions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.GetLockGrbit.Write">
+            <summary>
+             Acquire a write lock on the current record. Write locks are not compatible
+             with write or read locks held by other sessions but are compatible with
+             read locks held by the same session.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEscrowUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EscrowUpdateGrbit.NoRollback">
+            <summary>
+            Even if the session performing the escrow update has its transaction rollback
+            this update will not be undone. As the log records may not be flushed to disk,
+            recent escrow updates done with this flag may be lost if there is a crash.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ColumndefGrbit">
+            <summary>
+            Options for the <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF"/> structure.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.ColumnDeleteOnZero"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ColumnCompressed"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnFixed">
+            <summary>
+            The column will be fixed. It will always use the same amount of space in a row,
+            regardless of how much data is being stored in the column. ColumnFixed
+            cannot be used with ColumnTagged. This bit cannot be used with long values
+            (that is JET_coltyp.LongText and JET_coltyp.LongBinary).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnTagged">
+            <summary>
+             The column will be tagged. Tagged columns do not take up any space in the database
+             if they do not contain data. This bit cannot be used with ColumnFixed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnNotNULL">
+            <summary>
+            The column must never be set to a NULL value. On Windows XP this can only be applied to
+            fixed columns (bit, byte, integer, etc).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnVersion">
+            <summary>
+            The column is a version column that specifies the version of the row. The value of
+            this column starts at zero and will be automatically incremented for each update on
+            the row. This option can only be applied to <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/> columns. This option cannot
+            be used with <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnAutoincrement"/>, <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnEscrowUpdate"/>, or <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnTagged"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnAutoincrement">
+            <summary>
+            The column will automatically be incremented. The number is an increasing number, and
+            is guaranteed to be unique within a table. The numbers, however, might not be continuous.
+            For example, if five rows are inserted into a table, the "autoincrement" column could
+            contain the values { 1, 2, 6, 7, 8 }. This bit can only be used on columns of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/> or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Currency"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnUpdatable">
+            <summary>
+            The column can be updated. This is NOT a valid grbit to set on input to any API. It is
+            returned as part of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF"/> structure's grbit member, as an
+            output from Api.JetGetColumnInfo.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnMultiValued">
+            <summary>
+            The column can be multi-valued.
+            A multi-valued column can have zero, one, or more values
+            associated with it. The various values in a multi-valued column are identified by a number
+            called the itagSequence member, which belongs to various structures, including:
+            <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETINFO"/>, <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETINFO"/>, <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN"/>, <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN"/>, and <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE"/>.
+            Multi-valued columns must be tagged columns; that is, they cannot be fixed-length or
+            variable-length columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnEscrowUpdate">
+            <summary>
+             Specifies that a column is an escrow update column. An escrow update column can be
+             updated concurrently by different sessions with JetEscrowUpdate and will maintain
+             transactional consistency. An escrow update column must also meet the following conditions:
+             An escrow update column can be created only when the table is empty.
+             An escrow update column must be of type JET_coltypLong.
+             An escrow update column must have a default value.
+             ColumnEscrowUpdate cannot be used in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnTagged"/>,
+             <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnVersion"/>, or <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnAutoincrement"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnUnversioned">
+            <summary>
+            The column will be created in an without version information. This means that other
+            transactions that attempt to add a column with the same name will fail. This bit
+            is only useful with JetAddColumn. It cannot be used within a transaction.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnMaybeNull">
+            <summary>
+            In doing an outer join, the retrieve column operation might not have a match
+            from the inner table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnFinalize">
+            <summary>
+            DEPRECATED / Not Fully Implemented: use ColumnDeleteOnZero <see cref="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.ColumnDeleteOnZero"/> instead.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnUserDefinedDefault">
+            <summary>
+            The default value for a column will be provided by a callback function. A column that
+            has a user-defined default must be a tagged column. Specifying <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnUserDefinedDefault"/>
+            means that pvDefault must point to a JET_USERDEFINEDDEFAULT structure, and cbDefault must be
+            set to sizeof( JET_USERDEFINEDDEFAULT ).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.TTKey">
+            <summary>
+            The column will be a key column for the temporary table. The order
+            of the column definitions with this option specified in the input
+            array will determine the precedence of each key column for the
+            temporary table. The first column definition in the array that
+            has this option set will be the most significant key column and
+            so on. If more key columns are requested than can be supported
+            by the database engine then this option is ignored for the
+            unsupportable key columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.TTDescending">
+            <summary>
+            The sort order of the key column for the temporary table should
+            be descending rather than ascending. If this option is specified
+             without <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.TTKey"/> then this option is ignored.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CreateTableColumnIndexGrbit">
+            <summary>
+            Options for the <see cref="T:Microsoft.Isam.Esent.Interop.JET_TABLECREATE"/> parameter used by
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Grbits.TableCreateImmutableStructure"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateTableColumnIndexGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateTableColumnIndexGrbit.FixedDDL">
+            <summary>
+            The DDL is fixed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateTableColumnIndexGrbit.TemplateTable">
+            <summary>
+            The DDL is inheritable. Implies FixedDDL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateTableColumnIndexGrbit.NoFixedVarColumnsInDerivedTables">
+            <summary>
+            Used in conjunction with TemplateTable.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CreateIndexGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.String,System.Int32,System.Int32)"/> and <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexCrossProduct"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexDisallowTruncation"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexNestedTable"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexUnicode"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexKeyMost"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.IndexDotNetGuid"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Grbits.IndexCreateImmutableStructure"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexUnique">
+            <summary>
+            Duplicate index entries (keys) are disallowed. This is enforced when JetUpdate is called,
+            not when JetSetColumn is called.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexPrimary">
+            <summary>
+            The index is a primary (clustered) index. Every table must have exactly one primary index.
+            If no primary index is explicitly defined over a table, then the database engine will
+            create its own primary index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexDisallowNull">
+            <summary>
+            None of the columns over which the index is created may contain a NULL value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexIgnoreNull">
+            <summary>
+            Do not add an index entry for a row if all of the columns being indexed are NULL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexIgnoreAnyNull">
+            <summary>
+            Do not add an index entry for a row if any of the columns being indexed are NULL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexIgnoreFirstNull">
+            <summary>
+            Do not add an index entry for a row if the first column being indexed is NULL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexLazyFlush">
+            <summary>
+            Specifies that the index operations will be logged lazily. JET_bitIndexLazyFlush does not
+            affect the laziness of data updates. If the indexing operations is interrupted by process
+            termination, Soft Recovery will still be able to able to get the database to a consistent
+            state, but the index may not be present.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexEmpty">
+            <summary>
+            Do not attempt to build the index, because all entries would evaluate to NULL. grbit MUST
+            also specify JET_bitIgnoreAnyNull when JET_bitIndexEmpty is passed. This is a performance
+            enhancement. For example if a new column is added to a table, then an index is created over
+            this newly added column, all of the records in the table would be scanned even though they
+            would never get added to the index anyway. Specifying JET_bitIndexEmpty skips the scanning
+            of the table, which could potentially take a long time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexUnversioned">
+            <summary>
+            Causes index creation to be visible to other transactions. Normally a session in a
+            transaction will not be able to see an index creation operation in another session. This
+            flag can be useful if another transaction is likely to create the same index, so that the
+            second index-create will simply fail instead of potentially causing many unnecessary database
+            operations. The second transaction may not be able to use the index immediately. The index
+            creation operation needs to complete before it is usable. The session must not currently be in
+            a transaction to create an index without version information.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.CreateIndexGrbit.IndexSortNullsHigh">
+            <summary>
+            Specifying this flag causes NULL values to be sorted after data for all columns in the index.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IndexKeyGrbit">
+            <summary>
+            Key definition grbits. Used when retrieving information about an index, contained
+            in the column specified in <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidgrbitColumn"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexKeyGrbit.Ascending">
+            <summary>
+            Key segment is ascending.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexKeyGrbit.Descending">
+            <summary>
+            Key segment is descending.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ConditionalColumnGrbit">
+            <summary>
+            Options for the <seealso cref="T:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN"/> structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ConditionalColumnGrbit.ColumnMustBeNull">
+            <summary>
+            The column must be null for an index entry to appear in the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ConditionalColumnGrbit.ColumnMustBeNonNull">
+            <summary>
+            The column must be non-null for an index entry to appear in the index.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TempTableGrbit">
+            <summary>
+            Options for temporary table creation, with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>,
+            Api.JetOpenTempTable2, and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.ForwardOnly"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.IntrinsicLVsOnly"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Grbits.TTDotNetGuid"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.Indexed">
+            <summary>
+            This option requests that the temporary table be flexible enough to
+            permit the use of JetSeek to lookup records by index key. If this
+            functionality it not required then it is best to not request it. If this
+            functionality is not requested then the temporary table manager may be
+            able to choose a strategy for managing the temporary table that will
+            result in improved performance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.Unique">
+            <summary>
+            This option requests that records with duplicate index keys be removed
+            from the final set of records in the temporary table.
+            Prior to Windows Server 2003, the database engine always assumed this
+            option to be in effect due to the fact that all clustered indexes must
+            also be a primary key and thus must be unique. As of Windows Server
+            2003, it is now possible to create a temporary table that does NOT
+            remove duplicates when the <see cref="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.ForwardOnly"/>
+            option is also specified.
+            It is not possible to know which duplicate will win and which duplicates
+            will be discarded in general. However, when the
+            <see cref="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.ErrorOnDuplicateInsertion"/> option is requested then the first
+            record with a given index key to be inserted into the temporary table
+            will always win.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.Updatable">
+            <summary>
+            This option requests that the temporary table be flexible enough to
+            allow records that have previously been inserted to be subsequently
+            changed. If this functionality it not required then it is best to not
+            request it. If this functionality is not requested then the temporary
+            table manager may be able to choose a strategy for managing the
+            temporary table that will result in improved performance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.Scrollable">
+            <summary>
+            This option requests that the temporary table be flexible enough to
+            allow records to be scanned in arbitrary order and direction using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetMove(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.MoveGrbit)"/>.
+            If this functionality it not required then it is best to not
+            request it. If this functionality is not requested then the temporary
+            table manager may be able to choose a strategy for managing the
+            temporary table that will result in improved performance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.SortNullsHigh">
+            <summary>
+            This option requests that NULL key column values sort closer
+            to the end of the index than non-NULL key column values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.ForceMaterialization">
+            <summary>
+            This option forces the temporary table manager to abandon
+            any attempt to choose a clever strategy for managing the
+            temporary table that will result in enhanced performance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.ErrorOnDuplicateInsertion">
+            <summary>
+            This option requests that any attempt to insert a record with the same
+            index key as a previously inserted record will immediately fail with
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.KeyDuplicate"/>. If this option is not requested then a duplicate
+            may be detected immediately and fail or may be silently removed later
+            depending on the strategy chosen by the database engine to implement the
+            temporary table based on the requested functionality. If this
+            functionality it not required then it is best to not request it. If this
+            functionality is not requested then the temporary table manager may be
+            able to choose a strategy for managing the temporary table that will
+            result in improved performance.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.DeleteColumnGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDeleteColumn2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,Microsoft.Isam.Esent.Interop.DeleteColumnGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DeleteColumnGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DeleteColumnGrbit.IgnoreTemplateColumns">
+            <summary>
+            The API should only attempt to delete columns in the derived table.
+            If a column of that name exists in the base table it will be ignored.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.RenameColumnGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetRenameColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String,System.String,Microsoft.Isam.Esent.Interop.RenameColumnGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.RenameColumnGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SetColumnDefaultValueGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumnDefaultValue(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.String,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnDefaultValueGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SetColumnDefaultValueGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IdleGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetIdle(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.IdleGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IdleGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IdleGrbit.FlushBuffers">
+            <summary>
+            Reserved for future use. If this flag is specified, the API will return <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidGrbit"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IdleGrbit.Compact">
+            <summary>Triggers cleanup of the version store.</summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IdleGrbit.GetStatus">
+            <summary>
+            Returns <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.IdleFull"/> if version store is more than half full.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.DefragGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.NoPartialMerges"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DefragGrbit.AvailSpaceTreesOnly">
+            <summary>
+            Defragments the available space portion of ESE database space
+            allocation. Database space is divided into two types, owned
+            space and available space. Owned space is allocated to a table
+            or index while available space is ready for use within the table
+            or index, respectively. Available space is much more dynamic in
+            behavior and requires on-line defragmentation more so than owned
+            space or table or index data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DefragGrbit.BatchStart">
+            <summary>
+            Starts a new defragmentation task.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.DefragGrbit.BatchStop">
+            <summary>
+            Stops a defragmentation task.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ColInfoGrbit">
+            <summary>
+            Grbits for the various Api.JetGetColumnInfo and Api.JetGetTableColumnInfo
+            overloads.
+            </summary>
+            <remarks>
+            Internally this value is OR'ed together with the
+            <see cref="T:Microsoft.Isam.Esent.Interop.JET_ColInfo"/> info level. The info level is not publically exposed
+            in this CLR code because it's only used to differentiate the type of the output
+            parameter, which is covered by having explicit function overloads with different
+            signatures. There is no need to expose JET_ColInfo to CLR.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColInfoGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColInfoGrbit.NonDerivedColumnsOnly">
+            <summary>
+            For lists (example: <see cref="F:Microsoft.Isam.Esent.Interop.JET_ColInfo.List"/>), only return
+            non-derived columns (if the table is derived from a template).
+            </summary>
+            <remarks>This value is 0x80000000.</remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColInfoGrbit.MinimalInfo">
+            <summary>
+            For lists (example: <see cref="F:Microsoft.Isam.Esent.Interop.JET_ColInfo.List"/>), only return
+            the column name and columnid of each column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ColInfoGrbit.SortByColumnid">
+            <summary>
+            For lists (example: <see cref="F:Microsoft.Isam.Esent.Interop.JET_ColInfo.List"/>), sort
+            returned column list by columnid (the default is to sort list by column name).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit">
+            <summary>
+            Options for <see cref="T:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.SpaceHintUtilizeParentSpace">
+            <summary>
+            This changes the internal allocation policy to get space hierarchically
+            from a B-Tree's immediate parent.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.CreateHintAppendSequential">
+            <summary>
+            This bit will enable Append split behavior to grow according to the
+            growth dynamics of the table (set by cbMinExtent, ulGrowth, cbMaxExtent).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.CreateHintHotpointSequential">
+            <summary>
+            This bit will enable Hotpoint split behavior to grow according to the
+            growth dynamics of the table (set by cbMinExtent, ulGrowth, cbMaxExtent).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.RetrieveHintReserve1">
+            <summary>
+            Reserved and ignored.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.RetrieveHintTableScanForward">
+            <summary>
+            By setting this the client indicates that forward sequential scan is
+            the predominant usage pattern of this table (causing B+ Tree defrag to
+            be auto-triggered to clean it up if fragmented).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.RetrieveHintTableScanBackward">
+            <summary>
+            By setting this the client indicates that backwards sequential scan
+            is the predominant usage pattern of this table(causing B+ Tree defrag to
+            be auto-triggered to clean it up if fragmented).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.RetrieveHintReserve2">
+            <summary>
+            Reserved and ignored.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.RetrieveHintReserve3">
+            <summary>
+            Reserved and ignored.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit.DeleteHintTableSequential">
+            <summary>
+            The application expects this table to be cleaned up in-order
+            sequentially (from lowest key to highest key).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.GuidColumnValue">
+            <summary>
+            A <see cref="T:System.Guid"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.GuidColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.GuidColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.GuidColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IContentEquatable`1">
+            <summary>
+            Interface for objects that can have their contents compared against
+            each other. This should be used for equality comparisons on mutable
+            reference objects where overriding Equals() and GetHashCode() isn't a
+            good idea.
+            </summary>
+            <typeparam name="T">The type of objects to compare.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IContentEquatable`1.ContentEquals(`0)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IDeepCloneable`1">
+            <summary>
+            Interface for objects that can be cloned. This creates a deep copy of
+            the object. It is used for cloning meta-data objects.
+            </summary>
+            <typeparam name="T">The type of object.</typeparam>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IDeepCloneable`1.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IJET_LOGTIME">
+            <summary>
+            Interface for common methods between JET_LOGTIME and JET_BKLOGTIME.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IJET_LOGTIME.ToDateTime">
+            <summary>
+            Generate a DateTime representation of this IJET_LOGTIME.
+            </summary>
+            <returns>
+            A DateTime representing the IJET_LOGTIME. If the IJET_LOGTIME
+            is null then null is returned.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IndexInfo">
+            <summary>
+            Information about one esent index. This is not an interop
+            class, but is used by the meta-data helper methods.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.name">
+            <summary>
+            The name of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.cultureInfo">
+            <summary>
+            The culture info of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.compareOptions">
+            <summary>
+            Index comparison options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.indexSegments">
+            <summary>
+            Index segments.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.grbit">
+            <summary>
+            Index options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.keys">
+            <summary>
+            Number of unique keys in the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.entries">
+            <summary>
+            Number of entries in the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexInfo.pages">
+            <summary>
+            Number of pages in the index.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexInfo.#ctor(System.String,System.Globalization.CultureInfo,System.Globalization.CompareOptions,Microsoft.Isam.Esent.Interop.IndexSegment[],Microsoft.Isam.Esent.Interop.CreateIndexGrbit,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the IndexInfo class.
+            </summary>
+            <param name="name">Name of the index.</param>
+            <param name="cultureInfo">CultureInfo for string sorting.</param>
+            <param name="compareOptions">String comparison options.</param>
+            <param name="indexSegments">Array of index segment descriptions.</param>
+            <param name="grbit">Index options.</param>
+            <param name="keys">Number of unique keys in the index.</param>
+            <param name="entries">Number of entries in the index.</param>
+            <param name="pages">Number of pages in the index.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.Name">
+            <summary>
+            Gets the name of the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.CultureInfo">
+            <summary>
+            Gets the CultureInfo the index is sorted by.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.CompareOptions">
+            <summary>
+            Gets the CompareOptions for the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.IndexSegments">
+            <summary>
+            Gets the segments of the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.Grbit">
+            <summary>
+            Gets the index options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.Keys">
+            <summary>
+            Gets the number of unique keys in the index.
+            This value is not current and is only is updated by Api.JetComputeStats.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.Entries">
+            <summary>
+            Gets the number of entries in the index.
+            This value is not current and is only is updated by Api.JetComputeStats.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfo.Pages">
+            <summary>
+            Gets the number of pages in the index.
+            This value is not current and is only is updated by Api.JetComputeStats.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexInfo.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.IndexInfo"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.IndexInfo"/>.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator">
+            <summary>
+            Base class for enumerators that return IndexInfo objects. Subclasses differ
+            by how they open the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator.Indexlist">
+            <summary>
+            Gets or sets the indexlist used to retrieve data.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator.GetCurrent">
+            <summary>
+            Gets the entry the cursor is currently positioned on.
+            </summary>
+            <returns>The entry the cursor is currently positioned on.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator.GetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator.GetIndexSegmentsFromIndexlist(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXLIST)">
+            <summary>
+            Create an array of IndexSegment objects from the data in the current JET_INDEXLIST entry.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="indexlist">The indexlist to take the data from.</param>
+            <returns>An array of IndexSegment objects containing the information for the current index.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexInfoEnumerator.GetIndexInfoFromIndexlist(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXLIST)">
+            <summary>
+            Create an IndexInfo object from the data in the current JET_INDEXLIST entry.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="indexlist">The indexlist to take the data from.</param>
+            <returns>An IndexInfo object containing the information from that record.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IndexSegment">
+            <summary>
+            Describes one segment of an index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexSegment.columnName">
+            <summary>
+            The name of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexSegment.coltyp">
+            <summary>
+            The type of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexSegment.isAscending">
+            <summary>
+            True if the column is sorted in ascending order.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IndexSegment.isASCII">
+            <summary>
+            True if the column is an ASCII column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexSegment.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_coltyp,System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the IndexSegment class.
+            </summary>
+            <param name="name">The name of the indexed column.</param>
+            <param name="coltyp">The type of the column.</param>
+            <param name="isAscending">True if the column is ascending.</param>
+            <param name="isASCII">True if the column is over an ASCII column.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexSegment.ColumnName">
+            <summary>
+            Gets name of the column being indexed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexSegment.Coltyp">
+            <summary>
+            Gets the type of the column being indexed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexSegment.IsAscending">
+            <summary>
+            Gets a value indicating whether the index segment is ascending.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.IndexSegment.IsASCII">
+            <summary>
+            Gets a value indicating whether the index segment is over an ASCII text
+            column. This value is only meaningful for text column segments.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexSegment.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexSegment.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexSegment.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IndexSegment.Equals(Microsoft.Isam.Esent.Interop.IndexSegment)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Instance">
+            <summary>
+            A class that encapsulates a <see cref="T:Microsoft.Isam.Esent.Interop.JET_INSTANCE"/> in a disposable object. The
+            instance must be closed last and closing the instance releases all other
+            resources for the instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Instance.parameters">
+            <summary>
+            Parameters for the instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Instance.name">
+            <summary>
+            The name of the instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Instance.displayName">
+            <summary>
+            The display name of the instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Instance.termGrbit">
+            <summary>
+            The TermGrbit to be used at JetTerm time.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the Instance class. The underlying
+            JET_INSTANCE is allocated, but not initialized.
+            </summary>
+            <param name="name">
+            The name of the instance. This string must be unique within a
+            given process hosting the database engine.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.#ctor(System.String,System.String)">
+            <summary>
+            Initializes a new instance of the Instance class. The underlying
+            JET_INSTANCE is allocated, but not initialized.
+            </summary>
+            <param name="name">
+            The name of the instance. This string must be unique within a
+            given process hosting the database engine.
+            </param>
+            <param name="displayName">
+            A display name for the instance. This will be used in eventlog
+            entries.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.#ctor(System.String,System.String,Microsoft.Isam.Esent.Interop.TermGrbit)">
+            <summary>
+            Initializes a new instance of the Instance class. The underlying
+            JET_INSTANCE is allocated, but not initialized.
+            </summary>
+            <param name="name">
+            The name of the instance. This string must be unique within a
+            given process hosting the database engine.
+            </param>
+            <param name="displayName">
+            A display name for the instance. This will be used in eventlog
+            entries.
+            </param>
+            <param name="termGrbit">
+            The TermGrbit to be used at JetTerm time.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Instance.JetInstance">
+            <summary>
+            Gets the JET_INSTANCE that this instance contains.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Instance.Parameters">
+            <summary>
+            Gets the InstanceParameters for this instance. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Instance.TermGrbit">
+            <summary>
+            Gets or sets the TermGrbit for this instance. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.op_Implicit(Microsoft.Isam.Esent.Interop.Instance)~Microsoft.Isam.Esent.Interop.JET_INSTANCE">
+            <summary>
+            Provide implicit conversion of an Instance object to a JET_INSTANCE
+            structure. This is done so that an Instance can be used anywhere a
+            JET_INSTANCE is required.
+            </summary>
+            <param name="instance">The instance to convert.</param>
+            <returns>The JET_INSTANCE wrapped by the instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Instance"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Instance"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.Init">
+            <summary>
+            Initialize the JET_INSTANCE.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.Init(Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the JET_INSTANCE.
+            </summary>
+            <param name="grbit">
+            Initialization options.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.Init(Microsoft.Isam.Esent.Interop.JET_RSTINFO,Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the JET_INSTANCE. This API requires at least the
+            Vista version of ESENT.
+            </summary>
+            <param name="recoveryOptions">
+            Additional recovery parameters for remapping databases during
+            recovery, position where to stop recovery at, or recovery status.
+            </param>
+            <param name="grbit">
+            Initialization options.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.Term">
+            <summary>
+            Terminate the JET_INSTANCE.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.ReleaseHandle">
+            <summary>
+            Release the handle for this instance.
+            </summary>
+            <returns>True if the handle could be released.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.CreateInstanceFromHandle">
+            <summary>
+            Create a JET_INSTANCE from the internal handle value.
+            </summary>
+            <returns>A JET_INSTANCE containing the internal handle.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Instance.CheckObjectIsNotDisposed">
+            <summary>
+            Check to see if this instance is invalid or closed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.InstanceParameters">
+            <summary>
+            This class provides properties to set and get system parameters
+            on an ESENT instance.
+            </summary>
+            <summary>
+            This class provides static properties to set and get
+            per-instance ESENT system parameters.
+            </summary>
+            <summary>
+            This class provides static properties to set and get
+            per-instance ESENT system parameters.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.InstanceParameters.instance">
+            <summary>
+            The instance to set parameters on.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.InstanceParameters.sesid">
+            <summary>
+            The session to set parameters with.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.#ctor(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Initializes a new instance of the InstanceParameters class.
+            </summary>
+            <param name="instance">
+            The instance to set parameters on. If this is JET_INSTANCE.Nil,
+            then the settings affect the default settings of future instances.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.SystemDirectory">
+            <summary>
+            Gets or sets the relative or absolute file system path of the
+            folder that will contain the checkpoint file for the instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.TempDirectory">
+            <summary>
+            Gets or sets the relative or absolute file system path of
+            the folder that will contain the temporary database for the instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.LogFileDirectory">
+            <summary>
+            Gets or sets the relative or absolute file system path of the
+            folder that will contain the transaction logs for the instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.AlternateDatabaseRecoveryDirectory">
+            <summary>
+            Gets or sets the relative or absolute file system path of the
+            a folder where crash recovery or a restore operation can find
+            the databases referenced in the transaction log in the
+            specified folder.
+            </summary>
+            <remarks>
+            This parameter is ignored on Windows XP.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.BaseName">
+            <summary>
+            Gets or sets the three letter prefix used for many of the files used by
+            the database engine. For example, the checkpoint file is called EDB.CHK by
+            default because EDB is the default base name.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EventSource">
+            <summary>
+            Gets or sets an application specific string that will be added to
+            any event log messages that are emitted by the database engine. This allows
+            easy correlation of event log messages with the source application. By default
+            the host application executable name will be used.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.MaxSessions">
+            <summary>
+            Gets or sets the number of sessions resources reserved for this instance.
+            A session resource directly corresponds to a JET_SESID.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.MaxOpenTables">
+            <summary>
+            Gets or sets the number of B+ Tree resources reserved for this instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.MaxCursors">
+            <summary>
+            Gets or sets the number of cursor resources reserved for this instance.
+            A cursor resource directly corresponds to a JET_TABLEID.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.MaxVerPages">
+            <summary>
+            Gets or sets the maximum number of version store pages reserved
+            for this instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.PreferredVerPages">
+            <summary>
+            Gets or sets the preferred number of version store pages reserved
+            for this instance. If the size of the version store exceeds this
+            threshold then any information that is only used for optional
+            background tasks, such as reclaiming deleted space in the database,
+            is instead sacrificed to preserve room for transactional information.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.VersionStoreTaskQueueMax">
+            <summary>
+            Gets or sets the the number of background cleanup work items that
+            can be queued to the database engine thread pool at any one time.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.MaxTemporaryTables">
+            <summary>
+            Gets or sets the number of temporary table resources for use
+            by an instance. This setting will affect how many temporary tables can be used at
+            the same time. If this system parameter is set to zero then no temporary database
+            will be created and any activity that requires use of the temporary database will
+            fail. This setting can be useful to avoid the I/O required to create the temporary
+            database if it is known that it will not be used.
+            </summary>
+            <remarks>
+            The use of a temporary table also requires a cursor resource.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.LogFileSize">
+            <summary>
+            Gets or sets the size of the transaction log files. This parameter
+            should be set in units of 1024 bytes (e.g. a setting of 2048 will
+            give 2MB logfiles).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.LogBuffers">
+            <summary>
+            Gets or sets the amount of memory used to cache log records
+            before they are written to the transaction log file. The unit for this
+            parameter is the sector size of the volume that holds the transaction log files.
+            The sector size is almost always 512 bytes, so it is safe to assume that size
+            for the unit. This parameter has an impact on performance. When the database
+            engine is under heavy update load, this buffer can become full very rapidly.
+            A larger cache size for the transaction log file is critical for good update
+            performance under such a high load condition. The default is known to be too small
+            for this case.
+            Do not set this parameter to a number of buffers that is larger (in bytes) than
+            half the size of a transaction log file.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.CircularLog">
+            <summary>
+            Gets or sets a value indicating whether circular logging is on.
+            When circular logging is off, all transaction log files that are generated
+            are retained on disk until they are no longer needed because a full backup of the
+            database has been performed. When circular logging is on, only transaction log files
+            that are younger than the current checkpoint are retained on disk. The benefit of
+            this mode is that backups are not required to retire old transaction log files. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.CleanupMismatchedLogFiles">
+            <summary>
+            Gets or sets a value indicating whether JetInit fails when the database
+            engine is configured to start using transaction log files on disk
+            that are of a different size than what is configured. Normally,
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> will successfully recover the databases
+            but will fail with <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.LogFileSizeMismatchDatabasesConsistent"/>
+            to indicate that the log file size is misconfigured. However, when
+            this parameter is set to true then the database engine will silently
+            delete all the old log files, start a new set of transaction log files
+            using the configured log file size. This parameter is useful when the
+            application wishes to transparently change its transaction log file
+            size yet still work transparently in upgrade and restore scenarios.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.PageTempDBMin">
+            <summary>
+            Gets or sets the initial size of the temporary database. The size is in
+            database pages. A size of zero indicates that the default size of an ordinary
+            database should be used. It is often desirable for small applications to configure
+            the temporary database to be as small as possible. Setting this parameter to
+            <see cref="F:Microsoft.Isam.Esent.Interop.SystemParameters.PageTempDBSmallest"/> will achieve the smallest
+            temporary database possible.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.CheckpointDepthMax">
+            <summary>
+            Gets or sets the threshold in bytes for about how many transaction log
+            files will need to be replayed after a crash. If circular logging is enabled using
+            CircularLog then this parameter will also control the approximate amount
+            of transaction log files that will be retained on disk.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.DbExtensionSize">
+            <summary>
+            Gets or sets the number of pages that are added to a database file each
+            time it needs to grow to accommodate more data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.Recovery">
+            <summary>
+            Gets or sets a value indicating whether crash recovery is on.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableOnlineDefrag">
+            <summary>
+            Gets or sets a value indicating whether online defragmentation is enabled.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableIndexChecking">
+            <summary>
+            Gets or sets a value indicating whether <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/> will check for
+            indexes that were build using an older version of the NLS library in the
+            operating system.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EventSourceKey">
+            <summary>
+            Gets or sets the name of the event log the database engine uses for its event log
+            messages. By default, all event log messages will go to the Application event log. If the registry
+            key name for another event log is configured then the event log messages will go there instead.
+            </summary>  
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.NoInformationEvent">
+            <summary>
+            Gets or sets a value indicating whether informational event 
+            log messages that would ordinarily be generated by the
+            database engine will be suppressed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EventLoggingLevel">
+            <summary>
+            Gets or sets the detail level of eventlog messages that are emitted
+            to the eventlog by the database engine. Higher numbers will result
+            in more detailed eventlog messages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.OneDatabasePerSession">
+            <summary>
+            Gets or sets a value indicating whether only one database is allowed to
+            be opened using JetOpenDatabase by a given session at one time.
+            The temporary database is excluded from this restriction. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.CreatePathIfNotExist">
+            <summary>
+            Gets or sets a value indicating whether ESENT will silently create folders
+            that are missing in its filesystem paths.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.CachedClosedTables">
+            <summary>
+            Gets or sets a value giving the number of B+ Tree resources cached by
+            the instance after the tables they represent have been closed by
+            the application. Large values for this parameter will cause the
+            database engine to use more memory but will increase the speed
+            with which a large number of tables can be opened randomly by
+            the application. This is useful for applications that have a
+            schema with a very large number of tables.
+            <para>
+            Supported on Windows Vista and up. Ignored on Windows XP and
+            Windows Server 2003.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.WaypointLatency">
+            <summary>
+            Gets or sets a the number of logs that esent will defer database
+            flushes for. This can be used to increase database recoverability if
+            failures cause logfiles to be lost.
+            <para>
+            Supported on Windows 7 and up. Ignored on Windows XP,
+            Windows Server 2003, Windows Vista and Windows Server 2008.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableIndexCleanup">
+            <summary>
+            Gets or sets a value indicating whether <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/> will
+            delete indexes that were build using an older version of the NLS library in the
+            operating system.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.InstanceParameters"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.InstanceParameters"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.SetStringParameter(Microsoft.Isam.Esent.Interop.JET_param,System.String)">
+            <summary>
+            Set a system parameter which is a string.
+            </summary>
+            <param name="param">The parameter to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.GetStringParameter(Microsoft.Isam.Esent.Interop.JET_param)">
+            <summary>
+            Get a system parameter which is a string.
+            </summary>
+            <param name="param">The parameter to get.</param>
+            <returns>The value of the parameter.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.SetIntegerParameter(Microsoft.Isam.Esent.Interop.JET_param,System.Int32)">
+            <summary>
+            Set a system parameter which is an integer.
+            </summary>
+            <param name="param">The parameter to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.GetIntegerParameter(Microsoft.Isam.Esent.Interop.JET_param)">
+            <summary>
+            Get a system parameter which is an integer.
+            </summary>
+            <param name="param">The parameter to get.</param>
+            <returns>The value of the parameter.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.SetBoolParameter(Microsoft.Isam.Esent.Interop.JET_param,System.Boolean)">
+            <summary>
+            Set a system parameter which is a boolean.
+            </summary>
+            <param name="param">The parameter to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.GetBoolParameter(Microsoft.Isam.Esent.Interop.JET_param)">
+            <summary>
+            Get a system parameter which is a boolean.
+            </summary>
+            <param name="param">The parameter to get.</param>
+            <returns>The value of the parameter.</returns>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableShrinkDatabase">
+            <summary>
+            Gets or sets whether to free space back to the OS after deleting data. This may free space
+            in the middle of files (done in the units of database extents). This uses Sparse Files,
+            which is available on NTFS and ReFS (not FAT). The exact method of releasing space is an
+            implementation detail and is subject to change.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.MaxTransactionSize">
+            <summary>
+            Gets or sets the percentage of version store that can be used by oldest transaction
+            before <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.VersionStoreOutOfMemory"/> (default = 100).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableDbScanInRecovery">
+            <summary>
+            Gets or sets a value indicating whether Database Maintenance should run during recovery.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableDBScanSerialization">
+            <summary>
+            Gets or sets a value indicating whether database Maintenance
+            serialization is enabled for databases sharing the same disk.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.DbScanThrottle">
+            <summary>
+            Gets or sets the throttling of the database scan, in milliseconds.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.DbScanIntervalMinSec">
+            <summary>
+            Gets or sets the minimum interval to repeat the database scan, in seconds.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.DbScanIntervalMaxSec">
+            <summary>
+            Gets or sets the maximum interval to allow the database scan to finish, in seconds.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.CachePriority">
+            <summary>
+            Gets or sets the per-instance property for relative cache priorities (default = 100).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.InstanceParameters.PrereadIOMax">
+            <summary>
+            Gets or sets the maximum number of I/O operations dispatched for a given purpose.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.GetDurableCommitCallback">
+            <summary>
+            Gets the callback for log flush.
+            </summary>
+            <returns>The delegate that's called for log flush.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.SetDurableCommitCallback(Microsoft.Isam.Esent.Interop.Windows8.NATIVE_JET_PFNDURABLECOMMITCALLBACK)">
+            <summary>
+            Sets the callback for log flush.
+            It is the caller's responsibility to hold a reference to the delegate
+            so that it doesn't get GC'ed.
+            </summary>
+            <param name="callback">
+            The callback.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.GetIntPtrParameter(Microsoft.Isam.Esent.Interop.JET_param)">
+            <summary>
+            Get a system parameter which is an IntPtr.
+            </summary>
+            <param name="param">The parameter to get.</param>
+            <returns>The value of the parameter.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.InstanceParameters.SetIntPtrParameter(Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr)">
+            <summary>
+            Set a system parameter which is an IntPtr.
+            </summary>
+            <param name="param">The parameter to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Int16ColumnValue">
+            <summary>
+            An <see cref="T:System.Int16"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Int16ColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Int16ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Int16ColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Int32ColumnValue">
+            <summary>
+            An <see cref="T:System.Int32"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Int32ColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Int32ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Int32ColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Int64ColumnValue">
+            <summary>
+            An <see cref="T:System.Int64"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Int64ColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Int64ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Int64ColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.IntersectIndexesEnumerator">
+            <summary>
+            Enumerator that can intersect indexes and return the intersected bookmarks.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IntersectIndexesEnumerator.ranges">
+            <summary>
+            The ranges to intersect.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.IntersectIndexesEnumerator.recordlist">
+            <summary>
+            The recordlist containing the result of the intersection.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IntersectIndexesEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_INDEXRANGE[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.IntersectIndexesEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+            <param name="ranges">
+            The ranges to intersect.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IntersectIndexesEnumerator.OpenTable">
+            <summary>
+            Open the table to be enumerated. This should set <see cref="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.IntersectIndexesEnumerator.GetCurrent">
+            <summary>
+            Gets the entry the cursor is currently positioned on.
+            </summary>
+            <returns>The entry the cursor is currently positioned on.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.INullableJetStruct">
+            <summary>
+            Interface for Jet structures that are nullable (can have null values).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.INullableJetStruct.HasValue">
+            <summary>
+            Gets a value indicating whether the structure has a null value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_CALLBACK">
+            <summary>
+            A multi-purpose callback function used by the database engine to inform
+            the application of an event involving online defragmentation and cursor
+            state notifications. 
+            </summary>
+            <param name="sesid">The session for which the callback is being made.</param>
+            <param name="dbid">The database for which the callback is being made.</param>
+            <param name="tableid">The cursor for which the callback is being made.</param>
+            <param name="cbtyp">The operation for which the callback is being made.</param>
+            <param name="arg1">First callback-specific argument.</param>
+            <param name="arg2">Second callback-specific argument.</param>
+            <param name="context">Callback context.</param>
+            <param name="unused">This parameter is not used.</param>
+            <returns>An ESENT error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JetCallbackWrapper">
+            <summary>
+            Wraps a NATIVE_CALLBACK callback around a JET_CALLBACK. This is
+            used to catch exceptions and provide argument conversion.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.TraceSwitch">
+            <summary>
+            API call tracing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.wrappedCallback">
+            <summary>
+            The wrapped status callback.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.nativeCallback">
+            <summary>
+            The native version of the callback. This will actually be a closure
+            because we are calling a non-static method. Keep track of it here
+            to make sure that it isn't garbage collected.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.#cctor">
+            <summary>
+            Initializes static members of the <see cref="T:Microsoft.Isam.Esent.Interop.JetCallbackWrapper"/> class. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.#ctor(Microsoft.Isam.Esent.Interop.JET_CALLBACK)">
+            <summary>
+            Initializes a new instance of the JetCallbackWrapper class.
+            </summary>
+            <param name="callback">
+            The managed callback to use.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.IsAlive">
+            <summary>
+            Gets a value indicating whether the wrapped callback has been garbage
+            collected.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.NativeCallback">
+            <summary>
+            Gets a NATIVE_CALLBACK callback that wraps the managed callback.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.IsWrapping(Microsoft.Isam.Esent.Interop.JET_CALLBACK)">
+            <summary>
+            Determine if the callback is wrapping the specified JET_CALLBACK.
+            </summary>
+            <param name="callback">The callback.</param>
+            <returns>True if this wrapper is wrapping the callback.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JetCallbackWrapper.CallbackImpl(System.IntPtr,System.UInt32,System.IntPtr,System.UInt32,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)">
+            <summary>
+            Callback function for native code. We don't want to throw an exception through
+            unmanaged ESENT because that will corrupt ESENT's internal state. Instead we
+            catch all exceptions and return an error instead. We use a CER to make catching
+            the exceptions as reliable as possible.
+            </summary>
+            <param name="nativeSesid">The session for which the callback is being made.</param>
+            <param name="nativeDbid">The database for which the callback is being made.</param>
+            <param name="nativeTableid">The cursor for which the callback is being made.</param>
+            <param name="nativeCbtyp">The operation for which the callback is being made.</param>
+            <param name="arg1">First callback-specific argument.</param>
+            <param name="arg2">Second callback-specific argument.</param>
+            <param name="nativeContext">Callback context.</param>
+            <param name="unused">This parameter is not used.</param>
+            <returns>An ESENT error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_BKINFO">
+            <summary>
+            Holds a collection of data about a specific backup event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKINFO.logPosition">
+            <summary>
+            Current log position. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKINFO.backupTime">
+            <summary>
+            Time the backup was made.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKINFO.lowGeneration">
+            <summary>
+            Low log generation when the backup was made.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKINFO.highGeneration">
+            <summary>
+            High log generation when the backup was made.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKINFO.lgposMark">
+            <summary>
+            Gets the log position of the backup.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKINFO.bklogtimeMark">
+            <summary>
+            Gets the time of the backup.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKINFO.genLow">
+            <summary>
+            Gets the low generation of the backup.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKINFO.genHigh">
+            <summary>
+            Gets or sets the high generation of the backup.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKINFO.HasValue">
+            <summary>
+            Gets a value indicating whether this backup info is null.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKINFO.op_Equality(Microsoft.Isam.Esent.Interop.JET_BKINFO,Microsoft.Isam.Esent.Interop.JET_BKINFO)">
+            <summary>
+            Determines whether two specified instances of JET_BKINFO
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKINFO.op_Inequality(Microsoft.Isam.Esent.Interop.JET_BKINFO,Microsoft.Isam.Esent.Interop.JET_BKINFO)">
+            <summary>
+            Determines whether two specified instances of JET_BKINFO
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKINFO.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKINFO.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKINFO.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKINFO.Equals(Microsoft.Isam.Esent.Interop.JET_BKINFO)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME">
+            <summary>
+            Describes a date/time when a backup occurred.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bSeconds">
+            <summary>
+            The time in seconds. This value can be 0 to 59.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bMinutes">
+            <summary>
+            The time in minutes. This value can be 0 to 59.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bHours">
+            <summary>
+            The time in hours. This value can be 0 to 23.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bDays">
+            <summary>
+            The day of the month. This value can be 0 to 31. 0 is
+            used when the structure is null.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bMonth">
+            <summary>
+            The month. This value can be 0 to 12. 0 is
+            used when the structure is null.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bYear">
+            <summary>
+            The year of the event, offset by 1900.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bFiller1">
+            <summary>
+            IsUTC flag at the first bit. Starting from win8, milliseconds (low part) is filled at left 7 bits.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.bFiller2">
+            <summary>
+            OSSnapshot flag at the first bit, Starting from win8, milliseconds (high part) is filled at following 3 bits. Other bits are reserved.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.#ctor(System.DateTime,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME"/> struct.
+            </summary>
+            <param name="time">
+            The DateTime to initialize the structure with.
+            </param>
+            <param name="isSnapshot">
+            True if this time is for a snapshot backup.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.HasValue">
+            <summary>
+            Gets a value indicating whether the JET_BKLOGTIME has a null value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.fTimeIsUTC">
+            <summary>
+            Gets a value indicating whether the JET_BKLOGTIME is in UTC.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.fOSSnapshot">
+            <summary>
+            Gets a value indicating whether the JET_BKLOGTIME is for a snapshot backup.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.op_Equality(Microsoft.Isam.Esent.Interop.JET_BKLOGTIME,Microsoft.Isam.Esent.Interop.JET_BKLOGTIME)">
+            <summary>
+            Determines whether two specified instances of JET_BKLOGTIME
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.op_Inequality(Microsoft.Isam.Esent.Interop.JET_BKLOGTIME,Microsoft.Isam.Esent.Interop.JET_BKLOGTIME)">
+            <summary>
+            Determines whether two specified instances of JET_BKLOGTIME
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.ToDateTime">
+            <summary>
+            Generate a DateTime representation of this JET_BKLOGTIME.
+            </summary>
+            <returns>
+            A DateTime representing the JET_BKLOGTIME. If the JET_BKLOGTIME
+            is null then null is returned.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_BKLOGTIME.Equals(Microsoft.Isam.Esent.Interop.JET_BKLOGTIME)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_CALLBACK">
+            <summary>
+            A multi-purpose callback function used by the database engine to inform
+            the application of an event involving online defragmentation and cursor
+            state notifications. 
+            </summary>
+            <param name="sesid">The session for which the callback is being made.</param>
+            <param name="dbid">The database for which the callback is being made.</param>
+            <param name="tableid">The cursor for which the callback is being made.</param>
+            <param name="cbtyp">The operation for which the callback is being made.</param>
+            <param name="arg1">First callback-specific argument.</param>
+            <param name="arg2">Second callback-specific argument.</param>
+            <param name="context">Callback context.</param>
+            <param name="unused">This parameter is not used.</param>
+            <returns>An ESENT error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_cbtyp">
+            <summary>
+            Type of progress being reported.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.Null">
+            <summary>
+            This callback is reserved and always considered invalid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.Finalize">
+            <summary>
+            A finalizable column has gone to zero.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.BeforeInsert">
+            <summary>
+            This callback will occur just before a new record is inserted into
+            a table by a call to JetUpdate.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.AfterInsert">
+            <summary>
+            This callback will occur just after a new record has been inserted
+            into a table by a call to JetUpdate but before JetUpdate returns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.BeforeReplace">
+            <summary>
+            This callback will occur just prior to an existing record in a table
+            being changed by a call to JetUpdate.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.AfterReplace">
+            <summary>
+            This callback will occur just after an existing record in a table
+            has been changed by a call to JetUpdate but prior to JetUpdate returning.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.BeforeDelete">
+            <summary>
+            This callback will occur just before an existing record in a table
+            is deleted by a call to JetDelete.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.AfterDelete">
+            <summary>
+            This callback will occur just after an existing record in a table
+            is deleted by a call to JetDelete.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.UserDefinedDefaultValue">
+            <summary>
+            This callback will occur when the engine needs to retrieve the
+            user defined default value of a column from the application.
+            This callback is essentially a limited implementation of
+            JetRetrieveColumn that is evaluated by the application. A maximum
+            of one column value can be returned for a user defined default value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.OnlineDefragCompleted">
+            <summary>
+            This callback will occur when the online defragmentation of a
+            database as initiated by JetDefragment has stopped due to either the
+            process being completed or the time limit being reached.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.FreeCursorLS">
+            <summary>
+            This callback will occur when the application needs to clean up
+            the context handle for the Local Storage associated with a cursor
+            that is being released by the database engine. For more information,
+            see JetSetLS. The delegate for this callback reason is
+            configured by means of JetSetSystemParameter with JET_paramRuntimeCallback.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.FreeTableLS">
+            <summary>
+            This callback will occur as the result of the need for the application
+            to cleanup the context handle for the Local Storage associated with
+            a table that is being released by the database engine. For more information,
+            see JetSetLS. The delegate for this callback reason is configured
+            by means of JetSetSystemParameter with JET_paramRuntimeCallback.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_ColInfo">
+            <summary>
+            Info levels for retrieving column info.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ColInfo.Default">
+            <summary>
+            Default option. Retrieves a JET_COLUMNDEF.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ColInfo.List">
+            <summary>
+            Retrieves a JET_COLUMNLIST structure, containing all the columns
+            in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ColInfo.Base">
+            <summary>
+            Retrieves a JET_COLUMNBASE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ColInfo.ByColid">
+            <summary>
+            Retrieves a JET_COLUMNDEF, the szColumnName argument is interpreted
+            as a pointer to a columnid.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_coltyp">
+            <summary>
+            ESENT column types. This list is not extensive. Some column types introduced later
+            are in different classes, such as <see cref="T:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp"/>.
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp"/>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Coltyp"/>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Nil">
+            <summary>
+            Null column type. Invalid for column creation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Bit">
+            <summary>
+            True, False or NULL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.UnsignedByte">
+            <summary>
+            1-byte integer, unsigned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Short">
+            <summary>
+            2-byte integer, signed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long">
+            <summary>
+            4-byte integer, signed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Currency">
+            <summary>
+            8-byte integer, signed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.IEEESingle">
+            <summary>
+            4-byte IEEE single-precisions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.IEEEDouble">
+            <summary>
+            8-byte IEEE double-precision.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.DateTime">
+            <summary>
+            Integral date, fractional time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Binary">
+            <summary>
+            Binary data, up to 255 bytes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text">
+            <summary>
+            Text data, up to 255 bytes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary">
+            <summary>
+            Binary data, up to 2GB.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText">
+            <summary>
+            Text data, up to 2GB.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE">
+            <summary>
+            The native ANSI version of the JET_COLUMNBASE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.columnid">
+            <summary>
+            Column ID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.coltyp">
+            <summary>
+            Type of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.wCountry">
+            <summary>
+            Reserved. Should be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.langid">
+            <summary>
+            Obsolete. Should be .
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.cp">
+            <summary>
+            Code page for text columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.wFiller">
+            <summary>
+            Reserved. Should be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.cbMax">
+            <summary>
+            Maximum length of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.grbit">
+            <summary>
+            Column options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.szBaseTableName">
+            <summary>
+            The table from which the current table inherits its DDL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.szBaseColumnName">
+            <summary>
+            The name of the column in the template table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE.NameSize">
+            <summary>
+            Max size of the table/column name string.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE">
+            <summary>
+            The native Unicode version of the JET_COLUMNBASE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.columnid">
+            <summary>
+            Column ID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.coltyp">
+            <summary>
+            Type of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.wCountry">
+            <summary>
+            Reserved. Should be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.langid">
+            <summary>
+            Obsolete. Should be .
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.cp">
+            <summary>
+            Code page for text columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.wFiller">
+            <summary>
+            Reserved. Should be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.cbMax">
+            <summary>
+            Maximum length of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.grbit">
+            <summary>
+            Column options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.szBaseTableName">
+            <summary>
+            The table from which the current table inherits its DDL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.szBaseColumnName">
+            <summary>
+            The name of the column in the template table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE.NameSize">
+            <summary>
+            Max size of the table/column name string.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE">
+            <summary>
+            Describes a column in a table of an ESENT database.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.#ctor(Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE"/> class.
+            </summary>
+            <param name="value">
+            The value.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.#ctor(Microsoft.Isam.Esent.Interop.NATIVE_COLUMNBASE_WIDE)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE"/> class.
+            </summary>
+            <param name="value">
+            The value.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.coltyp">
+            <summary>
+            Gets type of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.cp">
+            <summary>
+            Gets code page of the column. This is only meaningful for columns of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/> and <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.cbMax">
+            <summary>
+            Gets the maximum length of the column. This is only meaningful for columns of
+            type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Binary"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.grbit">
+            <summary>
+            Gets the column options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.columnid">
+            <summary>
+            Gets the columnid of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.szBaseTableName">
+            <summary>
+            Gets the table from which the current table inherits its DDL.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.szBaseColumnName">
+            <summary>
+            Gets the name of the column in the template table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE.Equals(Microsoft.Isam.Esent.Interop.JET_COLUMNBASE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE">
+            <summary>
+            The native version of the JET_COLUMNCREATE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.szColumnName">
+            <summary>
+            Name of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.coltyp">
+            <summary>
+            Type of the columnn.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.cbMax">
+            <summary>
+            The maximum length of this column (only relevant for binary and text columns).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.grbit">
+            <summary>
+            Column options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.pvDefault">
+            <summary>
+            Default value (NULL if none).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.cbDefault">
+            <summary>
+            Size of the default value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.cp">
+            <summary>
+            Code page (for text columns only).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.columnid">
+            <summary>
+            The returned column id.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE.err">
+            <summary>
+            The returned error code.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE">
+            <summary>
+            Describes a column in a table of an ESENT database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.name">
+            <summary>
+            Name of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.columnType">
+            <summary>
+            The type of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.maxSize">
+            <summary>
+            Maximum size of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.options">
+            <summary>
+            Column options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.defaultValue">
+            <summary>
+            Default value (NULL if none).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.defaultValueSize">
+            <summary>
+            Size of the default value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.codePage">
+            <summary>
+            The code page. Only valid for text columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.id">
+            <summary>
+            Id of the column. Not serialized because it is an internal
+            value and shouldn't be persisted.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.errorCode">
+            <summary>
+            The returned error code.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.szColumnName">
+            <summary>
+            Gets or sets the name of the column to create. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.coltyp">
+            <summary>
+            Gets or sets type of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.cbMax">
+            <summary>
+            Gets or sets the maximum length of the column. This is only meaningful for columns of
+            type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Binary"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.grbit">
+            <summary>
+            Gets or sets the column options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.pvDefault">
+            <summary>
+            Gets or sets the default value (NULL if none).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.cbDefault">
+            <summary>
+            Gets or sets the size of the default value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.cp">
+            <summary>
+            Gets or sets code page of the column. This is only meaningful for columns of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/> and <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.columnid">
+            <summary>
+            Gets the columnid of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.err">
+            <summary>
+            Gets or sets the error code from creating this column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.ContentEquals(Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.CheckMembersAreValid">
+            <summary>
+            Check this object to make sure its parameters are valid.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.GetNativeColumnCreate">
+            <summary>
+            Returns the unmanaged columncreate that represents this managed class.
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.szColumnName"/>, <see cref="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.pvDefault"/>, <see cref="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.columnid"/>,
+            and <see cref="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.err"/> are not converted.
+            </summary>
+            <returns>A native (interop) version of the JET_COLUMNCREATE.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.SetFromNativeColumnCreate(Microsoft.Isam.Esent.Interop.NATIVE_COLUMNCREATE@)">
+            <summary>
+            Sets only the output fields of the object from a native JET_COLUMNCREATE struct,
+            specifically <see cref="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.columnid"/> and <see cref="P:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE.err"/>.
+            </summary>
+            <param name="value">
+            The native columncreate to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF">
+            <summary>
+            The native version of the JET_COLUMNDEF structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.columnid">
+            <summary>
+            Column ID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.coltyp">
+            <summary>
+            Type of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.wCountry">
+            <summary>
+            Reserved. Should be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.langid">
+            <summary>
+            Obsolete. Should be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.cp">
+            <summary>
+            Code page for text columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.wCollate">
+            <summary>
+            Reserved. Should be 0.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.cbMax">
+            <summary>
+            Maximum length of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF.grbit">
+            <summary>
+            Column options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF">
+            <summary>
+            Describes a column in a table of an ESENT database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.columnType">
+            <summary>
+            The type of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.codePage">
+            <summary>
+            The code page. Only valid for text columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.maxSize">
+            <summary>
+            Maximum size of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.id">
+            <summary>
+            Id of the column. Not serialized because it is an internal
+            value and shouldn't be persisted.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.options">
+            <summary>
+            Column options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.coltyp">
+            <summary>
+            Gets or sets type of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.cp">
+            <summary>
+            Gets or sets code page of the column. This is only meaningful for columns of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/> and <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.cbMax">
+            <summary>
+            Gets or sets the maximum length of the column. This is only meaningful for columns of
+            type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Binary"/> and
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.grbit">
+            <summary>
+            Gets or sets the column options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.columnid">
+            <summary>
+            Gets the columnid of the column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.ContentEquals(Microsoft.Isam.Esent.Interop.JET_COLUMNDEF)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.GetNativeColumndef">
+            <summary>
+            Returns the unmanaged columndef that represents this managed class.
+            </summary>
+            <returns>A native (interop) version of the JET_COLUMNDEF.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNDEF.SetFromNativeColumndef(Microsoft.Isam.Esent.Interop.NATIVE_COLUMNDEF)">
+            <summary>
+            Sets the fields of the object from a native JET_COLUMNDEF struct.
+            </summary>
+            <param name="value">
+            The native columndef to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST">
+            <summary>
+            The native version of the JET_COLUMNLIST structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.tableid">
+            <summary>
+            Tableid of the temporary table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.cRecord">
+            <summary>
+            Number of records in the temporary table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidPresentationOrder">
+            <summary>
+            Columnid of the presentation order column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidcolumnname">
+            <summary>
+            Columnid of the name column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidcolumnid">
+            <summary>
+            Columnid of the columnid column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidcoltyp">
+            <summary>
+            Columnid of the coltyp column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidCountry">
+            <summary>
+            Columnid of the country column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidLangid">
+            <summary>
+            Columnid of the langid column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidCp">
+            <summary>
+            Columnid of the codepage column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidCollate">
+            <summary>
+            Columnid of the collation column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidcbMax">
+            <summary>
+            Columnid of the cbMax column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidgrbit">
+            <summary>
+            Columnid of the grbit column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidDefault">
+            <summary>
+            Columnid of the default value column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidBaseTableName">
+            <summary>
+            Columnid of the base table name column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidBaseColumnName">
+            <summary>
+            Columnid of the base column name column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST.columnidDefinitionName">
+            <summary>
+            The column identifier of the name of the column definition.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST">
+            <summary>
+            Information about a temporary table containing information
+            about all columns for a given table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.tableid">
+            <summary>
+            Gets tableid of the temporary table. This should be closed
+            when the table is no longer needed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.cRecord">
+            <summary>
+            Gets the number of records in the temporary table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidcolumnname">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the name of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidcolumnid">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the id of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidcoltyp">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the type of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidCp">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the code page of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidcbMax">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the maximum length of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidgrbit">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the grbit of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidDefault">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the default value of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.columnidBaseTableName">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the name of the base table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST.SetFromNativeColumnlist(Microsoft.Isam.Esent.Interop.NATIVE_COLUMNLIST)">
+            <summary>
+            Sets the fields of the object from a native JET_COLUMNLIST struct.
+            </summary>
+            <param name="value">
+            The native columnlist to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_CONDITIONALCOLUMN">
+            <summary>
+            The native version of the JET_CONDITIONALCOLUMN structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_CONDITIONALCOLUMN.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_CONDITIONALCOLUMN.szColumnName">
+            <summary>
+            Name of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_CONDITIONALCOLUMN.grbit">
+            <summary>
+            Conditional column option.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN">
+            <summary>
+            Defines how conditional indexing is performed for a given index. A
+            conditional index contains an index entry for only those rows that
+            match the specified condition. However, the conditional column is not
+            part of the index's key, it only controls the presence of the index entry.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.columnName">
+            <summary>
+            Column name.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.option">
+            <summary>
+            Conditional column option.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.szColumnName">
+            <summary>
+            Gets or sets the name of the conditional column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.grbit">
+            <summary>
+            Gets or sets the options for the conditional index.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.#ctor(Microsoft.Isam.Esent.Interop.NATIVE_CONDITIONALCOLUMN@)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN"/> class.
+            </summary>
+            <param name="native">The native object from which to read values.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.ContentEquals(Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN.GetNativeConditionalColumn">
+            <summary>
+            Gets the NATIVE_CONDITIONALCOLUMN version of this object.
+            </summary>
+            <returns>A NATIVE_CONDITIONALCOLUMN for this object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_CONVERT">
+            <summary>
+            Conversion options for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCompact(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String,Microsoft.Isam.Esent.Interop.JET_PFNSTATUS,Microsoft.Isam.Esent.Interop.JET_CONVERT,Microsoft.Isam.Esent.Interop.CompactGrbit)"/>. This feature
+            was discontinued in Windows Server 2003.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_CP">
+            <summary>
+            Codepage for an ESENT column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_CP.None">
+            <summary>
+            Code page for non-text columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_CP.Unicode">
+            <summary>
+            Unicode encoding.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_CP.ASCII">
+            <summary>
+            ASCII encoding.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_DbInfo">
+            <summary>
+            Info levels for retrieving database info.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.Filename">
+            <summary>
+            Returns the path to the database file (string).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.LCID">
+            <summary>
+            Returns the locale identifier (LCID) associated with this database (Int32).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.Options">
+            <summary>
+            Returns a <see cref="T:Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit"/>. This indicates whether the
+            database is opened in exclusive mode. If the database is in exclusive mode then 
+            <see cref="F:Microsoft.Isam.Esent.Interop.OpenDatabaseGrbit.Exclusive"/> will be returned, otherwise zero is
+            returned. Other database grbit options for JetAttachDatabase and JetOpenDatabase
+            are not returned.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.Transactions">
+            <summary>
+            Returns a number one greater than the maximum level to which transactions can be
+            nested. If <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetBeginTransaction(Microsoft.Isam.Esent.Interop.JET_SESID)"/> is called (in a nesting fashion, that is, on the
+            same session, without a commit or rollback) as many times as this value, on the
+            last call <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.TransTooDeep"/> will be returned (Int32).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.Version">
+            <summary>
+            Returns the major version of the database engine (Int32).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.Filesize">
+            <summary>
+            Returns the filesize of the database, in pages (Int32).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.SpaceOwned">
+            <summary>
+            Returns the owned space of the database, in pages (Int32).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.SpaceAvailable">
+            <summary>
+            Returns the available space in the database, in pages (Int32).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.Misc">
+            <summary>
+            Returns a <see cref="T:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC"/> object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.DBInUse">
+            <summary>
+            Returns a boolean indicating whether the database is attached (boolean).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.PageSize">
+            <summary>
+            Returns the page size of the database (Int32).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.FileType">
+            <summary>
+            Returns the type of the database (<see cref="T:Microsoft.Isam.Esent.Interop.JET_filetype"/>).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC">
+            <summary>
+            The native version of the JET_DBINFOMISC structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.ulVersion">
+            <summary>
+            Version of Esent that created the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.ulUpdate">
+            <summary>
+            Incremental version of Esent that created the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.signDb">
+            <summary>
+            Database signature.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.dbstate">
+            <summary>
+            Consistent/inconsistent state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.lgposConsistent">
+            <summary>
+            Null if in inconsistent state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.logtimeConsistent">
+            <summary>
+            Null if in inconsistent state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.logtimeAttach">
+            <summary>
+            Last attach time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.lgposAttach">
+            <summary>
+            Lgpos at last attach.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.logtimeDetach">
+            <summary>
+            Last detach time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.lgposDetach">
+            <summary>
+            Lgpos at last detach.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.signLog">
+            <summary>
+            Logfile signature.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.bkinfoFullPrev">
+            <summary>
+            Last successful full backup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.bkinfoIncPrev">
+            <summary>
+            Last successful incremental backup. Reset when 
+            <see cref="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.bkinfoFullPrev"/> is set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.bkinfoFullCur">
+            <summary>
+            Current backup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.fShadowingDisabled">
+            <summary>
+            Internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.fUpgradeDb">
+            <summary>
+            Internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.dwMajorVersion">
+            <summary>
+            OS major version.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.dwMinorVersion">
+            <summary>
+            OS minor version.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.dwBuildNumber">
+            <summary>
+            OS build number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.lSPNumber">
+            <summary>
+            OS Service Pack number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC.cbPageSize">
+            <summary>
+            Database page size (0 = 4Kb page).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4">
+            <summary>
+            Native version of the JET_DBINFOMISC structure.
+            Adds support for fields that we added in Windows 7.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.dbinfo">
+            <summary>
+            The core dbinfo structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.genMinRequired">
+            <summary>
+            The minimum log generation required for replaying the logs.
+            Typically the checkpoint generation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.genMaxRequired">
+            <summary>
+            The maximum log generation required for replaying the logs.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.logtimeGenMaxCreate">
+            <summary>
+            Creation time of the <see cref="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.genMaxRequired"/> logfile.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulRepairCount">
+            <summary>
+            Number of times repair has been called on this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.logtimeRepair">
+            <summary>
+            The last time that repair was run against this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulRepairCountOld">
+            <summary>
+            Number of times this database was repaired before the last defrag.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulECCFixSuccess">
+            <summary>
+            Number of times a one bit error was successfully fixed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.logtimeECCFixSuccess">
+            <summary>
+            The last time a one bit error was successfully fixed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulECCFixSuccessOld">
+            <summary>
+            The number of times a one bit error was successfully fixed before the last repair.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulECCFixFail">
+            <summary>
+            Number of times an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.logtimeECCFixFail">
+            <summary>
+            The last time an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulECCFixFailOld">
+            <summary>
+            The number of times an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulBadChecksum">
+            <summary>
+            Number of times a non-correctable checksum error was found.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.logtimeBadChecksum">
+            <summary>
+            The last time a non-correctable checksum error was found.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.ulBadChecksumOld">
+            <summary>
+            The number of times a non-correctable checksum error was found before the last repair.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.genCommitted">
+            <summary>
+            The maximum log generation committed to the database. Typically the current log generation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.bkinfoCopyPrev">
+            <summary>
+            Last successful copy backup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4.bkinfoDiffPrev">
+            <summary>
+            Last successful differential backup. Reset when 
+            bkinfoFullPrev is set.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC">
+            <summary>
+            Holds miscellaneous information about a database. This is
+            the information that is contained in the database header.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulVersion">
+            <summary>
+            Version of Esent that created the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulUpdate">
+            <summary>
+            Incremental version of Esent that created the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._signDb">
+            <summary>
+            Database signature.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._dbstate">
+            <summary>
+            Consistent/inconsistent state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._lgposConsistent">
+            <summary>
+            Null if in inconsistent state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeConsistent">
+            <summary>
+            Null if in inconsistent state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeAttach">
+            <summary>
+            Last attach time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._lgposAttach">
+            <summary>
+            Lgpos at last attach.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeDetach">
+            <summary>
+            Last detach time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._lgposDetach">
+            <summary>
+            Lgpos at last detach.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._signLog">
+            <summary>
+            Logfile signature.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._bkinfoFullPrev">
+            <summary>
+            Last successful full backup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._bkinfoIncPrev">
+            <summary>
+            Last successful incremental backup. Reset when 
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._bkinfoFullPrev"/> is set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._bkinfoFullCur">
+            <summary>
+            Current backup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._fShadowingDisabled">
+            <summary>
+            Internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._fUpgradeDb">
+            <summary>
+            Internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._dwMajorVersion">
+            <summary>
+            OS major version.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._dwMinorVersion">
+            <summary>
+            OS minor version.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._dwBuildNumber">
+            <summary>
+            OS build number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._lSPNumber">
+            <summary>
+            OS Service Pack number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._cbPageSize">
+            <summary>
+            Database page size (0 = 4Kb page).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._genMinRequired">
+            <summary>
+            The minimum log generation required for replaying the logs.
+            Typically the checkpoint generation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._genMaxRequired">
+            <summary>
+            The maximum log generation required for replaying the logs.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeGenMaxCreate">
+            <summary>
+            Creation time of the <see cref="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._genMaxRequired"/> logfile.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulRepairCount">
+            <summary>
+            Number of times repair has been called on this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeRepair">
+            <summary>
+            The last time that repair was run against this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulRepairCountOld">
+            <summary>
+            Number of times this database was repaired before the last defrag.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulECCFixSuccess">
+            <summary>
+            Number of times a one bit error was successfully fixed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeECCFixSuccess">
+            <summary>
+            The last time a one bit error was successfully fixed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulECCFixSuccessOld">
+            <summary>
+            The number of times a one bit error was successfully fixed before the last repair.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulECCFixFail">
+            <summary>
+            Number of times an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeECCFixFail">
+            <summary>
+            The last time an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulECCFixFailOld">
+            <summary>
+            The number of times an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulBadChecksum">
+            <summary>
+            Number of times a non-correctable checksum error was found.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._logtimeBadChecksum">
+            <summary>
+            The last time a non-correctable checksum error was found.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._ulBadChecksumOld">
+            <summary>
+            The number of times a non-correctable checksum error was found before the last repair.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._genCommitted">
+            <summary>
+            The maximum log generation committed to the database. Typically the current log generation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._bkinfoCopyPrev">
+            <summary>
+            Last successful copy backup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._bkinfoDiffPrev">
+            <summary>
+            Last successful differential backup. Reset when 
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC._bkinfoFullPrev"/> is set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulVersion">
+            <summary>
+            Gets the version of Esent that created the database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulUpdate">
+            <summary>
+            Gets the incremental version of Esent that created the database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.signDb">
+            <summary>
+            Gets the database signature.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.dbstate">
+            <summary>
+            Gets the consistent/inconsistent state of the database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.lgposConsistent">
+            <summary>
+            Gets the lgpos when the database was made consistent.
+            This value is null if the database is inconsistent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeConsistent">
+            <summary>
+            Gets the time when the database was made consistent.
+            This value is null if the database is inconsistent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeAttach">
+            <summary>
+            Gets the time when the database was attached.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.lgposAttach">
+            <summary>
+            Gets the lgpos of the last attach.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeDetach">
+            <summary>
+            Gets the time of the last detach.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.lgposDetach">
+            <summary>
+            Gets the lgpos of the last detach.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.signLog">
+            <summary>
+            Gets the logfile signature of logs used to modify the database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.bkinfoFullPrev">
+            <summary>
+            Gets information about the last successful full backup.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.bkinfoIncPrev">
+            <summary>
+            Gets information about the last successful incremental backup.
+            This value is reset when <see cref="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.bkinfoFullPrev"/> is set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.bkinfoFullCur">
+            <summary>
+            Gets information about the current backup.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.fShadowingDisabled">
+            <summary>
+            Gets a value indicating whether catalog shadowing is enabled.
+            This value is for internal use only.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.fUpgradeDb">
+            <summary>
+            Gets a value indicating whether the database is being upgraded.
+            This value is for internal use only.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.dwMajorVersion">
+            <summary>
+            Gets the OS major version from the last attach.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.dwMinorVersion">
+            <summary>
+            Gets the OS minor version from the last attach.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.dwBuildNumber">
+            <summary>
+            Gets the OS build number from the last attach.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.lSPNumber">
+            <summary>
+            Gets the OS Service Pack number from the last attach.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.cbPageSize">
+            <summary>
+            Gets the database page size. A value of 0 means 4Kb pages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.genMinRequired">
+            <summary>
+            Gets the minimum log generation required for replaying the logs.
+            Typically the checkpoint generation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.genMaxRequired">
+            <summary>
+            Gets the maximum log generation required for replaying the logs.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeGenMaxCreate">
+            <summary>
+            Gets the creation time of the <see cref="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.genMaxRequired"/> logfile.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulRepairCount">
+            <summary>
+            Gets the number of times repair has been called on this database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeRepair">
+            <summary>
+            Gets the last time that repair was run against this database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulRepairCountOld">
+            <summary>
+            Gets the number of times this database was repaired before the last defrag.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulECCFixSuccess">
+            <summary>
+            Gets the number of times a one bit error was successfully fixed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeECCFixSuccess">
+            <summary>
+            Gets the last time a one bit error was successfully fixed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulECCFixSuccessOld">
+            <summary>
+            Gets the number of times a one bit error was successfully fixed before the last repair.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulECCFixFail">
+            <summary>
+            Gets the number of times an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeECCFixFail">
+            <summary>
+            Gets the last time an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulECCFixFailOld">
+            <summary>
+            Gets the number of times an uncorrectable one bit error was encountered.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulBadChecksum">
+            <summary>
+            Gets the number of times a non-correctable checksum error was found.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.logtimeBadChecksum">
+            <summary>
+            Gets the last time a non-correctable checksum error was found.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ulBadChecksumOld">
+            <summary>
+            Gets the number of times a non-correctable checksum error was found before the last repair.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.genCommitted">
+            <summary>
+            Gets the maximum log generation committed to the database. Typically the current log generation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.bkinfoCopyPrev">
+            <summary>
+            Gets information about the last successful copy backup.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.bkinfoDiffPrev">
+            <summary>
+            Gets information about the last successful differential backup. Reset when 
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.bkinfoFullPrev"/> is set.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.ToString">
+            <summary>
+            Gets a string representation of this object.
+            </summary>
+            <returns>A string representation of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
+            </summary>
+            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>.</param>
+            <returns>
+            True if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.Equals(Microsoft.Isam.Esent.Interop.JET_DBINFOMISC)">
+            <summary>
+            Indicates whether the current object is equal to another object of the same type.
+            </summary>
+            <param name="other">An object to compare with this object.</param>
+            <returns>
+            True if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.SetFromNativeDbinfoMisc(Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC@)">
+            <summary>
+            Sets the members of this object from a native object.
+            </summary>
+            <param name="native">The native object.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.SetFromNativeDbinfoMisc(Microsoft.Isam.Esent.Interop.NATIVE_DBINFOMISC4@)">
+            <summary>
+            Sets the members of this object from a native object.
+            </summary>
+            <param name="native">The native object.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.GetNativeDbinfomisc">
+            <summary>
+            Calculates the native version of the structure.
+            </summary>
+            <returns>The native version of the structure.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC.GetNativeDbinfomisc4">
+            <summary>
+            Calculates the native version of the structure.
+            </summary>
+            <returns>The native version of the structure.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_dbstate">
+            <summary>
+            Database states (used in <see cref="T:Microsoft.Isam.Esent.Interop.JET_DBINFOMISC"/>).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_dbstate.JustCreated">
+            <summary>
+            The database was just created.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_dbstate.DirtyShutdown">
+            <summary>
+            Dirty shutdown (inconsistent) database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_dbstate.CleanShutdown">
+            <summary>
+            Clean shutdown (consistent) database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_dbstate.BeingConverted">
+            <summary>
+            Database is being converted.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_dbstate.ForceDetach">
+            <summary>
+            Database was force-detached.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN">
+            <summary>
+            Native (unmanaged) version of the JET_ENUMCOLUMN structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.columnid">
+            <summary>
+            The columnid that was enumerated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.err">
+            <summary>
+            The column status code from the enumeration of the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.cbData">
+            <summary>
+            The size of the value that was enumerated for the column.
+            This member is only used if <see cref="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.err"/> is equal to
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            </summary>
+            <remarks>
+            The unmanaged JET_ENUMCOLUMN structure is a union so this
+            is aliased with cEnumColumnValue.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.pvData">
+            <summary>
+            The the value that was enumerated for the column.
+            This member is only used if <see cref="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.err"/> is equal to
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            </summary>
+            <remarks>
+            The unmanaged JET_ENUMCOLUMN structure is a union so this
+            is aliased with rgEnumColumnValue.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.cEnumColumnValue">
+            <summary>
+            Gets or sets the number of entries in rgEnumColumnValue.
+            This member is only used if <see cref="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.err"/> is not
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            </summary>
+            <remarks>
+            The unmanaged JET_ENUMCOLUMN structure is a union so this
+            property uses cbData as its backing storage.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.rgEnumColumnValue">
+            <summary>
+            Gets or sets an array of column values.
+            This member is only used if <see cref="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN.err"/> is not
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            </summary>
+            <remarks>
+            The unmanaged JET_ENUMCOLUMN structure is a union so this
+            property uses pvData as its backing storage.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN">
+            <summary>
+            Enumerates the column values of a record using the JetEnumerateColumns
+            function. JetEnumerateColumns returns an array of JET_ENUMCOLUMNVALUE
+            structures. The array is returned in memory that was allocated using
+            the callback that was supplied to that function.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.columnid">
+            <summary>
+            Gets the columnid ID that was enumerated.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.err">
+            <summary>
+            Gets the column status code that results from the enumeration.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.cEnumColumnValue">
+            <summary>
+            Gets the number of column values enumerated for the column.
+            This member is only used if <see cref="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.err"/> is not
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.rgEnumColumnValue">
+            <summary>
+            Gets the enumerated column values for the column.
+            This member is only used if <see cref="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.err"/> is not
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.cbData">
+            <summary>
+            Gets the size of the value that was enumerated for the column.
+            This member is only used if <see cref="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.err"/> is equal to
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.pvData">
+            <summary>
+            Gets the the value that was enumerated for the column.
+            This member is only used if <see cref="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.err"/> is equal to
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue"/>.
+            This points to memory allocated with the 
+            <see cref="T:Microsoft.Isam.Esent.Interop.JET_PFNREALLOC"/> allocator callback passed to
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID[],System.Int32@,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN[]@,Microsoft.Isam.Esent.Interop.JET_PFNREALLOC,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit)"/>.
+            Remember to release the memory when finished.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN.SetFromNativeEnumColumn(Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMN)">
+            <summary>
+            Sets the fields of the object from a native JET_ENUMCOLUMN struct.
+            </summary>
+            <param name="value">
+            The native enumcolumn to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNID">
+            <summary>
+            The native (unmanaged) version of the
+            <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID"/> class.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNID.columnid">
+            <summary>
+            Column ID to enumerate.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNID.ctagSequence">
+            <summary>
+            Count of column values to enumerate.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNID.rgtagSequence">
+            <summary>
+            Column values to enumerate.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID">
+            <summary>
+            Enumerates a specific set of columns and, optionally, a specific set
+            of multiple values for those columns when the JetEnumerateColumns
+            function is used. JetEnumerateColumns optionally takes an array of
+            JET_ENUMCOLUMNID structures.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID.columnid">
+            <summary>
+            Gets or sets the columnid ID to enumerate.
+            </summary>
+            <remarks>
+            If the column ID is 0 (zero) then the enumeration of this column is
+            skipped and a corresponding slot in the output array of JET_ENUMCOLUMN
+            structures will be generated with a column state of JET_wrnColumnSkipped.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID.ctagSequence">
+            <summary>
+            Gets or sets the count of column values (by one-based index) to
+            enumerate for the specified column ID. If ctagSequence is 0 (zero) then
+            rgtagSequence is ignored and all column values for the specified column
+            ID will be enumerated.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID.rgtagSequence">
+            <summary>
+            Gets or sets the array of one-based indices into the array of column values for a
+            given column. A single element is an itagSequence which is defined in
+            JET_RETRIEVECOLUMN. An itagSequence of 0 (zero) means "skip". An
+            itagSequence of 1 means return the first column value of the column,
+            2 means the second, and so on.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID.CheckDataSize">
+            <summary>
+            Check to see if ctagSequence is negative or greater than the length
+            of rgtagSequence.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID.GetNativeEnumColumnid">
+            <summary>
+            Gets the native (interop) version of this object.
+            </summary>
+            <returns>A NATIVE_ENUMCOLUMNID representing this object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNVALUE">
+            <summary>
+            Native (unmanaged) version of the JET_ENUMCOLUMNVALUE class.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNVALUE.itagSequence">
+            <summary>
+            The column value that was enumerated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNVALUE.err">
+            <summary>
+            Error or warning from the enumeration.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNVALUE.cbData">
+            <summary>
+            Size of returned data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNVALUE.pvData">
+            <summary>
+            Pointer to returned data.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE">
+            <summary>
+            Enumerates the column values of a record using the JetEnumerateColumns
+            function. <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetEnumerateColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNID[],System.Int32@,Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMN[]@,Microsoft.Isam.Esent.Interop.JET_PFNREALLOC,System.IntPtr,System.Int32,Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit)"/>
+            returns an array of JET_ENUMCOLUMNVALUE
+            structures. The array is returned in memory that was allocated using
+            the callback that was supplied to that function.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE.itagSequence">
+            <summary>
+            Gets the column value (by one-based index) that was enumerated.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE.err">
+            <summary>
+            Gets the column status code resulting from the enumeration of the
+            column value.
+            </summary>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNull"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSkipped"/>
+            <seealso cref="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnTruncated"/>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE.cbData">
+            <summary>
+            Gets the size of the column value for the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE.pvData">
+            <summary>
+            Gets the value that was enumerated for the column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_ENUMCOLUMNVALUE.SetFromNativeEnumColumnValue(Microsoft.Isam.Esent.Interop.NATIVE_ENUMCOLUMNVALUE)">
+            <summary>
+            Sets the fields of the object from a native JET_ENUMCOLUMN struct.
+            </summary>
+            <param name="value">
+            The native enumcolumn to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_err">
+            <summary>
+            ESENT error codes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.Success">
+            <summary>
+            Successful operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RfsFailure">
+            <summary>
+            Resource Failure Simulator failure
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RfsNotArmed">
+            <summary>
+            Resource Failure Simulator not initialized
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileClose">
+            <summary>
+            Could not close file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfThreads">
+            <summary>
+            Could not start thread
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyIO">
+            <summary>
+            System busy due to too many IOs
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TaskDropped">
+            <summary>
+            A requested async task could not be executed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InternalError">
+            <summary>
+            Fatal internal error
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DisabledFunctionality">
+            <summary>
+            You are running MinESE, that does not have all features compiled in.  This functionality is only supported in a full version of ESE.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.UnloadableOSFunctionality">
+            <summary>
+            The desired OS functionality could not be located and loaded / linked.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DeviceMissing">
+            <summary>
+            A required hardware device or functionality was missing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DeviceMisconfigured">
+            <summary>
+            A required hardware device was misconfigured externally.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DeviceTimeout">
+            <summary>
+            Timeout occurred while waiting for a hardware device to respond.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DeviceFailure">
+            <summary>
+            A required hardware device didn't function as expected.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseBufferDependenciesCorrupted">
+            <summary>
+            Buffer dependencies improperly set. Recovery failure
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PreviousVersion">
+            <summary>
+            Version already existed. Recovery failure
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PageBoundary">
+            <summary>
+            Reached Page Boundary
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.KeyBoundary">
+            <summary>
+            Reached Key Boundary
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadPageLink">
+            <summary>
+            Database corrupted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadBookmark">
+            <summary>
+            Bookmark has no corresponding address in database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NTSystemCallFailed">
+            <summary>
+            A call to the operating system failed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadParentPageLink">
+            <summary>
+            Database corrupted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SPAvailExtCacheOutOfSync">
+            <summary>
+            AvailExt cache doesn't match btree
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SPAvailExtCorrupted">
+            <summary>
+            AvailExt space tree is corrupt
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SPAvailExtCacheOutOfMemory">
+            <summary>
+            Out of memory allocating an AvailExt cache node
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SPOwnExtCorrupted">
+            <summary>
+            OwnExt space tree is corrupt
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DbTimeCorrupted">
+            <summary>
+            Dbtime on current page is greater than global database dbtime
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.KeyTruncated">
+            <summary>
+            key truncated on index that disallows key truncation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseLeakInSpace">
+            <summary>
+            Some database pages have become unreachable even from the avail tree, only an offline defragmentation can return the lost space.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadEmptyPage">
+            <summary>
+            Database corrupted. Searching an unexpectedly empty page.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadLineCount">
+            <summary>
+            Number of lines on the page is too few compared to the line being operated on
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.KeyTooBig">
+            <summary>
+            Key is too large
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotSeparateIntrinsicLV">
+            <summary>
+            illegal attempt to separate an LV which must be intrinsic
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SeparatedLongValue">
+            <summary>
+            Operation not supported on separated long-value
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MustBeSeparateLongValue">
+            <summary>
+            Can only preread long value columns that can be separate, e.g. not size constrained so that they are fixed or variable columns
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidPreread">
+            <summary>
+            Cannot preread long values when current index secondary
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidColumnReference">
+            <summary>
+            Column reference is invalid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.StaleColumnReference">
+            <summary>
+            Column reference is stale
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CompressionIntegrityCheckFailed">
+            <summary>
+            A compression integrity check failed. Decompressing data failed the integrity checksum indicating a data corruption in the compress/decompress pipeline.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidLoggedOperation">
+            <summary>
+            Logged operation cannot be redone
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogFileCorrupt">
+            <summary>
+            Log file is corrupt
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NoBackupDirectory">
+            <summary>
+            No backup directory given
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BackupDirectoryNotEmpty">
+            <summary>
+            The backup directory is not empty
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BackupInProgress">
+            <summary>
+            Backup is active already
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RestoreInProgress">
+            <summary>
+            Restore in progress
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MissingPreviousLogFile">
+            <summary>
+            Missing the log file for check point
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogWriteFail">
+            <summary>
+            Failure writing to log file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogDisabledDueToRecoveryFailure">
+            <summary>
+            Try to log something after recovery failed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotLogDuringRecoveryRedo">
+            <summary>
+            Try to log something during recovery redo
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogGenerationMismatch">
+            <summary>
+            Name of logfile does not match internal generation number
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadLogVersion">
+            <summary>
+            Version of log file is not compatible with Jet version
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidLogSequence">
+            <summary>
+            Timestamp in next log does not match expected
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LoggingDisabled">
+            <summary>
+            Log is not active
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogBufferTooSmall">
+            <summary>
+            An operation generated a log record which was too large to fit in the log buffer or in a single log file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogSequenceEnd">
+            <summary>
+            Maximum log file number exceeded
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NoBackup">
+            <summary>
+            No backup in progress
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidBackupSequence">
+            <summary>
+            Backup call out of sequence
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BackupNotAllowedYet">
+            <summary>
+            Cannot do backup now
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DeleteBackupFileFail">
+            <summary>
+            Could not delete backup file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MakeBackupDirectoryFail">
+            <summary>
+            Could not make backup temp directory
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidBackup">
+            <summary>
+            Cannot perform incremental backup when circular logging enabled
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecoveredWithErrors">
+            <summary>
+            Restored with errors
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MissingLogFile">
+            <summary>
+            Current log file missing
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogDiskFull">
+            <summary>
+            Log disk full
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadLogSignature">
+            <summary>
+            Bad signature for a log file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadDbSignature">
+            <summary>
+            Bad signature for a db file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadCheckpointSignature">
+            <summary>
+            Bad signature for a checkpoint file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CheckpointCorrupt">
+            <summary>
+            Checkpoint file not found or corrupt
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MissingPatchPage">
+            <summary>
+            Patch file page not found during recovery
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadPatchPage">
+            <summary>
+            Patch file page is not valid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RedoAbruptEnded">
+            <summary>
+            Redo abruptly ended due to sudden failure in reading logs from log file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PatchFileMissing">
+            <summary>
+            Hard restore detected that patch file is missing from backup set
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseLogSetMismatch">
+            <summary>
+            Database does not belong with the current set of log files
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseStreamingFileMismatch">
+            <summary>
+            Database and streaming file do not match each other
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogFileSizeMismatch">
+            <summary>
+            actual log file size does not match JET_paramLogFileSize
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CheckpointFileNotFound">
+            <summary>
+            Could not locate checkpoint file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RequiredLogFilesMissing">
+            <summary>
+            The required log files for recovery is missing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SoftRecoveryOnBackupDatabase">
+            <summary>
+            Soft recovery is intended on a backup database. Restore should be used instead
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogFileSizeMismatchDatabasesConsistent">
+            <summary>
+            databases have been recovered, but the log file size used during recovery does not match JET_paramLogFileSize
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogSectorSizeMismatch">
+            <summary>
+            the log file sector size does not match the current volume's sector size
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogSectorSizeMismatchDatabasesConsistent">
+            <summary>
+            databases have been recovered, but the log file sector size (used during recovery) does not match the current volume's sector size
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogSequenceEndDatabasesConsistent">
+            <summary>
+            databases have been recovered, but all possible log generations in the current sequence are used; delete all log files and the checkpoint file and backup the databases before continuing
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.StreamingDataNotLogged">
+            <summary>
+            Illegal attempt to replay a streaming file operation where the data wasn't logged. Probably caused by an attempt to roll-forward with circular logging enabled
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseDirtyShutdown">
+            <summary>
+            Database was not shutdown cleanly. Recovery must first be run to properly complete database operations for the previous shutdown.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ConsistentTimeMismatch">
+            <summary>
+            Database last consistent time unmatched
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabasePatchFileMismatch">
+            <summary>
+            Patch file is not generated from this backup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EndingRestoreLogTooLow">
+            <summary>
+            The starting log number too low for the restore
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.StartingRestoreLogTooHigh">
+            <summary>
+            The starting log number too high for the restore
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.GivenLogFileHasBadSignature">
+            <summary>
+            Restore log file has bad signature
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.GivenLogFileIsNotContiguous">
+            <summary>
+            Restore log file is not contiguous
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MissingRestoreLogFiles">
+            <summary>
+            Some restore log files are missing
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MissingFullBackup">
+            <summary>
+            The database missed a previous full backup before incremental backup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadBackupDatabaseSize">
+            <summary>
+            The backup database size is not in 4k
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseAlreadyUpgraded">
+            <summary>
+            Attempted to upgrade a database that is already current
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseIncompleteUpgrade">
+            <summary>
+            Attempted to use a database which was only partially converted to the current format -- must restore from backup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MissingCurrentLogFiles">
+            <summary>
+            Some current log files are missing for continuous restore
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DbTimeTooOld">
+            <summary>
+            dbtime on page smaller than dbtimeBefore in record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DbTimeTooNew">
+            <summary>
+            dbtime on page in advance of the dbtimeBefore in record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MissingFileToBackup">
+            <summary>
+            Some log or patch files are missing during backup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogTornWriteDuringHardRestore">
+            <summary>
+            torn-write was detected in a backup set during hard restore
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogTornWriteDuringHardRecovery">
+            <summary>
+            torn-write was detected during hard recovery (log was not part of a backup set)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogCorruptDuringHardRestore">
+            <summary>
+            corruption was detected in a backup set during hard restore
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogCorruptDuringHardRecovery">
+            <summary>
+            corruption was detected during hard recovery (log was not part of a backup set)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MustDisableLoggingForDbUpgrade">
+            <summary>
+            Cannot have logging enabled while attempting to upgrade db
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadRestoreTargetInstance">
+            <summary>
+            TargetInstance specified for restore is not found or log files don't match
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecoveredWithoutUndo">
+            <summary>
+            Soft recovery successfully replayed all operations, but the Undo phase of recovery was skipped
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabasesNotFromSameSnapshot">
+            <summary>
+            Databases to be restored are not from the same shadow copy backup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SoftRecoveryOnSnapshot">
+            <summary>
+            Soft recovery on a database from a shadow copy backup set
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CommittedLogFilesMissing">
+            <summary>
+            One or more logs that were committed to this database, are missing.  These log files are required to maintain durable ACID semantics, but not required to maintain consistency if the JET_bitReplayIgnoreLostLogs bit is specified during recovery.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SectorSizeNotSupported">
+            <summary>
+            The physical sector size reported by the disk subsystem, is unsupported by ESE for a specific file type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecoveredWithoutUndoDatabasesConsistent">
+            <summary>
+            Soft recovery successfully replayed all operations and intended to skip the Undo phase of recovery, but the Undo phase was not required
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CommittedLogFileCorrupt">
+            <summary>
+            One or more logs were found to be corrupt during recovery.  These log files are required to maintain durable ACID semantics, but not required to maintain consistency if the JET_bitIgnoreLostLogs bit and JET_paramDeleteOutOfRangeLogs is specified during recovery.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogSequenceChecksumMismatch">
+            <summary>
+            The previous log's accumulated segment checksum doesn't match the next log
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PageInitializedMismatch">
+            <summary>
+            Database divergence mismatch. Page was uninitialized on remote node, but initialized on local node.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.UnicodeTranslationBufferTooSmall">
+            <summary>
+            Unicode translation buffer too small
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.UnicodeTranslationFail">
+            <summary>
+            Unicode normalization failed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.UnicodeNormalizationNotSupported">
+            <summary>
+            OS does not provide support for Unicode normalisation (and no normalisation callback was specified)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.UnicodeLanguageValidationFailure">
+            <summary>
+            Can not validate the language
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ExistingLogFileHasBadSignature">
+            <summary>
+            Existing log file has bad signature
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ExistingLogFileIsNotContiguous">
+            <summary>
+            Existing log file is not contiguous
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogReadVerifyFailure">
+            <summary>
+            Checksum error in log file during backup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CheckpointDepthTooDeep">
+            <summary>
+            too many outstanding generations between checkpoint and current generation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RestoreOfNonBackupDatabase">
+            <summary>
+            hard recovery attempted on a database that wasn't a backup database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogFileNotCopied">
+            <summary>
+            log truncation attempted but not all required logs were copied
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SurrogateBackupInProgress">
+            <summary>
+            A surrogate backup is in progress.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TransactionTooLong">
+            <summary>
+            Too many outstanding generations between JetBeginTransaction and current generation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EngineFormatVersionNoLongerSupportedTooLow">
+            <summary>
+            The specified JET_ENGINEFORMATVERSION value is too low to be supported by this version of ESE.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EngineFormatVersionNotYetImplementedTooHigh">
+            <summary>
+            The specified JET_ENGINEFORMATVERSION value is too high, higher than this version of ESE knows about.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EngineFormatVersionParamTooLowForRequestedFeature">
+            <summary>
+            Thrown by a format feature (not at JetSetSystemParameter) if the client requests a feature that requires a version higher than that set for the JET_paramEngineFormatVersion.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EngineFormatVersionSpecifiedTooLowForLogVersion">
+            <summary>
+            The specified JET_ENGINEFORMATVERSION is set too low for this log stream, the log files have already been upgraded to a higher version.  A higher JET_ENGINEFORMATVERSION value must be set in the param.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EngineFormatVersionSpecifiedTooLowForDatabaseVersion">
+            <summary>
+            The specified JET_ENGINEFORMATVERSION is set too low for this database file, the database file has already been upgraded to a higher version.  A higher JET_ENGINEFORMATVERSION value must be set in the param.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BackupAbortByServer">
+            <summary>
+            Backup was aborted by server by calling JetTerm with JET_bitTermStopBackup or by calling JetStopBackup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidGrbit">
+            <summary>
+            Invalid flags parameter
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TermInProgress">
+            <summary>
+            Termination in progress
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FeatureNotAvailable">
+            <summary>
+            API not supported
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidName">
+            <summary>
+            Invalid name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidParameter">
+            <summary>
+            Invalid API parameter
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseFileReadOnly">
+            <summary>
+            Tried to attach a read-only database file for read/write operations
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidDatabaseId">
+            <summary>
+            Invalid database id
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfMemory">
+            <summary>
+            Out of Memory
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfDatabaseSpace">
+            <summary>
+            Maximum database size reached
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfCursors">
+            <summary>
+            Out of table cursors
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfBuffers">
+            <summary>
+            Out of database page buffers
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyIndexes">
+            <summary>
+            Too many indexes
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyKeys">
+            <summary>
+            Too many columns in an index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordDeleted">
+            <summary>
+            Record has been deleted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ReadVerifyFailure">
+            <summary>
+            Checksum error on a database page
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PageNotInitialized">
+            <summary>
+            Blank database page
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfFileHandles">
+            <summary>
+            Out of file handles
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DiskReadVerificationFailure">
+            <summary>
+            The OS returned ERROR_CRC from file IO
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DiskIO">
+            <summary>
+            Disk IO error
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidPath">
+            <summary>
+            Invalid file path
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidSystemPath">
+            <summary>
+            Invalid system path
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidLogDirectory">
+            <summary>
+            Invalid log directory
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordTooBig">
+            <summary>
+            Record larger than maximum size
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyOpenDatabases">
+            <summary>
+            Too many open databases
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidDatabase">
+            <summary>
+            Not a database file
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NotInitialized">
+            <summary>
+            Database engine not initialized
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.AlreadyInitialized">
+            <summary>
+            Database engine already initialized
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InitInProgress">
+            <summary>
+            Database engine is being initialized
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileAccessDenied">
+            <summary>
+            Cannot access file, the file is locked or in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.QueryNotSupported">
+            <summary>
+            Query support unavailable
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SQLLinkNotSupported">
+            <summary>
+            SQL Link support unavailable
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BufferTooSmall">
+            <summary>
+            Buffer is too small
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyColumns">
+            <summary>
+            Too many columns defined
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ContainerNotEmpty">
+            <summary>
+            Container is not empty
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidFilename">
+            <summary>
+            Filename is invalid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidBookmark">
+            <summary>
+            Invalid bookmark
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnInUse">
+            <summary>
+            Column used in an index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidBufferSize">
+            <summary>
+            Data buffer doesn't match column size
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnNotUpdatable">
+            <summary>
+            Cannot set column value
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexInUse">
+            <summary>
+            Index is in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LinkNotSupported">
+            <summary>
+            Link support unavailable
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NullKeyDisallowed">
+            <summary>
+            Null keys are disallowed on index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NotInTransaction">
+            <summary>
+            Operation must be within a transaction
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MustRollback">
+            <summary>
+            Transaction must rollback because failure of unversioned update
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyActiveUsers">
+            <summary>
+            Too many active database users
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidCountry">
+            <summary>
+            Invalid or unknown country/region code
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidLanguageId">
+            <summary>
+            Invalid or unknown language id
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidCodePage">
+            <summary>
+            Invalid or unknown code page
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidLCMapStringFlags">
+            <summary>
+            Invalid flags for LCMapString()
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.VersionStoreEntryTooBig">
+            <summary>
+            Attempted to create a version store entry (RCE) larger than a version bucket
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.VersionStoreOutOfMemoryAndCleanupTimedOut">
+            <summary>
+            Version store out of memory (and cleanup attempt failed to complete)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.VersionStoreOutOfMemory">
+            <summary>
+            Version store out of memory (cleanup already attempted)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CurrencyStackOutOfMemory">
+            <summary>
+            UNUSED: lCSRPerfFUCB * g_lCursorsMax exceeded (XJET only)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotIndex">
+            <summary>
+            Cannot index escrow column
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordNotDeleted">
+            <summary>
+            Record has not been deleted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyMempoolEntries">
+            <summary>
+            Too many mempool entries requested
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfObjectIDs">
+            <summary>
+            Out of btree ObjectIDs (perform offline defrag to reclaim freed/unused ObjectIds)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfLongValueIDs">
+            <summary>
+            Long-value ID counter has reached maximum value. (perform offline defrag to reclaim free/unused LongValueIDs)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfAutoincrementValues">
+            <summary>
+            Auto-increment counter has reached maximum value (offline defrag WILL NOT be able to reclaim free/unused Auto-increment values).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfDbtimeValues">
+            <summary>
+            Dbtime counter has reached maximum value (perform offline defrag to reclaim free/unused Dbtime values)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfSequentialIndexValues">
+            <summary>
+            Sequential index counter has reached maximum value (perform offline defrag to reclaim free/unused SequentialIndex values)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RunningInOneInstanceMode">
+            <summary>
+            Multi-instance call with single-instance mode enabled
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RunningInMultiInstanceMode">
+            <summary>
+            Single-instance call with multi-instance mode enabled
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SystemParamsAlreadySet">
+            <summary>
+            Global system parameters have already been set
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SystemPathInUse">
+            <summary>
+            System path already used by another database instance
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogFilePathInUse">
+            <summary>
+            Logfile path already used by another database instance
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TempPathInUse">
+            <summary>
+            Temp path already used by another database instance
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InstanceNameInUse">
+            <summary>
+            Instance Name already in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SystemParameterConflict">
+            <summary>
+            Global system parameters have already been set, but to a conflicting or disagreeable state to the specified values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InstanceUnavailable">
+            <summary>
+            This instance cannot be used because it encountered a fatal error
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseUnavailable">
+            <summary>
+            This database cannot be used because it encountered a fatal error
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InstanceUnavailableDueToFatalLogDiskFull">
+            <summary>
+            This instance cannot be used because it encountered a log-disk-full error performing an operation (likely transaction rollback) that could not tolerate failure
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidSesparamId">
+            <summary>
+            This JET_sesparam* identifier is not known to the ESE engine.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyRecords">
+            <summary>
+            There are too many records to enumerate, switch to an API that handles 64-bit numbers
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidDbparamId">
+            <summary>
+            This JET_dbparam* identifier is not known to the ESE engine.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OutOfSessions">
+            <summary>
+            Out of sessions
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.WriteConflict">
+            <summary>
+            Write lock failed due to outstanding write lock
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TransTooDeep">
+            <summary>
+            Transactions nested too deeply
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidSesid">
+            <summary>
+            Invalid session handle
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.WriteConflictPrimaryIndex">
+            <summary>
+            Update attempted on uncommitted primary index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InTransaction">
+            <summary>
+            Operation not allowed within a transaction
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RollbackRequired">
+            <summary>
+            Must rollback current transaction -- cannot commit or begin a new one
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TransReadOnly">
+            <summary>
+            Read-only transaction tried to modify the database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SessionWriteConflict">
+            <summary>
+            Attempt to replace the same record by two different cursors in the same session
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordTooBigForBackwardCompatibility">
+            <summary>
+            record would be too big if represented in a database format from a previous version of Jet
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotMaterializeForwardOnlySort">
+            <summary>
+            The temp table could not be created due to parameters that conflict with JET_bitTTForwardOnly
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SesidTableIdMismatch">
+            <summary>
+            This session handle can't be used with this table id
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidInstance">
+            <summary>
+            Invalid instance handle
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DirtyShutdown">
+            <summary>
+            The instance was shutdown successfully but all the attached databases were left in a dirty state by request via JET_bitTermDirty
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ReadPgnoVerifyFailure">
+            <summary>
+            The database page read from disk had the wrong page number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ReadLostFlushVerifyFailure">
+            <summary>
+            The database page read from disk had a previous write not represented on the page.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileSystemCorruption">
+            <summary>
+            File system operation failed with an error indicating the file system is corrupt.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecoveryVerifyFailure">
+            <summary>
+            One or more database pages read from disk during recovery do not match the expected state.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FilteredMoveNotSupported">
+            <summary>
+            Attempted to provide a filter to JetSetCursorFilter() in an unsupported scenario.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MustCommitDistributedTransactionToLevel0">
+            <summary>
+            Attempted to PrepareToCommit a distributed transaction to non-zero level
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DistributedTransactionAlreadyPreparedToCommit">
+            <summary>
+            Attempted a write-operation after a distributed transaction has called PrepareToCommit
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NotInDistributedTransaction">
+            <summary>
+            Attempted to PrepareToCommit a non-distributed transaction
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DistributedTransactionNotYetPreparedToCommit">
+            <summary>
+            Attempted to commit a distributed transaction, but PrepareToCommit has not yet been called
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotNestDistributedTransactions">
+            <summary>
+            Attempted to begin a distributed transaction when not at level 0
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DTCMissingCallback">
+            <summary>
+            Attempted to begin a distributed transaction but no callback for DTC coordination was specified on initialisation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DTCMissingCallbackOnRecovery">
+            <summary>
+            Attempted to recover a distributed transaction but no callback for DTC coordination was specified on initialisation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DTCCallbackUnexpectedError">
+            <summary>
+            Unexpected error code returned from DTC callback
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseDuplicate">
+            <summary>
+            Database already exists
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseInUse">
+            <summary>
+            Database in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseNotFound">
+            <summary>
+            No such database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseInvalidName">
+            <summary>
+            Invalid database name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseInvalidPages">
+            <summary>
+            Invalid number of pages
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseCorrupted">
+            <summary>
+            Non database file or corrupted db
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseLocked">
+            <summary>
+            Database exclusively locked
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotDisableVersioning">
+            <summary>
+            Cannot disable versioning for this database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidDatabaseVersion">
+            <summary>
+            Database engine is incompatible with database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.Database200Format">
+            <summary>
+            The database is in an older (200) format
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.Database400Format">
+            <summary>
+            The database is in an older (400) format
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.Database500Format">
+            <summary>
+            The database is in an older (500) format
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PageSizeMismatch">
+            <summary>
+            The database page size does not match the engine
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyInstances">
+            <summary>
+            Cannot start any more database instances
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseSharingViolation">
+            <summary>
+            A different database instance is using this database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.AttachedDatabaseMismatch">
+            <summary>
+            An outstanding database attachment has been detected at the start or end of recovery, but database is missing or does not match attachment info
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseInvalidPath">
+            <summary>
+            Specified path to database file is illegal
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseIdInUse">
+            <summary>
+            A database is being assigned an id already in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ForceDetachNotAllowed">
+            <summary>
+            Force Detach allowed only after normal detach errored out
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CatalogCorrupted">
+            <summary>
+            Corruption detected in catalog
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PartiallyAttachedDB">
+            <summary>
+            Database is partially attached. Cannot complete attach operation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseSignInUse">
+            <summary>
+            Database with same signature in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseCorruptedNoRepair">
+            <summary>
+            Corrupted db but repair not allowed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidCreateDbVersion">
+            <summary>
+            recovery tried to replay a database creation, but the database was originally created with an incompatible (likely older) version of the database engine
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseIncompleteIncrementalReseed">
+            <summary>
+            The database cannot be attached because it is currently being rebuilt as part of an incremental reseed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseInvalidIncrementalReseed">
+            <summary>
+            The database is not a valid state to perform an incremental reseed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseFailedIncrementalReseed">
+            <summary>
+            The incremental reseed being performed on the specified database cannot be completed due to a fatal error.  A full reseed is required to recover this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NoAttachmentsFailedIncrementalReseed">
+            <summary>
+            The incremental reseed being performed on the specified database cannot be completed because the min required log contains no attachment info.  A full reseed is required to recover this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseNotReady">
+            <summary>
+            Recovery on this database has not yet completed enough to permit access.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseAttachedForRecovery">
+            <summary>
+            Database is attached but only for recovery.  It must be explicitly attached before it can be opened. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TransactionsNotReadyDuringRecovery">
+            <summary>
+            Recovery has not seen any Begin0/Commit0 records and so does not know what trxBegin0 to assign to this transaction
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TableLocked">
+            <summary>
+            Table is exclusively locked
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TableDuplicate">
+            <summary>
+            Table already exists
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TableInUse">
+            <summary>
+            Table is in use, cannot lock
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ObjectNotFound">
+            <summary>
+            No such table or object
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DensityInvalid">
+            <summary>
+            Bad file/index density
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TableNotEmpty">
+            <summary>
+            Table is not empty
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidTableId">
+            <summary>
+            Invalid table id
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyOpenTables">
+            <summary>
+            Cannot open any more tables (cleanup already attempted)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IllegalOperation">
+            <summary>
+            Oper. not supported on table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyOpenTablesAndCleanupTimedOut">
+            <summary>
+            Cannot open any more tables (cleanup attempt failed to complete)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ObjectDuplicate">
+            <summary>
+            Table or object name in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidObject">
+            <summary>
+            Object is invalid for operation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotDeleteTempTable">
+            <summary>
+            Use CloseTable instead of DeleteTable to delete temp table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotDeleteSystemTable">
+            <summary>
+            Illegal attempt to delete a system table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotDeleteTemplateTable">
+            <summary>
+            Illegal attempt to delete a template table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ExclusiveTableLockRequired">
+            <summary>
+            Must have exclusive lock on table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FixedDDL">
+            <summary>
+            DDL operations prohibited on this table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FixedInheritedDDL">
+            <summary>
+            On a derived table, DDL operations are prohibited on inherited portion of DDL
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotNestDDL">
+            <summary>
+            Nesting of hierarchical DDL is not currently supported.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DDLNotInheritable">
+            <summary>
+            Tried to inherit DDL from a table not marked as a template table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidSettings">
+            <summary>
+            System parameters were set improperly
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ClientRequestToStopJetService">
+            <summary>
+            Client has requested stop service
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotAddFixedVarColumnToDerivedTable">
+            <summary>
+            Template table was created with NoFixedVarColumnsInDerivedTables
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexCantBuild">
+            <summary>
+            Index build failed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexHasPrimary">
+            <summary>
+            Primary index already defined
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexDuplicate">
+            <summary>
+            Index is already defined
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexNotFound">
+            <summary>
+            No such index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexMustStay">
+            <summary>
+            Cannot delete clustered index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexInvalidDef">
+            <summary>
+            Illegal index definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidCreateIndex">
+            <summary>
+            Invalid create index description
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyOpenIndexes">
+            <summary>
+            Out of index description blocks
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MultiValuedIndexViolation">
+            <summary>
+            Non-unique inter-record index keys generated for a multivalued index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexBuildCorrupted">
+            <summary>
+            Failed to build a secondary index that properly reflects primary index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PrimaryIndexCorrupted">
+            <summary>
+            Primary index is corrupt. The database must be defragmented or the table deleted.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SecondaryIndexCorrupted">
+            <summary>
+            Secondary index is corrupt. The database must be defragmented or the affected index must be deleted. If the corrupt index is over Unicode text, a likely cause is a sort-order change.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidIndexId">
+            <summary>
+            Illegal index id
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesSecondaryIndexOnly">
+            <summary>
+            tuple index can only be on a secondary index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesTooManyColumns">
+            <summary>
+            tuple index may only have eleven columns in the index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesNonUniqueOnly">
+            <summary>
+            tuple index must be a non-unique index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesTextBinaryColumnsOnly">
+            <summary>
+            tuple index must be on a text/binary column
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesVarSegMacNotAllowed">
+            <summary>
+            tuple index does not allow setting cbVarSegMac
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesInvalidLimits">
+            <summary>
+            invalid min/max tuple length or max characters to index specified
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesCannotRetrieveFromIndex">
+            <summary>
+            cannot call RetrieveColumn() with RetrieveFromIndex on a tuple index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.IndexTuplesKeyTooSmall">
+            <summary>
+            specified key does not meet minimum tuple length
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidLVChunkSize">
+            <summary>
+            Specified LV chunk size is not supported
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnCannotBeEncrypted">
+            <summary>
+            Only JET_coltypLongText and JET_coltypLongBinary columns without default values can be encrypted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotIndexOnEncryptedColumn">
+            <summary>
+            Cannot index encrypted column
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnLong">
+            <summary>
+            Column value is long
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnNoChunk">
+            <summary>
+            No such chunk in long value
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnDoesNotFit">
+            <summary>
+            Field will not fit in record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NullInvalid">
+            <summary>
+            Null not valid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnIndexed">
+            <summary>
+            Column indexed, cannot delete
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnTooBig">
+            <summary>
+            Field length is greater than maximum
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnNotFound">
+            <summary>
+            No such column
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnDuplicate">
+            <summary>
+            Field is already defined
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MultiValuedColumnMustBeTagged">
+            <summary>
+            Attempted to create a multi-valued column, but column was not Tagged
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnRedundant">
+            <summary>
+            Second autoincrement or version column
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidColumnType">
+            <summary>
+            Invalid column data type
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TaggedNotNULL">
+            <summary>
+            No non-NULL tagged columns
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NoCurrentIndex">
+            <summary>
+            Invalid w/o a current index
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.KeyIsMade">
+            <summary>
+            The key is completely made
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadColumnId">
+            <summary>
+            Column Id Incorrect
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.BadItagSequence">
+            <summary>
+            Bad itagSequence for tagged column
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnInRelationship">
+            <summary>
+            Cannot delete, column participates in relationship
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CannotBeTagged">
+            <summary>
+            AutoIncrement and Version cannot be tagged
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DefaultValueTooBig">
+            <summary>
+            Default value exceeds maximum size
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MultiValuedDuplicate">
+            <summary>
+            Duplicate detected on a unique multi-valued column
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LVCorrupted">
+            <summary>
+            Corruption encountered in long-value tree
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.MultiValuedDuplicateAfterTruncation">
+            <summary>
+            Duplicate detected on a unique multi-valued column after data was normalized, and normalizing truncated the data before comparison
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DerivedColumnCorruption">
+            <summary>
+            Invalid column in derived table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidPlaceholderColumn">
+            <summary>
+            Tried to convert column to a primary index placeholder, but column doesn't meet necessary criteria
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnCannotBeCompressed">
+            <summary>
+            Only JET_coltypLongText and JET_coltypLongBinary columns can be compressed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.ColumnNoEncryptionKey">
+            <summary>
+            Cannot retrieve/set encrypted column without an encryption key
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordNotFound">
+            <summary>
+            The key was not found
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordNoCopy">
+            <summary>
+            No working buffer
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.NoCurrentRecord">
+            <summary>
+            Currency not on a record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordPrimaryChanged">
+            <summary>
+            Primary key may not change
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.KeyDuplicate">
+            <summary>
+            Illegal duplicate key
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.AlreadyPrepared">
+            <summary>
+            Attempted to update record when record update was already in progress
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.KeyNotMade">
+            <summary>
+            No call to JetMakeKey
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.UpdateNotPrepared">
+            <summary>
+            No call to JetPrepareUpdate
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DataHasChanged">
+            <summary>
+            Data has changed, operation aborted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LanguageNotSupported">
+            <summary>
+            Windows installation does not support language
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DecompressionFailed">
+            <summary>
+            Internal error: data could not be decompressed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.UpdateMustVersion">
+            <summary>
+            No version updates only for uncommitted tables
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DecryptionFailed">
+            <summary>
+            Data could not be decrypted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EncryptionBadItag">
+            <summary>
+            Cannot encrypt tagged columns with itag>1
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManySorts">
+            <summary>
+            Too many sort processes
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidOnSort">
+            <summary>
+            Invalid operation on Sort
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TempFileOpenError">
+            <summary>
+            Temp file could not be opened
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyAttachedDatabases">
+            <summary>
+            Too many open databases
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DiskFull">
+            <summary>
+            No space left on disk
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.PermissionDenied">
+            <summary>
+            Permission denied
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileNotFound">
+            <summary>
+            File not found
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileInvalidType">
+            <summary>
+            Invalid file type
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileAlreadyExists">
+            <summary>
+            File already exists
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.AfterInitialization">
+            <summary>
+            Cannot Restore after init.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LogCorrupted">
+            <summary>
+            Logs could not be interpreted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidOperation">
+            <summary>
+            Invalid operation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.AccessDenied">
+            <summary>
+            Access denied
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManySplits">
+            <summary>
+            Infinite split
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SessionSharingViolation">
+            <summary>
+            Multiple threads are using the same session
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.EntryPointNotFound">
+            <summary>
+            An entry point in a DLL we require could not be found
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SessionContextAlreadySet">
+            <summary>
+            Specified session already has a session context set
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SessionContextNotSetByThisThread">
+            <summary>
+            Tried to reset session context, but current thread did not originally set the session context
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SessionInUse">
+            <summary>
+            Tried to terminate session in use
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RecordFormatConversionFailed">
+            <summary>
+            Internal error during dynamic record format conversion
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OneDatabasePerSession">
+            <summary>
+            Just one open user database per session is allowed (JET_paramOneDatabasePerSession)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.RollbackError">
+            <summary>
+            error during rollback
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FlushMapVersionUnsupported">
+            <summary>
+            The version of the persisted flush map is not supported by this version of the engine.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FlushMapDatabaseMismatch">
+            <summary>
+            The persisted flush map and the database do not match.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FlushMapUnrecoverable">
+            <summary>
+            The persisted flush map cannot be reconstructed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.DatabaseAlreadyRunningMaintenance">
+            <summary>
+            The operation did not complete successfully because the database is already running maintenance on specified database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CallbackFailed">
+            <summary>
+            A callback failed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.CallbackNotResolved">
+            <summary>
+            A callback function could not be found
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.SpaceHintsInvalid">
+            <summary>
+            An element of the JET space hints structure was not correct or actionable.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OSSnapshotInvalidSequence">
+            <summary>
+            OS Shadow copy API used in an invalid sequence
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OSSnapshotTimeOut">
+            <summary>
+            OS Shadow copy ended with time-out
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OSSnapshotNotAllowed">
+            <summary>
+            OS Shadow copy not allowed (backup or recovery in progress)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.OSSnapshotInvalidSnapId">
+            <summary>
+            invalid JET_OSSNAPID
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TooManyTestInjections">
+            <summary>
+            Internal test injection limit hit
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.TestInjectionNotSupported">
+            <summary>
+            Test injection not supported
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.InvalidLogDataSequence">
+            <summary>
+            Some how the log data provided got out of sequence with the current state of the instance
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LSCallbackNotSpecified">
+            <summary>
+            Attempted to use Local Storage without a callback function being specified
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LSAlreadySet">
+            <summary>
+            Attempted to set Local Storage for an object which already had it set
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.LSNotSet">
+            <summary>
+            Attempted to retrieve Local Storage from an object which didn't have it set
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileIOSparse">
+            <summary>
+            an I/O was issued to a location that was sparse
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileIOBeyondEOF">
+            <summary>
+            a read was issued to a location beyond EOF (writes will expand the file)
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileIOAbort">
+            <summary>
+            instructs the JET_ABORTRETRYFAILCALLBACK caller to abort the specified I/O
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileIORetry">
+            <summary>
+            instructs the JET_ABORTRETRYFAILCALLBACK caller to retry the specified I/O
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileIOFail">
+            <summary>
+            instructs the JET_ABORTRETRYFAILCALLBACK caller to fail the specified I/O
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_err.FileCompressed">
+            <summary>
+            read/write access is not supported on compressed files
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.EventLoggingLevels">
+            <summary>
+            Options for EventLoggingLevel.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EventLoggingLevels.Disable">
+            <summary>
+            Disable all events.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EventLoggingLevels.Min">
+            <summary>
+            Default level. Windows 7 and later.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EventLoggingLevels.Low">
+            <summary>
+            Low verbosity and lower. Windows 7 and later.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EventLoggingLevels.Medium">
+            <summary>
+            Medium verbosity and lower. Windows 7 and later.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EventLoggingLevels.High">
+            <summary>
+            High verbosity and lower. Windows 7 and later.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.EventLoggingLevels.Max">
+            <summary>
+            All events.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_ExceptionAction">
+            <summary>
+            Constants to be used with JET_paramExceptionAction.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ExceptionAction.MsgBox">
+            <summary>
+            Display message box on exception.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ExceptionAction.None">
+            <summary>
+            Do not handle exceptions. Throw them to the caller.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_filetype">
+            <summary>
+            Esent file types.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_filetype.Unknown">
+            <summary>
+            Unknown file.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_filetype.Database">
+            <summary>
+            Database file.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_filetype.Log">
+            <summary>
+            Transaction log.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_filetype.Checkpoint">
+            <summary>
+            Checkpoint file.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_filetype.TempDatabase">
+            <summary>
+            Temporary database.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_IdxInfo">
+            <summary>
+            Info levels for retrieve index information with JetGetIndexInfo.
+            and JetGetTableIndexInfo.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7IdxInfo"/>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8IdxInfo"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.Default">
+            <summary>
+            Returns a <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXLIST"/> structure with information about the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.List">
+            <summary>
+            Returns a <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXLIST"/> structure with information about the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.SysTabCursor">
+            <summary>
+            SysTabCursor is obsolete.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.OLC">
+            <summary>
+            OLC is obsolete.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.ResetOLC">
+            <summary>
+            Reset OLC is obsolete.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.SpaceAlloc">
+            <summary>
+            Returns an integer with the space usage of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.LCID">
+            <summary>
+            Returns an integer with the LCID of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.Langid">
+            <summary>
+            Langid is obsolete. Use <see cref="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.LCID"/> instead.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.Count">
+            <summary>
+            Returns an integer with the count of indexes in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.VarSegMac">
+            <summary>
+            Returns a ushort with the value of cbVarSegMac the index was created with.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.IndexId">
+            <summary>
+            Returns a <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXID"/> identifying the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_IdxInfo.KeyMost">
+            <summary>
+            Introduced in Windows Vista. Returns a ushort with the value of cbKeyMost the 
+            index was created with.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE">
+            <summary>
+            Contains the information needed to create an index over data in an ESE database.
+            </summary>
+            <summary>
+            Contains the information needed to create an index over data in an ESE database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.name">
+            <summary>
+            Name of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.key">
+            <summary>
+            Index key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.keyLength">
+            <summary>
+            Length of the index key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.options">
+            <summary>
+            Index options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.density">
+            <summary>
+            Index density.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.unicodeOptions">
+            <summary>
+            Unicode comparison options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.maxSegmentLength">
+            <summary>
+            Maximum length of a column to store in the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.conditionalColumns">
+            <summary>
+            Conditional columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.numConditionalColumns">
+            <summary>
+            Number of conditional columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.errorCode">
+            <summary>
+            Error code from index creation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.maximumKeyLength">
+            <summary>
+            Maximum length of index keys.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.spaceHints">
+            <summary>
+            Space allocation, maintenance, and usage hints.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.err">
+            <summary>
+            Gets or sets the error code from creating this index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szIndexName">
+            <summary>
+            Gets or sets the name of the index to create. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szKey">
+            <summary>
+            Gets or sets the description of the index key. This is a double 
+            null-terminated string of null-delimited tokens. Each token is
+            of the form [direction-specifier][column-name], where
+            direction-specification is either "+" or "-". for example, a
+            szKey of "+abc\0-def\0+ghi\0" will index over the three columns
+            "abc" (in ascending order), "def" (in descending order), and "ghi"
+            (in ascending order).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.cbKey">
+            <summary>
+            Gets or sets the length, in characters, of szKey including the two terminating nulls.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.grbit">
+            <summary>
+            Gets or sets index creation options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.ulDensity">
+            <summary>
+            Gets or sets the density of the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.pidxUnicode">
+            <summary>
+            Gets or sets the optional unicode comparison options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.cbVarSegMac">
+            <summary>
+            Gets or sets the maximum length, in bytes, of each column to store in the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.rgconditionalcolumn">
+            <summary>
+            Gets or sets the optional conditional columns.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.cConditionalColumn">
+            <summary>
+            Gets or sets the number of conditional columns.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.cbKeyMost">
+            <summary>
+            Gets or sets the maximum allowable size, in bytes, for keys in the index.
+            The minimum supported maximum key size is JET_cbKeyMostMin (255) which
+            is the legacy maximum key size. The maximum key size is dependent on
+            the database page size <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.DatabasePageSize"/>. The
+            maximum key size can be retrieved with <see cref="P:Microsoft.Isam.Esent.Interop.SystemParameters.KeyMost"/>.
+            <para>
+            This parameter is ignored on Windows XP and Windows Server 2003.
+            </para>
+            <para>
+            Unlike the unmanaged API, <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexKeyMost"/>
+            (JET_bitIndexKeyMost) is not needed, it will be added automatically.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.pSpaceHints">
+            <summary>
+            Gets or sets space allocation, maintenance, and usage hints.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.ContentEquals(Microsoft.Isam.Esent.Interop.JET_INDEXCREATE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.CheckMembersAreValid">
+            <summary>
+            Check this object to make sure its parameters are valid.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.GetNativeIndexcreate">
+            <summary>
+            Gets the native (interop) version of this object, except for
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szIndexName"/> and <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szKey"/>.
+            </summary>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.GetNativeIndexcreate1">
+            <summary>
+            Gets the native (interop) version of this object, except for
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szIndexName"/> and <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szKey"/>.
+            </summary>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.GetNativeIndexcreate2">
+            <summary>
+            Gets the native (interop) version of this object. The following members
+            are not converted:
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szIndexName"/>, <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szKey"/>, <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.pSpaceHints"/>.
+            </summary>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.SetFromNativeIndexCreate(Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE2)">
+            <summary>
+            Sets only the output fields of the object from a NATIVE_INDEXCREATE2 struct,
+            specifically <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.err"/>.
+            </summary>
+            <param name="value">
+            The native indexcreate to set the values from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.SetFromNativeIndexCreate(Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE1)">
+            <summary>
+            Sets only the output fields of the object from a NATIVE_INDEXCREATE1 struct,
+            specifically <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.err"/>.
+            </summary>
+            <param name="value">
+            The native indexcreate to set the values from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.SetFromNativeIndexCreate(Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE)">
+            <summary>
+            Sets only the output fields of the object from a native NATIVE_INDEXCREATE struct,
+            specifically <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.err"/>.
+            </summary>
+            <param name="value">
+            The native indexcreate to set the values from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.IsUnicodeIndexEqual(Microsoft.Isam.Esent.Interop.JET_INDEXCREATE)">
+            <summary>
+            Returns a value indicating whether the pidxUnicode member of this
+            instance is equal to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the pidxUnicode members of two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.AreConditionalColumnsEqual(Microsoft.Isam.Esent.Interop.JET_INDEXCREATE)">
+            <summary>
+            Returns a value indicating whether the conditional column members of this
+            instance is equal to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the conditional column members of two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE">
+            <summary>
+            The native version of the JET_INDEXCREATE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.szIndexName">
+            <summary>
+            Name of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.szKey">
+            <summary>
+            Index key description.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.cbKey">
+            <summary>
+            Size of index key description.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.grbit">
+            <summary>
+            Index options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.ulDensity">
+            <summary>
+            Index density.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.pidxUnicode">
+            <summary>
+            Pointer to unicode sort options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.cbVarSegMac">
+            <summary>
+            Maximum size of column data to index. This can also be
+            a pointer to a JET_TUPLELIMITS structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.rgconditionalcolumn">
+            <summary>
+            Pointer to array of conditional columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.cConditionalColumn">
+            <summary>
+            Count of conditional columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE.err">
+            <summary>
+            Returned error from index creation.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE2">
+            <summary>
+            The native version of the JET_INDEXCREATE2 structure. Introduced in Windows 7,
+            this includes a <see cref="T:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS"/> member.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE2.indexcreate1">
+            <summary>
+            Nested NATIVE_INDEXCREATE1 structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE2.pSpaceHints">
+            <summary>
+            A <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS"/> pointer.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE1">
+            <summary>
+            The native version of the JET_INDEXCREATE structure. This version includes the cbKeyMost
+            member, which is only valid on Windows Vista and above, but the name of the structure
+            was not changed for Vista.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE1.indexcreate">
+            <summary>
+            Nested NATIVE_INDEXCREATE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE1.cbKeyMost">
+            <summary>
+            Maximum size of the key.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.GetNativeIndexcreate3">
+            <summary>
+            Gets the native (interop) version of this object, except for
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szIndexName"/> and <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.szKey"/>.
+            </summary>
+            <remarks>The cbKey holds the length of the key in bytes, and does not need to be adjusted.</remarks>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.SetFromNativeIndexCreate(Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3@)">
+            <summary>
+            Sets only the output fields of the object from a <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3"/> struct,
+            specifically <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.err"/>.
+            </summary>
+            <param name="value">
+            The native indexcreate to set the values from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.SetAllFromNativeIndexCreate(Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3@)">
+            <summary>
+            Sets all of the fields (not just output fields) of the object from a <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3"/> struct,
+            specifically <see cref="P:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.err"/>.
+            </summary>
+            <param name="value">
+            The native indexcreate to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3">
+            <summary>
+            The native version of the JET_INDEXCREATE3 structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.szIndexName">
+            <summary>
+            Name of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.szKey">
+            <summary>
+            Index key description.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.cbKey">
+            <summary>
+            Size of index key description.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.grbit">
+            <summary>
+            Index options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.ulDensity">
+            <summary>
+            Index density.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.pidxUnicode">
+            <summary>
+            Pointer to unicode sort options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.cbVarSegMac">
+            <summary>
+            Maximum size of column data to index. This can also be
+            a pointer to a JET_TUPLELIMITS structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.rgconditionalcolumn">
+            <summary>
+            Pointer to array of conditional columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.cConditionalColumn">
+            <summary>
+            Count of conditional columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.err">
+            <summary>
+            Returned error from index creation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.cbKeyMost">
+            <summary>
+            Maximum size of the key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3.pSpaceHints">
+            <summary>
+            A <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS"/> pointer.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST">
+            <summary>
+            The native version of the JET_INDEXLIST structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.tableid">
+            <summary>
+            Tableid of the temporary table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.cRecord">
+            <summary>
+            Number of records in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidindexname">
+            <summary>
+            Id of the column containing the name of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidgrbitIndex">
+            <summary>
+            Id of the column containing index options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidcKey">
+            <summary>
+            Id of the column containing the number of unique keys in the index.
+            This is updated by "Api.JetComputeStats".
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidcEntry">
+            <summary>
+            Id of the column containing the number of entries in the index.
+            This is updated by "Api.JetComputeStats".
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidcPage">
+            <summary>
+            Id of the column containing the number of pages in the index.
+            This is updated by "Api.JetComputeStats".
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidcColumn">
+            <summary>
+            Id of the column containing the number of columns in the index
+            definition.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidiColumn">
+            <summary>
+            Id of the column storing the index of this column in the index key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidcolumnid">
+            <summary>
+            Id of the column containing the columnid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidcoltyp">
+            <summary>
+            Id of the column containing the column type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidCountry">
+            <summary>
+            Id of the column containing the country code (obsolete).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidLangid">
+            <summary>
+            Id of the column containing the LCID of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidCp">
+            <summary>
+            Id of the column containing the code page of the index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidCollate">
+            <summary>
+            Obsolete. Ignored.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidgrbitColumn">
+            <summary>
+            Id of the column giving the column options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidcolumnname">
+            <summary>
+            Id of the column giving the column name.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST.columnidLCMapFlags">
+            <summary>
+            Id of the column giving the LCMapString options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INDEXLIST">
+            <summary>
+            Information about a temporary table containing information
+            about all indexes for a given table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.tableid">
+            <summary>
+            Gets tableid of the temporary table. This should be closed
+            when the table is no longer needed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.cRecord">
+            <summary>
+            Gets the number of records in the temporary table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidindexname">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the name of the index.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidgrbitIndex">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the the grbits used on the index. See <see cref="T:Microsoft.Isam.Esent.Interop.CreateIndexGrbit"/>.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidcKey">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the number of unique keys in the index.
+            This value is not current and is only is updated by "Api.JetComputeStats".
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidcEntry">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the number of entries in the index.
+            This value is not current and is only is updated by "Api.JetComputeStats".
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidcPage">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the number of pages in the index.
+            This value is not current and is only is updated by "Api.JetComputeStats".
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidcColumn">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the number of columns in the index key.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidiColumn">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the index of of this column in the index key.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidcolumnid">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the columnid of the column being indexed.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidcoltyp">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the column type of the column being indexed.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidLangid">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the language id (LCID) of the index.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Short"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidCp">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the code page of the indexed column.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Short"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidgrbitColumn">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the grbit that apply to the indexed column. See <see cref="T:Microsoft.Isam.Esent.Interop.IndexKeyGrbit"/>.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidcolumnname">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the grbit that apply to the indexed column. See <see cref="T:Microsoft.Isam.Esent.Interop.IndexKeyGrbit"/>.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Text"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.columnidLCMapFlags">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the unicode normalization flags for the index.
+            The column is of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.Long"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXLIST"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXLIST"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXLIST.SetFromNativeIndexlist(Microsoft.Isam.Esent.Interop.NATIVE_INDEXLIST)">
+            <summary>
+            Sets the fields of the object from a native JET_INDEXLIST struct.
+            </summary>
+            <param name="value">
+            The native indexlist to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_INDEXRANGE">
+            <summary>
+            The native version of the JET_INDEXRANGE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXRANGE.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXRANGE.tableid">
+            <summary>
+            Cursor containing the index range.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INDEXRANGE.grbit">
+            <summary>
+            Index range options.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.NATIVE_INDEXRANGE.MakeIndexRangeFromTableid(Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Create a NATIVE_INDEXRANGE from a cursor.
+            </summary>
+            <param name="tableid">The cursor containing the index range.</param>
+            <returns>A new NATIVE_INDEXRANGE on the cursor.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE">
+            <summary>
+            Identifies an index range when it is used with the JetIntersectIndexes function.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE.#ctor">
+            <summary>
+            Initializes a new instance of the JET_INDEXRANGE class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE.tableid">
+            <summary>
+            Gets or sets the cursor containing the index range. The cursor should have an
+            index range set with JetSetIndexRange.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE.grbit">
+            <summary>
+            Gets or sets the indexrange option.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE.ContentEquals(Microsoft.Isam.Esent.Interop.JET_INDEXRANGE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXRANGE.GetNativeIndexRange">
+            <summary>
+            Get a NATIVE_INDEXRANGE structure representing the object.
+            </summary>
+            <returns>A NATIVE_INDEXRANGE whose members match the class.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO">
+            <summary>
+            The native version of the JET_INSTANCE_INFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO.hInstanceId">
+            <summary>
+            The JET_INSTANCE of the given instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO.szInstanceName">
+            <summary>
+            The name of the database instance. This value can be NULL if the
+            instance does not have a name.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO.cDatabases">
+            <summary>
+            The number of databases that are attached to the database instance.
+            cDatabases also holds the size of the arrays of strings that are
+            returned in szDatabaseFileName, szDatabaseDisplayName, and
+            szDatabaseSLVFileName.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO.szDatabaseFileName">
+            <summary>
+            An array of strings, each holding the file name of a database that
+            is attached to the database instance. The array has cDatabases
+            elements.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO.szDatabaseDisplayName">
+            <summary>
+            An array of strings, each holding the display name of a database.
+            This string is always null. The array has cDatabases elements.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO.szDatabaseSLVFileName">
+            <summary>
+            An array of strings, each holding the file name of the SLV file that
+            is attached to the database instance. The array has cDatabases
+            elements. SLV files are not supported, so this field should be ignored.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO">
+            <summary>
+            Receives information about running database instances when used with the
+            JetGetInstanceInfo and JetOSSnapshotFreeze functions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.databases">
+            <summary>
+            Collection of database file names.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.#ctor(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.String,System.String[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO"/> class.
+            </summary>
+            <param name="instance">
+            The instance.
+            </param>
+            <param name="instanceName">
+            The name of the instance.
+            </param>
+            <param name="databases">
+            The databases in the instance.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.hInstanceId">
+            <summary>
+            Gets the JET_INSTANCE of the given instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.szInstanceName">
+            <summary>
+            Gets the name of the database instance. This value can be null if
+            the instance does not have a name.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.cDatabases">
+            <summary>
+            Gets the number of databases that are attached to the database instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.szDatabaseFileName">
+            <summary>
+            Gets a collection of strings, each holding the file name of a database
+            that is attached to the database instance. The array has cDatabases
+            elements.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.Equals(Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.SetFromNativeAscii(Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO)">
+            <summary>
+            Set the properties of the object from a native instance info where the
+            strings in the NATIVE_INSTANCE_INFO are ASCII.
+            </summary>
+            <param name="native">The native instance info.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO.SetFromNativeUnicode(Microsoft.Isam.Esent.Interop.NATIVE_INSTANCE_INFO)">
+            <summary>
+            Set the properties of the object from a native instance info where the
+            strings in the NATIVE_INSTANCE_INFO are Unicode.
+            </summary>
+            <param name="native">The native instance info.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.JET_IOPriority">
+            <summary>
+            Values for use with <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.IOPriority"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_IOPriority.Normal">
+            <summary>
+            This is the default I/O priority level.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_IOPriority.Low">
+            <summary>
+            Subsequent I/Os issued will be issued at Low priority.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_IOPriority.LowForCheckpoint">
+            <summary>
+            Subsequent I/Os issued for checkpoint advancement will be issued at Low priority.
+            </summary>
+            <remarks>
+            Available on Windows 8.1 and later.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_IOPriority.LowForScavenge">
+            <summary>
+            Subsequent I/Os issued for scavenging buffers will be issued at Low priority.
+            </summary>
+            <remarks>
+            Available on Windows 8.1 and later.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE">
+            <summary>
+            The native version of the JET_OPENTEMPORARYTABLE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.prgcolumndef">
+            <summary>
+            Columns to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.ccolumn">
+            <summary>
+            Number of entries in prgcolumndef.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.pidxunicode">
+            <summary>
+            Optional pointer to unicode index information.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.grbit">
+            <summary>
+            Table options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.rgcolumnid">
+            <summary>
+            Pointer to array of returned columnids. This
+            should have at least ccolumn entries.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.cbKeyMost">
+            <summary>
+            Maximum key size.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.cbVarSegMac">
+            <summary>
+            Maximum amount of data used to construct a key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE.tableid">
+            <summary>
+            Returns the tableid of the new table.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE">
+            <summary>
+            A collection of parameters for the JetOpenTemporaryTable method.
+            </summary>
+            <summary>
+            A collection of parameters for the JetOpenTemporaryTable method.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.prgcolumndef">
+            <summary>
+            Gets or sets the column definitions for the columns created in
+            the temporary table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.ccolumn">
+            <summary>
+            Gets or sets the number of columns in <see cref="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.prgcolumndef"/>.
+            </summary>
+            <seealso cref="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.prgcolumnid"/>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.pidxunicode">
+            <summary>
+            Gets or sets the locale ID and normalization flags to use to compare any Unicode
+            key column data in the temporary table. When this parameter is
+            null, then the default LCID will be used to compare any Unicode key
+            columns in the temporary table. The default LCID is the U.S. English
+            locale. When this parameter is null, then the default normalization
+            flags will be used to compare any Unicode key column data in the temp
+            table. The default normalization flags are: NORM_IGNORECASE,
+            NORM_IGNOREKANATYPE, and NORM_IGNOREWIDTH.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.grbit">
+            <summary>
+            Gets or sets options for the temp table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.prgcolumnid">
+            <summary>
+            Gets or sets the output buffer that receives the array of column
+            IDs generated during the creation of the temporary table. The
+            column IDs in this array will exactly correspond to the input array
+            of column definitions. As a result, the size of this buffer must
+            correspond to the size of <see cref="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.prgcolumndef"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.cbKeyMost">
+            <summary>
+            Gets or sets the maximum size for a key representing a given row. The maximum
+            key size may be set to control how keys are truncated. Key
+            truncation is important because it can affect when rows are
+            considered to be distinct. If this parameter is set to 0 or
+            255 then the maximum key size and its semantics will remain
+            identical to the maximum key size supported by Windows Server 2003
+            and previous releases. This parameter may also be set to a larger
+            value as a function of the database page size for the instance
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.DatabasePageSize"/>. See
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.KeyMost"/> for more information.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.cbVarSegMac">
+            <summary>
+            Gets or sets maximum amount of data that will be used from any
+            variable lengthcolumn to construct a key for a given row. This
+            parameter may be used to control the amount of key space consumed
+            by any given key column. This limit is in bytes. If this parameter
+            is zero or is the same as the <see cref="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.cbKeyMost"/> property
+            then no limit is in effect.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.tableid">
+            <summary>
+            Gets the table handle for the temporary table created as a result
+            of a successful call to JetOpenTemporaryTable.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.GetNativeOpenTemporaryTable">
+            <summary>
+            Returns the unmanaged opentemporarytable that represents this managed class.
+            </summary>
+            <returns>
+            A native (interop) version of the JET_OPENTEMPORARYTABLE.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.CheckDataSize">
+            <summary>
+            Make sure the data and count members are the correct size.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE.GetNativeOpenTemporaryTable2">
+            <summary>
+            Returns the unmanaged opentemporarytable that represents this managed class.
+            </summary>
+            <returns>
+            A native (interop) version of the JET_OPENTEMPORARYTABLE.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2">
+            <summary>
+            The native version of the JET_OPENTEMPORARYTABLE2 structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.prgcolumndef">
+            <summary>
+            Columns to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.ccolumn">
+            <summary>
+            Number of entries in prgcolumndef.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.pidxunicode">
+            <summary>
+            Optional pointer to unicode index information.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.grbit">
+            <summary>
+            Table options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.rgcolumnid">
+            <summary>
+            Pointer to array of returned columnids. This
+            should have at least ccolumn entries.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.cbKeyMost">
+            <summary>
+            Maximum key size.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.cbVarSegMac">
+            <summary>
+            Maximum amount of data used to construct a key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_OPENTEMPORARYTABLE2.tableid">
+            <summary>
+            Returns the tableid of the new table.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE">
+            <summary>
+            Used by <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetRecordSize(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE@,Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit)"/> to return information about a record's usage
+            requirements in user data space, number of set columns, number of
+            values, and ESENT record structure overhead space.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.userData">
+            <summary>
+            User data in the record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.userLongValueData">
+            <summary>
+            User data associated with the record, but in the LV tree.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.overhead">
+            <summary>
+            Record overhead, including key size.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.longValueOverhead">
+            <summary>
+            Overhead of storing the long-value data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.numNonTaggedColumns">
+            <summary>
+            Number of fixed and variable columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.numTaggedColumns">
+            <summary>
+            Number of tagged columns in the record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.numLongValues">
+            <summary>
+            Number of extrinsic (separated) long values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.numMultiValues">
+            <summary>
+            Number of multi-values (itag > 1) in the record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.numCompressedColumns">
+            <summary>
+            Number of compressed columns in the record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.userDataAfterCompression">
+            <summary>
+            Size of user data after being compressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.userLongValueDataCompressed">
+            <summary>
+            Size of the long value data after compression.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbData">
+            <summary>
+            Gets the user data set in the record.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbLongValueData">
+            <summary>
+            Gets the user data set in the record, but stored in the long-value tree.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbOverhead">
+            <summary>
+            Gets the overhead of the ESENT record structure for this record.
+            This includes the record's key size.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbLongValueOverhead">
+            <summary>
+            Gets the overhead of the long-value data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cNonTaggedColumns">
+            <summary>
+            Gets the total number of fixed and variable columns set in this record.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cTaggedColumns">
+            <summary>
+            Gets the total number of tagged columns set in this record.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cLongValues">
+            <summary>
+            Gets the total number of long values stored in the long-value tree
+            for this record. This does not include intrinsic long values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cMultiValues">
+            <summary>
+            Gets the accumulation of the total number of values beyond the first
+            for all columns in the record.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cCompressedColumns">
+            <summary>
+            Gets the total number of columns in the record which are compressed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbDataCompressed">
+            <summary>
+            Gets the compressed size of user data in record. This is the same
+            as <see cref="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbData"/> if no intrinsic long-values are compressed).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbLongValueDataCompressed">
+            <summary>
+            Gets the compressed size of user data in the long-value tree. This is
+            the same as <see cref="P:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.cbLongValueData"/> if no separated long values
+            are compressed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.Add(Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE)">
+            <summary>
+            Add the sizes in two JET_RECSIZE structures.
+            </summary>
+            <param name="s1">The first JET_RECSIZE.</param>
+            <param name="s2">The second JET_RECSIZE.</param>
+            <returns>A JET_RECSIZE containing the result of adding the sizes in s1 and s2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.op_Addition(Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE)">
+            <summary>
+            Add the sizes in two JET_RECSIZE structures.
+            </summary>
+            <param name="left">The first JET_RECSIZE.</param>
+            <param name="right">The second JET_RECSIZE.</param>
+            <returns>A JET_RECSIZE containing the result of adding the sizes in left and right.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.Subtract(Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE)">
+            <summary>
+            Calculate the difference in sizes between two JET_RECSIZE structures.
+            </summary>
+            <param name="s1">The first JET_RECSIZE.</param>
+            <param name="s2">The second JET_RECSIZE.</param>
+            <returns>A JET_RECSIZE containing the difference in sizes between s1 and s2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.op_Subtraction(Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE)">
+            <summary>
+            Calculate the difference in sizes between two JET_RECSIZE structures.
+            </summary>
+            <param name="left">The first JET_RECSIZE.</param>
+            <param name="right">The second JET_RECSIZE.</param>
+            <returns>A JET_RECSIZE containing the difference in sizes between left and right.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.op_Equality(Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE)">
+            <summary>
+            Determines whether two specified instances of JET_RECSIZE
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.op_Inequality(Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE)">
+            <summary>
+            Determines whether two specified instances of JET_RECSIZE
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.Equals(Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.SetFromNativeRecsize(Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE)">
+            <summary>
+            Sets the fields of the object from a NATIVE_RECSIZE struct.
+            </summary>
+            <param name="value">
+            The native recsize to set the values from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.SetFromNativeRecsize(Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2)">
+            <summary>
+            Sets the fields of the object from a NATIVE_RECSIZE2 struct.
+            </summary>
+            <param name="value">
+            The native recsize to set the values from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.GetNativeRecsize">
+            <summary>
+            Gets a NATIVE_RECSIZE containing the values in this object.
+            </summary>
+            <returns>
+            A NATIVE_RECSIZE initialized with the values in the object.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE.GetNativeRecsize2">
+            <summary>
+            Gets a NATIVE_RECSIZE2 containing the values in this object.
+            </summary>
+            <returns>
+            A NATIVE_RECSIZE2 initialized with the values in the object.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE">
+            <summary>
+            The native version of the JET_RECSIZE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cbData">
+            <summary>
+            User data in record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cbLongValueData">
+            <summary>
+            User data associated with the record but stored in the long-value
+            tree. Does NOT count intrinsic long-values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cbOverhead">
+            <summary>
+            Record overhead.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cbLongValueOverhead">
+            <summary>
+            Overhead of long-value data. Does not count intrinsic long-values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cNonTaggedColumns">
+            <summary>
+            Total number of fixed/variable columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cTaggedColumns">
+            <summary>
+            Total number of tagged columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cLongValues">
+            <summary>
+            Total number of values stored in the long-value tree for this record.
+            Does NOT count intrinsic long-values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE.cMultiValues">
+            <summary>
+            Total number of values beyond the first for each column in the record.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2">
+            <summary>
+            The native version of the JET_RECSIZE2 structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cbData">
+            <summary>
+            User data in record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cbLongValueData">
+            <summary>
+            User data associated with the record but stored in the long-value
+            tree. Does NOT count intrinsic long-values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cbOverhead">
+            <summary>
+            Record overhead.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cbLongValueOverhead">
+            <summary>
+            Overhead of long-value data. Does not count intrinsic long-values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cNonTaggedColumns">
+            <summary>
+            Total number of fixed/variable columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cTaggedColumns">
+            <summary>
+            Total number of tagged columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cLongValues">
+            <summary>
+            Total number of values stored in the long-value tree for this record.
+            Does NOT count intrinsic long-values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cMultiValues">
+            <summary>
+            Total number of values beyond the first for each column in the record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cCompressedColumns">
+            <summary>
+            Total number of columns which are compressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cbDataCompressed">
+            <summary>
+            Compressed size of user data in record. Same as cbData if no intrinsic
+            long-values are compressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.NATIVE_RECSIZE2.cbLongValueDataCompressed">
+            <summary>
+            Compressed size of user data in the long-value tree. Same as
+            cbLongValue data if no separated long values are compressed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS">
+            <summary>
+            Contains cumulative statistics on the work performed by the database
+            engine on the current thread. This information is returned via
+            JetGetThreadStats.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.Size">
+            <summary>
+            The size of a JET_THREADSTATS structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cbStruct">
+            <summary>
+            Size of the structure. This is used for interop.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.pagesReferenced">
+            <summary>
+            Number of pages visited.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.pagesRead">
+            <summary>
+            Number of pages read from disk.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.pagesPreread">
+            <summary>
+            Number of pages preread.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.pagesDirtied">
+            <summary>
+            Number of pages dirtied.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.pagesRedirtied">
+            <summary>
+            Pages redirtied.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.numLogRecords">
+            <summary>
+            Number of log records generated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.loggedBytes">
+            <summary>
+            Number of bytes logged.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cPageReferenced">
+            <summary>
+            Gets the total number of database pages visited by the database
+            engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cPageRead">
+            <summary>
+            Gets the total number of database pages fetched from disk by the
+            database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cPagePreread">
+            <summary>
+            Gets the total number of database pages prefetched from disk by
+            the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cPageDirtied">
+            <summary>
+            Gets the total number of database pages, with no unwritten changes,
+            that have been modified by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cPageRedirtied">
+            <summary>
+            Gets the total number of database pages, with unwritten changes, that
+            have been modified by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cLogRecord">
+            <summary>
+            Gets the total number of transaction log records that have been
+            generated by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.cbLogRecord">
+            <summary>
+            Gets the total size, in bytes, of transaction log records that
+            have been generated by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.Create(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Create a new <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS"/> struct with the specified
+            valued.
+            </summary>
+            <param name="cPageReferenced">
+            Number of pages visited.
+            </param>
+            <param name="cPageRead">
+            Number of pages read.
+            </param>
+            <param name="cPagePreread">
+            Number of pages preread.
+            </param>
+            <param name="cPageDirtied">
+            TNumber of pages dirtied.
+            </param>
+            <param name="cPageRedirtied">
+            Number of pages redirtied.
+            </param>
+            <param name="cLogRecord">
+            Number of log records generated.
+            </param>
+            <param name="cbLogRecord">
+            Bytes of log records written.
+            </param>
+            <returns>
+            A new <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS"/> struct with the specified values.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.Add(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS,Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS)">
+            <summary>
+            Add the stats in two JET_THREADSTATS structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS.</param>
+            <param name="t2">The second JET_THREADSTATS.</param>
+            <returns>A JET_THREADSTATS containing the result of adding the stats in t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.op_Addition(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS,Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS)">
+            <summary>
+            Add the stats in two JET_THREADSTATS structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS.</param>
+            <param name="t2">The second JET_THREADSTATS.</param>
+            <returns>A JET_THREADSTATS containing the result of adding the stats in t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.Subtract(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS,Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS)">
+            <summary>
+            Calculate the difference in stats between two JET_THREADSTATS structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS.</param>
+            <param name="t2">The second JET_THREADSTATS.</param>
+            <returns>A JET_THREADSTATS containing the difference in stats between t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.op_Subtraction(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS,Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS)">
+            <summary>
+            Calculate the difference in stats between two JET_THREADSTATS structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS.</param>
+            <param name="t2">The second JET_THREADSTATS.</param>
+            <returns>A JET_THREADSTATS containing the difference in stats between t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.op_Equality(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS,Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS)">
+            <summary>
+            Determines whether two specified instances of JET_THREADSTATS
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.op_Inequality(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS,Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS)">
+            <summary>
+            Determines whether two specified instances of JET_THREADSTATS
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.ToString">
+            <summary>
+            Gets a string representation of this object.
+            </summary>
+            <returns>A string representation of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.Equals(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS.GetPluralS(System.Int32)">
+            <summary>
+            Get the plural suffix ('s') for the given number.
+            </summary>
+            <param name="n">The number.</param>
+            <returns>The letter 's' if n is greater than 1.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.LegacyFileNames">
+            <summary>
+            Options for LegacyFileNames.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.LegacyFileNames.ESE98FileNames">
+            <summary>
+            When this option is present then the database engine will use the following naming conventions for its files:
+              o Transaction Log files will use .LOG for their file extension.
+              o Checkpoint files will use .CHK for their file extension.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.LegacyFileNames.EightDotThreeSoftCompat">
+            <summary>
+            Preserve the 8.3 naming syntax for as long as possible. (this should not be changed, w/o ensuring there are no log files).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.VistaApi">
+            <summary>
+            ESENT APIs that were first supported in Windows Vista.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a column in a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database that contains the table.</param>
+            <param name="tablename">The name of the table containing the column.</param>
+            <param name="columnid">The ID of the column.</param>
+            <param name="columnbase">Filled in with information about the columns in the table.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetTableColumnInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE@)">
+            <summary>
+            Retrieves information about a table column.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table containing the column.</param>
+            <param name="columnid">The columnid of the column.</param>
+            <param name="columnbase">Filled in with information about the column.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOpenTemporaryTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)">
+            <summary>
+            Creates a temporary table with a single index. A temporary table
+            stores and retrieves records just like an ordinary table created
+            using JetCreateTableColumnIndex. However, temporary tables are
+            much faster than ordinary tables due to their volatile nature.
+            They can also be used to very quickly sort and perform duplicate
+            removal on record sets when accessed in a purely sequential manner.
+            Also see
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>,
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>.
+            </summary>
+            <remarks>
+            Introduced in Windows Vista. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOpenTempTable3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_COLUMNDEF[],System.Int32,Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX,Microsoft.Isam.Esent.Interop.TempTableGrbit,Microsoft.Isam.Esent.Interop.JET_TABLEID@,Microsoft.Isam.Esent.Interop.JET_COLUMNID[])"/>
+            for earlier versions of Esent.
+            </remarks>
+            <param name="sesid">The session to use.</param>
+            <param name="temporarytable">
+            Description of the temporary table to create on input. After a
+            successful call, the structure contains the handle to the temporary
+            table and column identifications. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCloseTable(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>
+            to free the temporary table when finished.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetThreadStats(Microsoft.Isam.Esent.Interop.Vista.JET_THREADSTATS@)">
+            <summary>
+            Retrieves performance information from the database engine for the
+            current thread. Multiple calls can be used to collect statistics
+            that reflect the activity of the database engine on this thread
+            between those calls. 
+            </summary>
+            <param name="threadstats">Returns the thread statistics data.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotPrepareInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotPrepareInstanceGrbit)">
+            <summary>
+            Selects a specific instance to be part of the snapshot session.
+            </summary>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="instance">The instance to add to the snapshot.</param>
+            <param name="grbit">Options for this call.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotTruncateLog(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)">
+            <summary>
+            Enables log truncation for all instances that are part of the snapshot session.
+            </summary>
+            <remarks>
+            This function should be called only if the snapshot was created with the
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw"/> option. Otherwise, the snapshot
+            session ends after the call to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)"/>.
+            </remarks>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="grbit">Options for this call.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotTruncateLogInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)">
+            <summary>
+            Truncates the log for a specified instance during a snapshot session.
+            </summary>
+            <remarks>
+            This function should be called only if the snapshot was created with the
+            <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw"/> option. Otherwise, the snapshot
+            session ends after the call to <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetOSSnapshotThaw(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.SnapshotThawGrbit)"/>.
+            </remarks>
+            <param name="snapshot">The snapshot identifier.</param>
+            <param name="instance">The instance to truncat the log for.</param>
+            <param name="grbit">Options for this call.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotGetFreezeInfo(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.Vista.SnapshotGetFreezeInfoGrbit)">
+            <summary>
+            Retrieves the list of instances and databases that are part of the
+            snapshot session at any given moment.
+            </summary>
+            <param name="snapshot">The identifier of the snapshot session.</param>
+            <param name="numInstances">Returns the number of instances.</param>
+            <param name="instances">Returns information about the instances.</param>
+            <param name="grbit">Options for this call.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotEnd(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotEndGrbit)">
+            <summary>
+            Notifies the engine that the snapshot session finished.
+            </summary>
+            <param name="snapshot">The identifier of the snapshot session.</param>
+            <param name="grbit">Snapshot end options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetInstanceMiscInfo(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SIGNATURE@,Microsoft.Isam.Esent.Interop.Vista.JET_InstanceMiscInfo)">
+            <summary>
+            Retrieves information about an instance.
+            </summary>
+            <param name="instance">The instance to get information about.</param>
+            <param name="signature">Retrieved information.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetInit3(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.JET_RSTINFO,Microsoft.Isam.Esent.Interop.InitGrbit)">
+            <summary>
+            Initialize the ESENT database engine.
+            </summary>
+            <param name="instance">
+            The instance to initialize. If an instance hasn't been
+            allocated then a new one is created and the engine
+            will operate in single-instance mode.
+            </param>
+            <param name="recoveryOptions">
+            Additional recovery parameters for remapping databases during
+            recovery, position where to stop recovery at, or recovery status.
+            </param>
+            <param name="grbit">
+            Initialization options.
+            </param>
+            <returns>
+            A warning code.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetRecordSize(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.Vista.JET_RECSIZE@,Microsoft.Isam.Esent.Interop.GetRecordSizeGrbit)">
+            <summary>
+            Retrieves record size information from the desired location.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The cursor that will be used for the API call. The cursor must be
+            positioned on a record, or have an update prepared.
+            </param>
+            <param name="recsize">Returns the size of the record.</param>
+            <param name="grbit">Call options.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.VistaColInfo">
+            <summary>
+            Column info levels that have been added to the Vista version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColInfo.BaseByColid">
+            <summary>
+            Retrieve the JET_COLBASE using the column id.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColInfo.GrbitNonDerivedColumnsOnly">
+            <summary>
+            For lists, only return non-derived columns (if the table is derived from a template).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColInfo.GrbitMinimalInfo">
+            <summary>
+            For lists, only return the column name and columnid of each column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColInfo.GrbitSortByColumnid">
+            <summary>
+            For lists, sort returned column list by columnid (default is to sort list by column name).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp">
+            <summary>
+            Column types that have been added to the Vista version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp.UnsignedLong">
+            <summary>
+            Unsigned 32-bit number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp.LongLong">
+            <summary>
+            Signed 64-bit number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp.GUID">
+            <summary>
+            16-byte GUID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaColtyp.UnsignedShort">
+            <summary>
+            Unsigned 16-bit number.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.SnapshotEndGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotEnd(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotEndGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.SnapshotEndGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.SnapshotEndGrbit.AbortSnapshot">
+            <summary>
+            The snapshot session aborted.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.SnapshotPrepareInstanceGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotPrepareInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotPrepareInstanceGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.SnapshotPrepareInstanceGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotTruncateLog(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotTruncateLogInstance(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit.None">
+            <summary>
+            No truncation will occur.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.SnapshotTruncateLogGrbit.AllDatabasesSnapshot">
+            <summary>
+            All the databases are attached so the storage engine can compute
+            and do the log truncation.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.SnapshotGetFreezeInfoGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetOSSnapshotGetFreezeInfo(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_INSTANCE_INFO[]@,Microsoft.Isam.Esent.Interop.Vista.SnapshotGetFreezeInfoGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.SnapshotGetFreezeInfoGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.JET_InstanceMiscInfo">
+            <summary>
+            Information levels for <see cref="M:Microsoft.Isam.Esent.Interop.Vista.VistaApi.JetGetInstanceMiscInfo(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SIGNATURE@,Microsoft.Isam.Esent.Interop.Vista.JET_InstanceMiscInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.JET_InstanceMiscInfo.LogSignature">
+            <summary>
+            Get the signature of the transaction log associated with this sequence.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits">
+            <summary>
+            Grbits that have been added to the Vista version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexCrossProduct">
+            <summary>
+            Specifying this flag for an index that has more than one key column
+            that is a multi-valued column will result in an index entry being
+            created for each result of a cross product of all the values in
+            those key columns. Otherwise, the index would only have one entry
+            for each multi-value in the most significant key column that is a
+            multi-valued column and each of those index entries would use the
+            first multi-value from any other key columns that are multi-valued columns.
+            <para>
+            For example, if you specified this flag for an index over column
+            A that has the values "red" and "blue" and over column B that has
+            the values "1" and "2" then the following index entries would be
+            created: "red", "1"; "red", "2"; "blue", "1"; "blue", "2". Otherwise,
+            the following index entries would be created: "red", "1"; "blue", "1".
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexDisallowTruncation">
+            <summary>
+            Specifying this flag will cause any update to the index that would
+            result in a truncated key to fail with <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.KeyTruncated"/>.
+            Otherwise, keys will be silently truncated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexNestedTable">
+            <summary>
+            Index over multiple multi-valued columns but only with values of same itagSequence.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.TruncateDone">
+            <summary>
+            The engine can mark the database headers as appropriate (for example,
+            a full backup completed), even though the call to truncate was not completed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.RecoveryWithoutUndo">
+            <summary>
+            Perform recovery, but halt at the Undo phase. Allows whatever logs are present to
+            be replayed, then later additional logs can be copied and replayed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.TruncateLogsAfterRecovery">
+            <summary>
+            On successful soft recovery, truncate log files.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ReplayMissingMapEntryDB">
+            <summary>
+            Missing database map entry default to same location.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.LogStreamMustExist">
+            <summary>
+            Transaction logs must exist in the log file directory
+            (i.e. can't auto-start a new stream).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.ContinueAfterThaw">
+            <summary>
+            The snapshot session continues after JetOSSnapshotThaw and will
+            require a JetOSSnapshotEnd function call.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexKeyMost">
+            <summary>
+            Specifying this flag will cause the index to use the maximum key size
+            specified in the cbKeyMost field in the structure. Otherwise, the
+            index will use JET_cbKeyMost (255) as its maximum key size.
+            </summary>
+            <remarks>
+            Set internally when the NATIVE_INDEXCREATE structure is generated.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaGrbits.IndexUnicode">
+            <summary>
+            LCID field of JET_INDEXCREATE actually points to a JET_UNICODEINDEX
+            struct to allow user-defined LCMapString() flags.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Vista.VistaParam">
+            <summary>
+            System parameters that have been added to the Vista version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.CachedClosedTables">
+            <summary>
+            This parameter controls the number of B+ Tree resources cached by
+            the instance after the tables they represent have been closed by
+            the application. Large values for this parameter will cause the
+            database engine to use more memory but will increase the speed
+            with which a large number of tables can be opened randomly by
+            the application. This is useful for applications that have a
+            schema with a very large number of tables.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.EnableFileCache">
+            <summary>
+            Enable the use of the OS file cache for all managed files.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.EnableViewCache">
+            <summary>
+            Enable the use of memory mapped file I/O for database files.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.Configuration">
+            <summary>
+            This parameter exposes multiple sets of default values for the
+            entire set of system parameters. When this parameter is set to
+            a specific configuration, all system parameter values are reset
+            to their default values for that configuration. If the
+            configuration is set for a specific instance then global system
+            parameters will not be reset to their default values.
+            Small Configuration (0): The database engine is optimized for memory use. 
+            Legacy Configuration (1): The database engine has its traditional defaults.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.EnableAdvanced">
+            <summary>
+            This parameter is used to control when the database engine accepts
+            or rejects changes to a subset of the system parameters. This
+            parameter is used in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.Configuration"/> to
+            prevent some system parameters from being set away from the selected
+            configuration's defaults.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.KeyMost">
+            <summary>
+            This read-only parameter indicates the maximum allowable index key
+            length that can be selected for the current database page size
+            (as configured by <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.DatabasePageSize"/>).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.LegacyFileNames">
+            <summary>
+            This parameter provides backwards compatibility with the file naming conventions of earlier releases of the database engine.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass1Name">
+            <summary>
+            Set the name associated with table class 1.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass2Name">
+            <summary>
+            Set the name associated with table class 2.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass3Name">
+            <summary>
+            Set the name associated with table class 3.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass4Name">
+            <summary>
+            Set the name associated with table class 4.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass5Name">
+            <summary>
+            Set the name associated with table class 5.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass6Name">
+            <summary>
+            Set the name associated with table class 6.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass7Name">
+            <summary>
+            Set the name associated with table class 7.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass8Name">
+            <summary>
+            Set the name associated with table class 8.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass9Name">
+            <summary>
+            Set the name associated with table class 9.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass10Name">
+            <summary>
+            Set the name associated with table class 10.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass11Name">
+            <summary>
+            Set the name associated with table class 11.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass12Name">
+            <summary>
+            Set the name associated with table class 12.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass13Name">
+            <summary>
+            Set the name associated with table class 13.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass14Name">
+            <summary>
+            Set the name associated with table class 14.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.TableClass15Name">
+            <summary>
+            Set the name associated with table class 15.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Vista.VistaParam.IOPriority">
+            <summary>
+            Sets the IO priority per instance, anytime. This is used
+            mainly for background recovery (log replay).
+            Does not affect the pending IOs, just the subsequent ones issued.
+            The valid values for this parameter are contained in the
+            <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_IOPriority"/> enumeration.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_LGPOS">
+            <summary>
+            Describes an offset in the log sequence.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LGPOS.offset">
+            <summary>
+            Byte offset inside the sector.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LGPOS.sector">
+            <summary>
+            Sector number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LGPOS.generation">
+            <summary>
+            Generation number.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LGPOS.ib">
+            <summary>
+            Gets or sets the byte offset represented by this log position. This
+            offset is inside of the sector.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LGPOS.isec">
+            <summary>
+            Gets or sets the sector number represented by this log position.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LGPOS.lGeneration">
+            <summary>
+            Gets or sets the generation of this log position.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LGPOS.HasValue">
+            <summary>
+            Gets a value indicating whether this log position is null.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.op_Equality(Microsoft.Isam.Esent.Interop.JET_LGPOS,Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Determines whether two specified instances of JET_LGPOS
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.op_Inequality(Microsoft.Isam.Esent.Interop.JET_LGPOS,Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Determines whether two specified instances of JET_LGPOS
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.op_LessThan(Microsoft.Isam.Esent.Interop.JET_LGPOS,Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Determine whether one log position is before another log position.
+            </summary>
+            <param name="lhs">The first log position to compare.</param>
+            <param name="rhs">The second log position to compare.</param>
+            <returns>True if lhs comes before rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.op_GreaterThan(Microsoft.Isam.Esent.Interop.JET_LGPOS,Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Determine whether one log position is after another log position.
+            </summary>
+            <param name="lhs">The first log position to compare.</param>
+            <param name="rhs">The second log position to compare.</param>
+            <returns>True if lhs comes after rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.op_LessThanOrEqual(Microsoft.Isam.Esent.Interop.JET_LGPOS,Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Determine whether one log position is before or equal to
+            another log position.
+            </summary>
+            <param name="lhs">The first log position to compare.</param>
+            <param name="rhs">The second log position to compare.</param>
+            <returns>True if lhs comes before or is equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.op_GreaterThanOrEqual(Microsoft.Isam.Esent.Interop.JET_LGPOS,Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Determine whether one log position is after or equal to
+            another log position.
+            </summary>
+            <param name="lhs">The first log position to compare.</param>
+            <param name="rhs">The second log position to compare.</param>
+            <returns>True if lhs comes after or is equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.Equals(Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LGPOS.CompareTo(Microsoft.Isam.Esent.Interop.JET_LGPOS)">
+            <summary>
+            Compares this log position to another log position and determines
+            whether this instance is before, the same as or after the other
+            instance.
+            </summary>
+            <param name="other">The log position to compare to the current instance.</param>
+            <returns>
+            A signed number indicating the relative positions of this instance and the value parameter.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_LOGTIME">
+            <summary>
+            Describes a date/time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bSeconds">
+            <summary>
+            The time in seconds. This value can be 0 to 59.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bMinutes">
+            <summary>
+            The time in minutes. This value can be 0 to 59.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bHours">
+            <summary>
+            The time in hours. This value can be 0 to 23.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bDays">
+            <summary>
+            The day of the month. This value can be 0 to 31. 0 is
+            used when the structure is null.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bMonth">
+            <summary>
+            The month. This value can be 0 to 12. 0 is
+            used when the structure is null.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bYear">
+            <summary>
+            The year of the event, offset by 1900.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bFiller1">
+            <summary>
+            IsUTC flag at the first bit. Starting from win8, milli-seconds (low part) is filled at left 7 bits.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LOGTIME.bFiller2">
+            <summary>
+            OSSnapshot flag at the first bit, Starting from win8, milli-seconds (high part) is filled at following 3 bits. Other bits are reserved.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.#ctor(System.DateTime)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_LOGTIME"/> struct.
+            </summary>
+            <param name="time">
+            The DateTime to initialize the structure with.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LOGTIME.HasValue">
+            <summary>
+            Gets a value indicating whether the JET_LOGTIME has a null value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LOGTIME.fTimeIsUTC">
+            <summary>
+            Gets a value indicating whether the JET_LOGTIME is in UTC.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.op_Equality(Microsoft.Isam.Esent.Interop.JET_LOGTIME,Microsoft.Isam.Esent.Interop.JET_LOGTIME)">
+            <summary>
+            Determines whether two specified instances of JET_LOGTIME
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.op_Inequality(Microsoft.Isam.Esent.Interop.JET_LOGTIME,Microsoft.Isam.Esent.Interop.JET_LOGTIME)">
+            <summary>
+            Determines whether two specified instances of JET_LOGTIME
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.ToDateTime">
+            <summary>
+            Generate a DateTime representation of this JET_LOGTIME.
+            </summary>
+            <returns>
+            A DateTime representing the JET_LOGTIME. If the JET_LOGTIME
+            is null then null is returned.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LOGTIME.Equals(Microsoft.Isam.Esent.Interop.JET_LOGTIME)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_Move">
+            <summary>
+            Offsets for JetMove.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_Move.First">
+            <summary>
+            Move the cursor to the first index entry.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_Move.Previous">
+            <summary>
+            Move to the previous index entry.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_Move.Next">
+            <summary>
+            Move to the next index entry.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_Move.Last">
+            <summary>
+            Move to the last index entry.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO">
+            <summary>
+            The native version of the JET_OBJECTINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.objtyp">
+            <summary>
+            Holds the JET_OBJTYP of the structure. Currently only tables will be
+            returned (that is, <see cref="F:Microsoft.Isam.Esent.Interop.JET_objtyp.Table"/>).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.ignored1">
+            <summary>
+            Obsolete. Do not use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.ignored2">
+            <summary>
+            Obsolete. Do not use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.grbit">
+            <summary>
+            A group of bits that contain table options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.flags">
+            <summary>
+            Table type flags.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.cRecord">
+            <summary>
+            Number of records in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO.cPage">
+            <summary>
+            Number of pages used by the table.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO">
+            <summary>
+            The JET_OBJECTINFO structure holds information about an object.
+            Tables are the only object types that are currently supported.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO.objtyp">
+            <summary>
+            Gets the JET_OBJTYP of the table. Currently only tables will be
+            returned (that is, <see cref="F:Microsoft.Isam.Esent.Interop.JET_objtyp.Table"/>).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO.grbit">
+            <summary>
+            Gets the table options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO.flags">
+            <summary>
+            Gets the table type flags.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO.cRecord">
+            <summary>
+            Gets the number of records in the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO.cPage">
+            <summary>
+            Gets the number of pages used by the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO.SetFromNativeObjectinfo(Microsoft.Isam.Esent.Interop.NATIVE_OBJECTINFO@)">
+            <summary>
+            Sets the fields of the object from a native JET_OBJECTINFO struct.
+            </summary>
+            <param name="value">
+            The native objectlist to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST">
+            <summary>
+            The native version of the JET_OBJECTLIST structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.tableid">
+            <summary>
+            Tableid of the temporary table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.cRecord">
+            <summary>
+            Number of records in the temporary table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columnidcontainername">
+            <summary>
+            The id of column containing the name of the container type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columnidobjectname">
+            <summary>
+            The id of the column containing the name of the object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columnidobjtyp">
+            <summary>
+            The id of the column containing the type of the object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columniddtCreate">
+            <summary>
+            Obsolete. Do not use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columniddtUpdate">
+            <summary>
+            Obsolete. Do not use.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columnidgrbit">
+            <summary>
+            The id of the column containing object grbits.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columnidflags">
+            <summary>
+            The id of the column containing object flags.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columnidcRecord">
+            <summary>
+            The id of the column containing the number of records in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST.columnidcPage">
+            <summary>
+            The id of the column containing the number of pages the object uses.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST">
+            <summary>
+            Information about a temporary table containing information
+            about all tables for a given database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.tableid">
+            <summary>
+            Gets tableid of the temporary table. This should be closed
+            when the table is no longer needed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.cRecord">
+            <summary>
+            Gets the number of records in the temporary table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.columnidobjectname">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the name of the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.columnidobjtyp">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the type of the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.columnidgrbit">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the grbits used when the table was created.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.columnidflags">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the table flags (e.g. the system table flag).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.columnidcRecord">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the number of records in the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.columnidcontainername">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the name of the container.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.columnidcPage">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the number of pages used by the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST.SetFromNativeObjectlist(Microsoft.Isam.Esent.Interop.NATIVE_OBJECTLIST)">
+            <summary>
+            Sets the fields of the object from a native JET_OBJECTLIST struct.
+            </summary>
+            <param name="value">
+            The native objectlist to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_ObjInfo">
+            <summary>
+            Info levels for retrieving object info.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ObjInfo.ListNoStats">
+            <summary>
+            Retrieve a JET_OBJINFOLIST containing information
+            about all object in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_ObjInfo.NoStats">
+            <summary>
+            Retrieve a JET_OBJINFO containing information
+            about all object in the table.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_objtyp">
+            <summary>
+            Type of an ESENT object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_objtyp.Nil">
+            <summary>
+            Invalid object type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_objtyp.Table">
+            <summary>
+            Object is a table.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT">
+            <summary>
+            A structure that can be used with <see cref="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam.OperationContext"/> to set a client context on a session.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT.ulUserID">
+            <summary>
+            User ID this operation context belongs to.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT.nOperationID">
+            <summary>
+            An operation ID identifying this operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT.nOperationType">
+            <summary>
+            Type of this operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT.nClientType">
+            <summary>
+            The client type that this operation context belongs to.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT.fFlags">
+            <summary>
+            Flags for additional context that an application might want to store.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT">
+            <summary>
+            A type that can be used with <see cref="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam.OperationContext"/> to set a client context on a session.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.#ctor(Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT@)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/>
+            struct.
+            </summary>
+            <param name="native">The native <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.NATIVE_OPERATIONCONTEXT"/>
+            object to be based upon.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.UserID">
+            <summary>
+            Gets or sets the user ID this operation context belongs to.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.OperationID">
+            <summary>
+            Gets or sets an operation ID identifying this operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.OperationType">
+            <summary>
+            Gets or sets the type of this operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.ClientType">
+            <summary>
+            Gets or sets the client type that this operation context belongs to.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.Flags">
+            <summary>
+            Gets or sets the flags for additional context that an application might want to store.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.op_Equality(Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT)">
+            <summary>
+            Determines whether two specified instances of <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/>
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.op_Inequality(Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT)">
+            <summary>
+            Determines whether two specified instances of <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/>
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.Equals(Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT.GetNativeOperationContext">
+            <summary>
+            Gets the native (interop) version of this object.
+            </summary>
+            <returns>
+            The native (interop) version of this object.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2">
+            <summary>
+            Contains cumulative statistics on the work performed by the database
+            engine on the current thread. This information is returned via
+            JetGetThreadStats.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.Size">
+            <summary>
+            The size of a JET_THREADSTATS2 structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cbStruct">
+            <summary>
+            Size of the structure. This is used for interop.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.pagesReferenced">
+            <summary>
+            Number of pages visited.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.pagesRead">
+            <summary>
+            Number of pages read from disk.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.pagesPreread">
+            <summary>
+            Number of pages preread.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.pagesDirtied">
+            <summary>
+            Number of pages dirtied.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.pagesRedirtied">
+            <summary>
+            Pages redirtied.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.numLogRecords">
+            <summary>
+            Number of log records generated.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.loggedBytes">
+            <summary>
+            Number of bytes logged.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.usecsCacheMisses">
+            <summary>
+            Elapsed time for pages cache missed in microseconds.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.pagesCacheMisses">
+            <summary>
+            Number of pages cache missed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cPageReferenced">
+            <summary>
+            Gets the total number of database pages visited by the database
+            engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cPageRead">
+            <summary>
+            Gets the total number of database pages fetched from disk by the
+            database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cPagePreread">
+            <summary>
+            Gets the total number of database pages prefetched from disk by
+            the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cPageDirtied">
+            <summary>
+            Gets the total number of database pages, with no unwritten changes,
+            that have been modified by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cPageRedirtied">
+            <summary>
+            Gets the total number of database pages, with unwritten changes, that
+            have been modified by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cLogRecord">
+            <summary>
+            Gets the total number of transaction log records that have been
+            generated by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cbLogRecord">
+            <summary>
+            Gets the total size, in bytes, of transaction log records that
+            have been generated by the database engine on the current thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cusecPageCacheMiss">
+            <summary>
+            Gets the cumulative latency, in microseconds, of cache misses experienced by
+            this thread.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.cPageCacheMiss">
+            <summary>
+            Gets the cumulative count of cache misses experienced by the thread.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.Create(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int64,System.Int32)">
+            <summary>
+            Create a new <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2"/> struct with the specified
+            valued.
+            </summary>
+            <param name="cPageReferenced">
+            Number of pages visited.
+            </param>
+            <param name="cPageRead">
+            Number of pages read.
+            </param>
+            <param name="cPagePreread">
+            Number of pages preread.
+            </param>
+            <param name="cPageDirtied">
+            TNumber of pages dirtied.
+            </param>
+            <param name="cPageRedirtied">
+            Number of pages redirtied.
+            </param>
+            <param name="cLogRecord">
+            Number of log records generated.
+            </param>
+            <param name="cbLogRecord">
+            Bytes of log records written.
+            </param>
+            <param name="cusecPageCacheMiss">
+            Elapsed time for pages cache missed in microseconds.
+            </param>
+            <param name="cPageCacheMiss">
+            Number of pages cache missed.
+            </param>
+            <returns>
+            A new <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2"/> struct with the specified values.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.Add(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2,Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2)">
+            <summary>
+            Add the stats in two JET_THREADSTATS2 structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS2.</param>
+            <param name="t2">The second JET_THREADSTATS2.</param>
+            <returns>A JET_THREADSTATS2 containing the result of adding the stats in t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.op_Addition(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2,Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2)">
+            <summary>
+            Add the stats in two JET_THREADSTATS2 structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS2.</param>
+            <param name="t2">The second JET_THREADSTATS2.</param>
+            <returns>A JET_THREADSTATS2 containing the result of adding the stats in t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.Subtract(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2,Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2)">
+            <summary>
+            Calculate the difference in stats between two JET_THREADSTATS2 structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS2.</param>
+            <param name="t2">The second JET_THREADSTATS2.</param>
+            <returns>A JET_THREADSTATS2 containing the difference in stats between t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.op_Subtraction(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2,Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2)">
+            <summary>
+            Calculate the difference in stats between two JET_THREADSTATS2 structures.
+            </summary>
+            <param name="t1">The first JET_THREADSTATS2.</param>
+            <param name="t2">The second JET_THREADSTATS2.</param>
+            <returns>A JET_THREADSTATS2 containing the difference in stats between t1 and t2.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.op_Equality(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2,Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2)">
+            <summary>
+            Determines whether two specified instances of JET_THREADSTATS2
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.op_Inequality(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2,Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2)">
+            <summary>
+            Determines whether two specified instances of JET_THREADSTATS2
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.ToString">
+            <summary>
+            Gets a string representation of this object.
+            </summary>
+            <returns>A string representation of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.Equals(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2.GetPluralS(System.Int32)">
+            <summary>
+            Get the plural suffix ('s') for the given number.
+            </summary>
+            <param name="n">The number.</param>
+            <returns>The letter 's' if n is greater than 1.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Api">
+            <summary>
+            Api calls introduced in Windows 10.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Api.JetGetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT@)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to retrieve.</param>
+            <param name="operationContext">An operation context to retrieve.</param>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Api.JetSetSessionParameter(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT)">
+            <summary>
+            Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
+            </summary>
+            <param name="sesid">The session to set the parameter on.</param>
+            <param name="sesparamid">The ID of the session parameter to set.</param>
+            <param name="operationContext">An operation context to set.</param>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Api.JetGetThreadStats(Microsoft.Isam.Esent.Interop.Windows10.JET_THREADSTATS2@)">
+            <summary>
+            Retrieves performance information from the database engine for the
+            current thread. Multiple calls can be used to collect statistics
+            that reflect the activity of the database engine on this thread
+            between those calls.
+            </summary>
+            <param name="threadstats">Returns the thread statistics data.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Coltyp">
+            <summary>
+            Column types that have been added to the Windows 10 version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Coltyp.UnsignedLongLong">
+            <summary>
+            Unsigned 64-bit number.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Grbits">
+            <summary>
+            System parameters that have been introduced in Windows 10.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Grbits.TableCreateImmutableStructure">
+            <summary>
+            Do not write to the input structures, so that the structures can be stored in readonly memory.
+            Additionally, do not return any auto-opened tableid.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.CreateTableColumnIndexGrbit"/>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateTableColumnIndex3(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_TABLECREATE)"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Grbits.IndexCreateImmutableStructure">
+            <summary>
+            Do not write to the input structures, so that the structures can be stored in readonly memory.
+            </summary>
+            <remarks>
+            This was primarily introduced for the C API so that the input structures could be stored in read-only
+            memory. It is of limited use in this managed code interop, since the input structures are generated
+            on the fly. It is provided here for completeness.
+            </remarks>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.CreateIndexGrbit"/>
+            <seealso cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Grbits.LogUnavailable">
+            <summary>
+            Passed back to durable commit callback to let it know that log is down (and all pending commits will not be flushed to disk).
+            Used with <see cref="F:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param.DurableCommitCallback"/>.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows8.DurableCommitCallbackGrbit"/>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Param">
+            <summary>
+            System parameters that were introduced in Windows 10.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Param.ConfigStoreSpec">
+            <summary>
+            This allows the client to specify a registry path preceded by a reg: to optionally configure
+            loading or overriding parameters from the registry.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam">
+            <summary>
+            Values of <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> that were introduced in Windows 10.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam.TransactionLevel">
+            <summary>
+            Gets the current number of nested levels of transactions begun. A value of zero indicates that
+            the session is not currently in a transaction. This parameter is read-only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam.OperationContext">
+            <summary>
+            A client context of type <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/> that the engine uses to track and trace operations (such as IOs).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows10.Windows10Sesparam.CorrelationID">
+            <summary>
+            A 32-bit integer ID that is logged in traces and can be used by clients to correlate ESE actions with their activity.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows10.Windows10Session">
+            <summary>
+            An extension class to provide Values of <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/> that were introduced in Windows 10.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows8.JET_sesparam"/>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Session.GetTransactionLevel(Microsoft.Isam.Esent.Interop.Session)">
+            <summary>
+            Gets the current number of nested levels of transactions begun. A value of zero indicates that
+            the session is not currently in a transaction. This parameter is read-only.
+            </summary>
+            <param name="session">The <see cref="T:Microsoft.Isam.Esent.Interop.Session"/> to query.</param>
+            <returns>The current transaction level of the specified database session.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Session.GetOperationContext(Microsoft.Isam.Esent.Interop.Session)">
+            <summary>
+            A client context of type <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/> that the engine uses to track
+            and trace operations (such as IOs).
+            </summary>
+            <param name="session">The <see cref="T:Microsoft.Isam.Esent.Interop.Session"/> to query.</param>
+            <returns>The operation context of the specified database session.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Session.SetOperationContext(Microsoft.Isam.Esent.Interop.Session,Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT)">
+            <summary>
+            A client context of type <see cref="T:Microsoft.Isam.Esent.Interop.Windows10.JET_OPERATIONCONTEXT"/> that the engine uses to track
+            and trace operations (such as IOs).
+            </summary>
+            <param name="session">The <see cref="T:Microsoft.Isam.Esent.Interop.Session"/> to query.</param>
+            <param name="operationcontext">The operation context to set.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Session.GetCorrelationID(Microsoft.Isam.Esent.Interop.Session)">
+            <summary>
+            A 32-bit integer ID that is logged in traces and can be used by clients to
+            correlate ESE actions with their activity.
+            </summary>
+            <param name="session">The <see cref="T:Microsoft.Isam.Esent.Interop.Session"/> to query.</param>
+            <returns>The corrlation identifer of the specified database session.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows10.Windows10Session.SetCorrelationID(Microsoft.Isam.Esent.Interop.Session,System.Int32)">
+            <summary>
+            A 32-bit integer ID that is logged in traces and can be used by clients to
+            correlate ESE actions with their activity.
+            </summary>
+            <param name="session">The <see cref="T:Microsoft.Isam.Esent.Interop.Session"/> to set.</param>
+            <param name="correlationId">The value to set. Internally, this is a 32-bit unsigned integer.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_param">
+            <summary>
+            ESENT system parameters. This list is not extensive. Some parameters introduced later
+            are in different classes, such as <see cref="T:Microsoft.Isam.Esent.Interop.Vista.VistaParam"/>, <see cref="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param"/>,
+            or <see cref="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param"/>.
+            <para>
+            <see cref="T:Microsoft.Isam.Esent.Interop.JET_param"/> is usually used with <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.Int32,System.String)"/>,
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr,System.String)"/>,
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.Int32@,System.String@,System.Int32)"/>, and
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetSystemParameter(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_param,System.IntPtr@,System.String@,System.Int32)"/>.
+            Some of these parameters are exposed with the helper classes <see cref="T:Microsoft.Isam.Esent.Interop.SystemParameters"/>
+            and <see cref="T:Microsoft.Isam.Esent.Interop.InstanceParameters"/>.
+            </para>
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Vista.VistaParam"/>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param"/>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8Param"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.SystemPath">
+            <summary>
+            This parameter indicates the relative or absolute file system path of the
+            folder that will contain the checkpoint file for the instance. The path
+            must be terminated with a backslash character, which indicates that the
+            target path is a folder. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.TempPath">
+            <summary>
+            This parameter indicates the relative or absolute file system path of
+            the folder or file that will contain the temporary database for the instance.
+            If the path is to a folder that will contain the temporary database then it
+            must be terminated with a backslash character.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.LogFilePath">
+            <summary>
+            This parameter indicates the relative or absolute file system path of the
+            folder that will contain the transaction logs for the instance. The path must
+            be terminated with a backslash character, which indicates that the target path
+            is a folder.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.BaseName">
+            <summary>
+            This parameter sets the three letter prefix used for many of the files used by
+            the database engine. For example, the checkpoint file is called EDB.CHK by
+            default because EDB is the default base name.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.EventSource">
+            <summary>
+            This parameter supplies an application specific string that will be added to
+            any event log messages that are emitted by the database engine. This allows
+            easy correlation of event log messages with the source application. By default
+            the host application executable name will be used.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.MaxSessions">
+            <summary>
+            This parameter reserves the requested number of session resources for use by an
+            instance. A session resource directly corresponds to a JET_SESID data type.
+            This setting will affect how many sessions can be used at the same time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.MaxOpenTables">
+            <summary>
+            This parameter reserves the requested number of B+ Tree resources for use by
+            an instance. This setting will affect how many tables can be used at the same time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.MaxCursors">
+            <summary>
+            This parameter reserves the requested number of cursor resources for use by an
+            instance. A cursor resource directly corresponds to a JET_TABLEID data type.
+            This setting will affect how many cursors can be used at the same time. A cursor
+            resource cannot be shared by different sessions so this parameter must be set to
+            a large enough value so that each session can use as many cursors as are required.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.MaxVerPages">
+            <summary>
+            This parameter reserves the requested number of version store pages for use by an instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.MaxTemporaryTables">
+            <summary>
+            This parameter reserves the requested number of temporary table resources for use
+            by an instance. This setting will affect how many temporary tables can be used at
+            the same time. If this system parameter is set to zero then no temporary database
+            will be created and any activity that requires use of the temporary database will
+            fail. This setting can be useful to avoid the I/O required to create the temporary
+            database if it is known that it will not be used.
+            </summary>
+            <remarks>
+            The use of a temporary table also requires a cursor resource.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.LogFileSize">
+            <summary>
+            This parameter will configure the size of the transaction log files. Each
+            transaction log file is a fixed size. The size is equal to the setting of
+            this system parameter in units of 1024 bytes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.LogBuffers">
+            <summary>
+            This parameter will configure the amount of memory used to cache log records
+            before they are written to the transaction log file. The unit for this
+            parameter is the sector size of the volume that holds the transaction log files.
+            The sector size is almost always 512 bytes, so it is safe to assume that size
+            for the unit. This parameter has an impact on performance. When the database
+            engine is under heavy update load, this buffer can become full very rapidly.
+            A larger cache size for the transaction log file is critical for good update
+            performance under such a high load condition. The default is known to be too small
+            for this case.
+            Do not set this parameter to a number of buffers that is larger (in bytes) than
+            half the size of a transaction log file.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.CircularLog">
+            <summary>
+            This parameter configures how transaction log files are managed by the database
+            engine. When circular logging is off, all transaction log files that are generated
+            are retained on disk until they are no longer needed because a full backup of the
+            database has been performed. When circular logging is on, only transaction log files
+            that are younger than the current checkpoint are retained on disk. The benefit of
+            this mode is that backups are not required to retire old transaction log files. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.DbExtensionSize">
+            <summary>
+            This parameter controls the amount of space that is added to a database file each
+            time it needs to grow to accommodate more data. The size is in database pages.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.PageTempDBMin">
+            <summary>
+            This parameter controls the initial size of the temporary database. The size is in
+            database pages. A size of zero indicates that the default size of an ordinary
+            database should be used. It is often desirable for small applications to configure
+            the temporary database to be as small as possible. Setting this parameter to
+            SystemParameters.PageTempDBSmallest will achieve the smallest temporary database possible.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.CacheSizeMax">
+            <summary>
+            This parameter configures the maximum size of the database page cache. The size
+            is in database pages. If this parameter is left to its default value, then the
+            maximum size of the cache will be set to the size of physical memory when JetInit
+            is called.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.CheckpointDepthMax">
+            <summary>
+            This parameter controls how aggressively database pages are flushed from the
+            database page cache to minimize the amount of time it will take to recover from a
+            crash. The parameter is a threshold in bytes for about how many transaction log
+            files will need to be replayed after a crash. If circular logging is enabled using
+            JET_param.CircularLog then this parameter will also control the approximate amount
+            of transaction log files that will be retained on disk.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.LrukCorrInterval">
+            <summary>
+            This parameter controls the correlation interval of ESE's LRU-K page replacement
+            algorithm.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.LrukTimeout">
+            <summary>
+            This parameter controls the timeout interval of ESE's LRU-K page replacement
+            algorithm.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.OutstandingIOMax">
+            <summary>
+            This parameter controls how many database file I/Os can be queued
+            per-disk in the host operating system at one time.  A larger value
+            for this parameter can significantly help the performance of a large
+            database application.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.StartFlushThreshold">
+            <summary>
+            This parameter controls when the database page cache begins evicting pages from the
+            cache to make room for pages that are not cached. When the number of page buffers in the cache
+            drops below this threshold then a background process will be started to replenish that pool
+            of available buffers. This threshold is always relative to the maximum cache size as set by
+            JET_paramCacheSizeMax. This threshold must also always be less than the stop threshold as
+            set by JET_paramStopFlushThreshold.
+            <para>
+            The distance height of the start threshold will determine the response time that the database
+             page cache must have to produce available buffers before the application needs them. A high
+            start threshold will give the background process more time to react. However, a high start
+            threshold implies a higher stop threshold and that will reduce the effective size of the
+            database page cache for modified pages (Windows 2000) or for all pages (Windows XP and later).
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.StopFlushThreshold">
+            <summary>
+            This parameter controls when the database page cache ends evicting pages from the cache to make
+            room for pages that are not cached. When the number of page buffers in the cache rises above
+            this threshold then the background process that was started to replenish that pool of available
+            buffers is stopped. This threshold is always relative to the maximum cache size as set by
+            JET_paramCacheSizeMax. This threshold must also always be greater than the start threshold
+            as set by JET_paramStartFlushThreshold.
+            <para>
+            The distance between the start threshold and the stop threshold affects the efficiency with
+            which database pages are flushed by the background process. A larger gap will make it
+            more likely that writes to neighboring pages may be combined. However, a high stop
+            threshold will reduce the effective size of the database page cache for modified
+            pages (Windows 2000) or for all pages (Windows XP and later).
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.Recovery">
+            <summary>
+            This parameter is the master switch that controls crash recovery for an instance.
+            If this parameter is set to "On" then ARIES style recovery will be used to bring all
+            databases in the instance to a consistent state in the event of a process or machine
+            crash. If this parameter is set to "Off" then all databases in the instance will be
+            managed without the benefit of crash recovery. That is to say, that if the instance
+            is not shut down cleanly using JetTerm prior to the process exiting or machine shutdown
+            then the contents of all databases in that instance will be corrupted.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.EnableOnlineDefrag">
+            <summary>
+            This parameter controls the behavior of online defragmentation when initiated using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.JET_CALLBACK,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.CacheSize">
+            <summary>
+            This parameter can be used to control the size of the database page cache at run time.
+            Ordinarily, the cache will automatically tune its size as a function of database and
+            machine activity levels. If the application sets this parameter to zero, then the cache
+            will tune its own size in this manner. However, if the application sets this parameter
+            to a non-zero value then the cache will adjust itself to that target size.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.EnableIndexChecking">
+            <summary>
+            When this parameter is true, every database is checked at JetAttachDatabase time for
+            indexes over Unicode key columns that were built using an older version of the NLS
+            library in the operating system. This must be done because the database engine persists
+            the sort keys generated by LCMapStringW and the value of these sort keys change from release to release.
+            If a primary index is detected to be in this state then JetAttachDatabase will always fail with
+            JET_err.PrimaryIndexCorrupted.
+            If any secondary indexes are detected to be in this state then there are two possible outcomes.
+            If AttachDatabaseGrbit.DeleteCorruptIndexes was passed to JetAttachDatabase then these indexes
+            will be deleted and JET_wrnCorruptIndexDeleted will be returned from JetAttachDatabase. These
+            indexes will need to be recreated by your application. If AttachDatabaseGrbit.DeleteCorruptIndexes
+            was not passed to JetAttachDatabase then the call will fail with JET_errSecondaryIndexCorrupted.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.EventSourceKey">
+            <summary>
+            This parameter can be used to control which event log the database engine uses for its event log
+            messages. By default, all event log messages will go to the Application event log. If the registry
+            key name for another event log is configured then the event log messages will go there instead.
+            </summary>        
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.NoInformationEvent">
+            <summary>
+            When this parameter is true, informational event log messages that would ordinarily be generated by
+            the database engine will be suppressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.EventLoggingLevel">
+            <summary>
+            Configures the detail level of eventlog messages that are emitted
+            to the eventlog by the database engine. Higher numbers will result
+            in more detailed eventlog messages.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.DeleteOutOfRangeLogs">
+            <summary>
+            Delete the log files that are not matching (generation wise) during soft recovery.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.EnableIndexCleanup">
+            <summary>
+            <para>
+            After Windows 7, it was discovered that JET_paramEnableIndexCleanup had some implementation limitations, reducing its effectiveness.
+            Rather than update it to work with locale names, the functionality is removed altogether.
+            </para>
+            <para>
+            Unfortunately JET_paramEnableIndexCleanup can not be ignored altogether. JET_paramEnableIndexChecking defaults to false, so if
+            JET_paramEnableIndexCleanup were to be removed entirely, then by default there were would be no checks for NLS changes!
+            </para>
+            <para>
+            The current behavious (when enabled) is to track the language sort versions for the indices, and when the sort version for that
+            particular locale changes, the engine knows which indices are now invalid. For example, if the sort version for only "de-de" changes,
+            then the "de-de" indices are invalid, but the "en-us" indices will be fine.
+            </para>
+            <para>
+            Post-Windows 8:
+            JET_paramEnableIndexChecking accepts JET_INDEXCHECKING (which is an enum). The values of '0' and '1' have the same meaning as before,
+            but '2' is JET_IndexCheckingDeferToOpenTable, which means that the NLS up-to-date-ness is NOT checked when the database is attached.
+            It is deferred to JetOpenTable(), which may now fail with JET_errPrimaryIndexCorrupted or JET_errSecondaryIndexCorrupted (which
+            are NOT actual corruptions, but instead reflect an NLS sort change).
+            </para>
+            <para>
+            IN SUMMARY:
+            New code should explicitly set both IndexChecking and IndexCleanup to the same value.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.CacheSizeMin">
+            <summary>
+            This parameter configures the minimum size of the database page cache. The size is in database pages.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.PreferredVerPages">
+            <summary>
+            This parameter represents a threshold relative to <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.MaxVerPages"/> that controls
+            the discretionary use of version pages by the database engine. If the size of the version store exceeds
+            this threshold then any information that is only used for optional background tasks, such as reclaiming
+            deleted space in the database, is instead sacrificed to preserve room for transactional information.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.DatabasePageSize">
+            <summary>
+            This parameter configures the page size for the database. The page
+            size is the smallest unit of space allocation possible for a database
+            file. The database page size is also very important because it sets
+            the upper limit on the size of an individual record in the database. 
+            </summary>
+            <remarks>
+            Only one database page size is supported per process at this time.
+            This means that if you are in a single process that contains different
+            applications that use the database engine then they must all agree on
+            a database page size.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.ErrorToString">
+            <summary>
+            This parameter can be used to convert a JET_ERR into a string.
+            This should only be used with JetGetSystemParameter.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.RuntimeCallback">
+            <summary>
+            Configures the engine with a <see cref="T:Microsoft.Isam.Esent.Interop.JET_CALLBACK"/> delegate.
+            This callback may be called for the following reasons:
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.FreeCursorLS"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.FreeTableLS"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.Null"/>. See <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)"/>
+            for more information. This parameter cannot currently be retrieved.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.CleanupMismatchedLogFiles">
+            <summary>
+            This parameter controls the outcome of JetInit when the database
+            engine is configured to start using transaction log files on disk
+            that are of a different size than what is configured. Normally,
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> will successfully recover the databases
+            but will fail with <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.LogFileSizeMismatchDatabasesConsistent"/>
+            to indicate that the log file size is misconfigured. However, when
+            this parameter is set to true then the database engine will silently
+            delete all the old log files, start a new set of transaction log files
+            using the configured log file size. This parameter is useful when the
+            application wishes to transparently change its transaction log file
+            size yet still work transparently in upgrade and restore scenarios.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.ExceptionAction">
+            <summary>
+            This parameter controls what happens when an exception is thrown by the 
+            database engine or code that is called by the database engine. When set 
+            to JET_ExceptionMsgBox, any exception will be thrown to the Windows unhandled 
+            exception filter. This will result in the exception being handled as an 
+            application failure. The intent is to prevent application code from erroneously 
+            trying to catch and ignore an exception generated by the database engine. 
+            This cannot be allowed because database corruption could occur. If the application 
+            wishes to properly handle these exceptions then the protection can be disabled 
+            by setting this parameter to JET_ExceptionNone.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.CreatePathIfNotExist">
+            <summary>
+            When this parameter is set to true then any folder that is missing in a file system path in use by
+            the database engine will be silently created. Otherwise, the operation that uses the missing file system
+            path will fail with JET_err.InvalidPath.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.OneDatabasePerSession">
+            <summary>
+            When this parameter is true then only one database is allowed to
+            be opened using JetOpenDatabase by a given session at one time.
+            The temporary database is excluded from this restriction. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.MaxInstances">
+            <summary>
+            This parameter controls the maximum number of instances that can be created in a single process.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.VersionStoreTaskQueueMax">
+            <summary>
+            This parameter controls the number of background cleanup work items that
+            can be queued to the database engine thread pool at any one time.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_param.DisablePerfmon">
+            <summary>
+            This parameter controls whether perfmon counters should be enabled or not.
+            By default, perfmon counters are enabled, but there is memory overhead for enabling
+            them.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_PFNREALLOC">
+            <summary>
+            Callback used by JetEnumerateColumns to allocate memory for its output buffers.
+            </summary>
+            <param name="context">Context given to JetEnumerateColumns.</param>
+            <param name="memory">
+            If non-zero, a pointer to a memory block previously allocated by this callback.
+            </param>
+            <param name="requestedSize">
+            The new size of the memory block (in bytes). If this is 0 and a memory block is
+            specified, that memory block will be freed.
+            </param>
+            <returns>
+            A pointer to newly allocated memory. If memory could not be allocated then
+            <see cref="F:System.IntPtr.Zero"/> should be returned.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_PFNSTATUS">
+            <summary>
+            Receives information about the progress of long-running operations,
+            such as defragmentation, backup, or restore operations. During such
+            operations, the database engine calls this callback function to give
+             an update on the progress of the operation.
+            </summary>
+            <param name="sesid">
+            The session with which the long running operation was called.
+            </param>
+            <param name="snp">The type of operation.</param>
+            <param name="snt">The status of the operation.</param>
+            <param name="data">Optional data. May be a <see cref="T:Microsoft.Isam.Esent.Interop.JET_SNPROG"/>.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_PFNSTATUS">
+            <summary>
+            Receives information about the progress of long-running operations,
+            such as defragmentation, backup, or restore operations. During such
+            operations, the database engine calls this callback function to give
+             an update on the progress of the operation.
+            </summary>
+            <remarks>
+            This is the internal version of the callback. The final parameter is
+            a void* pointer, which may point to a NATIVE_SNPROG.
+            </remarks>
+            <param name="nativeSesid">
+            The session with which the long running operation was called.
+            </param>
+            <param name="snp">The type of operation.</param>
+            <param name="snt">The status of the operation.</param>
+            <param name="snprog">Optional <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG"/>.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper">
+            <summary>
+            Wraps a NATIVE_PFNSTATUS callback around a JET_PFNSTATUS. This is
+            used to convert the snprog argument to a managed snprog.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.TraceSwitch">
+            <summary>
+            API call tracing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.wrappedCallback">
+            <summary>
+            The wrapped status callback.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.nativeCallback">
+            <summary>
+            The native version of the callback. This will be a closure (because we are wrapping
+            a non-static method) so keep track of it here to make sure it isn't garbage collected.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.#cctor">
+            <summary>
+            Initializes static members of the <see cref="T:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper"/> class. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.#ctor(Microsoft.Isam.Esent.Interop.JET_PFNSTATUS)">
+            <summary>
+            Initializes a new instance of the StatusCallbackWrapper class.
+            </summary>
+            <param name="wrappedCallback">
+            The managed callback to use.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.NativeCallback">
+            <summary>
+            Gets a NATIVE_PFNSTATUS callback that wraps the managed callback.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.SavedException">
+            <summary>
+            Gets or sets the saved exception. If the callback throws an exception
+            it is saved here and should be rethrown when the API call finishes.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.ThreadWasAborted">
+            <summary>
+            Gets or sets a value indicating whether the thread was aborted during
+            the callback.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.ThrowSavedException">
+            <summary>
+            If an exception was generated during a callback throw it.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StatusCallbackWrapper.CallbackImpl(System.IntPtr,System.UInt32,System.UInt32,System.IntPtr)">
+            <summary>
+            Callback function for native code. We don't want to throw an exception through
+            unmanaged ESENT because that will corrupt ESENT's internal state. Instead we
+            catch all exceptions and return an error instead. We use a CER to make catching
+            the exceptions as reliable as possible.
+            </summary>
+            <param name="nativeSesid">
+            The session with which the long running operation was called.
+            </param>
+            <param name="nativeSnp">The type of operation.</param>
+            <param name="nativeSnt">The status of the operation.</param>
+            <param name="nativeData">Optional <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG"/>.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_prep">
+            <summary>
+            Update types for JetPrepareUpdate.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_prep.Insert">
+            <summary>
+             This flag causes the cursor to prepare for an insert of a new record.
+             All the data is initialized to the default state for the record.
+             If the table has an auto-increment column, then a new value is
+             assigned to this record regardless of whether the update ultimately
+             succeeds, fails or is cancelled.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_prep.Replace">
+            <summary>
+             This flag causes the cursor to prepare for a replace of the current
+             record. If the table has a version column, then the version column
+             is set to the next value in its sequence. If this update does not
+             complete, then the version value in the record will be unaffected.
+             An update lock is taken on the record to prevent other sessions
+             from updating this record before this session completes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_prep.Cancel">
+            <summary>
+             This flag causes JetPrepareUpdate to cancel the update for this cursor.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_prep.ReplaceNoLock">
+            <summary>
+             This flag is similar to JET_prepReplace, but no lock is taken to prevent
+             other sessions from updating this record. Instead, this session may receive
+             JET_errWriteConflict when it calls JetUpdate to complete the update.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_prep.InsertCopy">
+            <summary>
+             This flag causes the cursor to prepare for an insert of a copy of the
+             existing record. There must be a current record if this option is used.
+             The initial state of the new record is copied from the current record.
+             Long values that are stored off-record are virtually copied.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_prep.InsertCopyDeleteOriginal">
+            <summary>
+             This flag causes the cursor to prepare for an insert of the same record,
+             and a delete or the original record. It is used in cases in which the
+             primary key has changed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_RECORDLIST">
+            <summary>
+            The native version of the JET_RECORDLIST structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECORDLIST.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECORDLIST.tableid">
+            <summary>
+            Temporary table containing the bookmarks.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECORDLIST.cRecords">
+            <summary>
+            Number of records in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECORDLIST.columnidBookmark">
+            <summary>
+            Column id of the column containing the record bookmarks.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_RECORDLIST">
+            <summary>
+            Information about a temporary table containing information
+            about all indexes for a given table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RECORDLIST.tableid">
+            <summary>
+            Gets tableid of the temporary table. This should be closed
+            when the table is no longer needed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RECORDLIST.cRecords">
+            <summary>
+            Gets the number of records in the temporary table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RECORDLIST.columnidBookmark">
+            <summary>
+            Gets the columnid of the column in the temporary table which
+            stores the bookmark of the record.
+            The column is of type JET_coltyp.Text.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RECORDLIST.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXLIST"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXLIST"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RECORDLIST.SetFromNativeRecordlist(Microsoft.Isam.Esent.Interop.NATIVE_RECORDLIST)">
+            <summary>
+            Sets the fields of the object from a native JET_RECORDLIST struct.
+            </summary>
+            <param name="value">
+            The native recordlist to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_RECPOS">
+            <summary>
+            The native version of the JET_RETINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECPOS.Size">
+            <summary>
+            Size of NATIVE_RECPOS structures.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECPOS.cbStruct">
+            <summary>
+            Size of this structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECPOS.centriesLT">
+            <summary>
+            Approximate number of index entries less than the key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECPOS.centriesInRange">
+            <summary>
+            Approximate number of entries in the index range.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RECPOS.centriesTotal">
+            <summary>
+            Approximate number of entries in the index.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_RECPOS">
+            <summary>
+            Represents a fractional position within an index. This is used by JetGotoPosition
+            and JetGetRecordPosition.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_RECPOS.entriesBeforeKey">
+            <summary>
+            The number of entries before the key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_RECPOS.totalEntries">
+            <summary>
+            Total number of entries.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RECPOS.centriesLT">
+            <summary>
+            Gets or sets the approximate number of index entries less than the key.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RECPOS.centriesTotal">
+            <summary>
+            Gets or sets the approximate number of entries in the index.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RECPOS.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RECPOS.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RECPOS.ContentEquals(Microsoft.Isam.Esent.Interop.JET_RECPOS)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RECPOS.GetNativeRecpos">
+            <summary>
+            Get a NATIVE_RECPOS structure representing the object.
+            </summary>
+            <returns>A NATIVE_RECPOS whose members match the class.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RECPOS.SetFromNativeRecpos(Microsoft.Isam.Esent.Interop.NATIVE_RECPOS)">
+            <summary>
+            Sets the fields of the object from a NATIVE_RECPOS structure.
+            </summary>
+            <param name="value">The NATIVE_RECPOS which will be used to set the fields.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_RETINFO">
+            <summary>
+            The native version of the JET_RETINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETINFO.Size">
+            <summary>
+            The size of a NATIVE_RETINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETINFO.cbStruct">
+            <summary>
+            Size of this structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETINFO.ibLongValue">
+            <summary>
+            Offset of the long value to retrieve.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETINFO.itagSequence">
+            <summary>
+            Itag sequence to retrieve.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETINFO.columnidNextTagged">
+            <summary>
+            Returns the columnid of the next tagged column.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_RETINFO">
+            <summary>
+            Contains optional input and output parameters for JetRetrieveColumn.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETINFO.ibLongValue">
+            <summary>
+            Gets or sets the offset to the first byte to be retrieved from a column of
+            type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/>, or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETINFO.itagSequence">
+            <summary>
+            Gets or sets the sequence number of value in a multi-valued column.
+            The array of values is one-based. The first value is
+            sequence 1, not 0. If the record column has only one value then
+            1 should be passed as the itagSequence.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETINFO.columnidNextTagged">
+            <summary>
+            Gets the columnid of the retrieved tagged, multi-valued or
+            sparse, column when all tagged columns are retrieved by passing
+            0 as the columnid to JetRetrieveColumn.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETINFO.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETINFO"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETINFO"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETINFO.ContentEquals(Microsoft.Isam.Esent.Interop.JET_RETINFO)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETINFO.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETINFO.GetNativeRetinfo">
+            <summary>
+            Get a NATIVE_RETINFO structure representing the object.
+            </summary>
+            <returns>A NATIVE_RETINFO whose members match the class.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETINFO.SetFromNativeRetinfo(Microsoft.Isam.Esent.Interop.NATIVE_RETINFO)">
+            <summary>
+            Sets the fields of the object from a NATIVE_RETINFO structure.
+            </summary>
+            <param name="value">The NATIVE_RETINFO which will be used to set the fields.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN">
+            <summary>
+            The native version of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN"/> structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.columnid">
+            <summary>
+            The column identifier for the column to retrieve.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.pvData">
+            <summary>
+            A pointer to begin storing data that is retrieved from the
+            column value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.cbData">
+            <summary>
+            The size of allocation beginning at pvData, in bytes. The
+            retrieve column operation will not store more data at pvData
+            than cbData.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.cbActual">
+            <summary>
+            The size, in bytes, of data that is retrieved by a retrieve
+            column operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.grbit">
+            <summary>
+            A group of bits that contain the options for column retrieval.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.ibLongValue">
+            <summary>
+            The offset to the first byte to be retrieved from a column of
+            type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/> or
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.itagSequence">
+            <summary>
+            The sequence number of the values that are contained in a
+            multi-valued column. If the itagSequence is 0 then the number
+            of instances of a multi-valued column are returned instead of
+            any column data. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.columnidNextTagged">
+            <summary>
+            The columnid of the tagged, multi-valued, or sparse column
+            when all tagged columns are retrieved by passing 0 as the
+            columnid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN.err">
+            <summary>
+            Error codes and warnings returned from the retrieval of the column.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN">
+            <summary>
+            Contains input and output parameters for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetRetrieveColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN[],System.Int32)"/>.
+            Fields in the structure describe what column value to retrieve, how to
+            retrieve it, and where to save results.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.columnid">
+            <summary>
+            Gets or sets the column identifier for the column to retrieve.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.pvData">
+            <summary>
+            Gets or sets the buffer that will store data that is retrieved from the
+            column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.ibData">
+            <summary>
+            Gets or sets the offset in the buffer that data will be stored in.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.cbData">
+            <summary>
+            Gets or sets the size of the <see cref="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.pvData"/> buffer, in bytes. The
+            retrieve column operation will not store more data in pvData
+            than cbData.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.cbActual">
+            <summary>
+            Gets the size, in bytes, of data that is retrieved by a retrieve
+            column operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.grbit">
+            <summary>
+            Gets or sets the options for column retrieval.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.ibLongValue">
+            <summary>
+            Gets or sets the offset to the first byte to be retrieved from a column of
+            type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/> or
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.itagSequence">
+            <summary>
+            Gets or sets the sequence number of the values that are contained in a
+            multi-valued column. If the itagSequence is 0 then the number
+            of instances of a multi-valued column are returned instead of
+            any column data. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.columnidNextTagged">
+            <summary>
+            Gets the columnid of the tagged, multi-valued, or sparse column
+            when all tagged columns are retrieved by passing 0 as the
+            columnid.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.err">
+            <summary>
+            Gets the warning returned from the retrieval of the column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.CheckDataSize">
+            <summary>
+            Check to see if cbData is negative or greater than cbData.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.GetNativeRetrievecolumn(Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN@)">
+            <summary>
+            Gets the NATIVE_RETRIEVECOLUMN structure that represents the object.
+            </summary>
+            <param name="retrievecolumn">The NATIVE_RETRIEVECOLUMN structure to fill in.</param>
+            <remarks>
+            This takes a reference because a NATIVE_RETRIEVECOLUMN is quite large (40 bytes)
+            so copying it around can be expensive.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RETRIEVECOLUMN.UpdateFromNativeRetrievecolumn(Microsoft.Isam.Esent.Interop.NATIVE_RETRIEVECOLUMN@)">
+            <summary>
+            Update the output members of the class from a NATIVE_RETRIEVECOLUMN
+            structure. This should be done after the columns are retrieved.
+            </summary>
+            <param name="native">
+            The structure containing the updated output fields.
+            </param>
+            <remarks>
+            This takes a reference because a NATIVE_RETRIEVECOLUMN is quite large (40 bytes)
+            so copying it around can be expensive.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO">
+            <summary>
+            The native version of the JET_RSTINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO.SizeOfRstinfo">
+            <summary>
+            The size of a NATIVE_RSTINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO.rgrstmap">
+            <summary>
+            The array of <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_RSTMAP"/> structures.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO.crstmap">
+            <summary>
+            The number of elements in the restore-map array.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO.lgposStop">
+            <summary>
+            The log position at which it stopped.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO.logtimeStop">
+            <summary>
+            The time at which it stopped.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTINFO.pfnStatus">
+            <summary>
+            The callback to the status function.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_RSTINFO">
+            <summary>
+            Contains optional input and output parameters for JetRetrieveColumn.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RSTINFO.rgrstmap">
+            <summary>
+            Gets or sets the array of <see cref="T:Microsoft.Isam.Esent.Interop.JET_RSTMAP"/> structures.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RSTINFO.crstmap">
+            <summary>
+            Gets or sets the number of elements in the restore-map array.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RSTINFO.lgposStop">
+            <summary>
+            Gets or sets the log position to stop recovery at.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RSTINFO.logtimeStop">
+            <summary>
+            Gets or sets the time at which it stopped.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RSTINFO.pfnStatus">
+            <summary>
+            Gets or sets the callback to Gets or sets the status function.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTINFO.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RSTINFO"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RSTINFO"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTINFO.ContentEquals(Microsoft.Isam.Esent.Interop.JET_RSTINFO)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTINFO.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTINFO.CheckMembersAreValid">
+            <summary>
+            Check this object to make sure its parameters are valid.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTINFO.GetNativeRstinfo">
+            <summary>
+            Get a native version of this managed structure.
+            </summary>
+            <returns>A native version of this object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_RSTMAP">
+            <summary>
+            The native version of the JET_RSTMAP structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTMAP.szDatabaseName">
+            <summary>
+            The old name/path of the database. Can be null if it is unchanged.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_RSTMAP.szNewDatabaseName">
+            <summary>
+             The current name/path of the database. Must not be null.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.NATIVE_RSTMAP.FreeHGlobal">
+            <summary>
+            Free the string memory.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_RSTMAP">
+            <summary>
+            Enables the remapping of database file paths that are stored in the transaction logs during recovery.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_RSTMAP.databaseName">
+            <summary>
+            The old name/path of the database. Can be null if it is unchanged.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_RSTMAP.newDatabaseName">
+            <summary>
+             The current name/path of the database. Must not be null.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RSTMAP.szDatabaseName">
+            <summary>
+            Gets or sets the old name/path of the database. Can be null if it is unchanged.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_RSTMAP.szNewDatabaseName">
+            <summary>
+             Gets or sets the current name/path of the database. Must not be null.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTMAP.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RSTMAP"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_RSTMAP"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTMAP.ContentEquals(Microsoft.Isam.Esent.Interop.JET_RSTMAP)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTMAP.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_RSTMAP.GetNativeRstmap">
+            <summary>
+            Get a native version of this managed structure.
+            </summary>
+            <returns>A native version of this object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN">
+            <summary>
+            The native version of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN"/> structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN.columnid">
+            <summary>
+            Columnid to set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN.pvData">
+            <summary>
+            Data to set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN.cbData">
+            <summary>
+            Size of data to set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN.grbit">
+            <summary>
+            SetColumns options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN.ibLongValue">
+            <summary>
+            Long-value offset to set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN.itagSequence">
+            <summary>
+            Itag sequence to set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN.err">
+            <summary>
+            Returns the error from setting the column.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN">
+            <summary>
+            Contains input and output parameters for <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_SETCOLUMN[],System.Int32)"/>.
+            Fields in the structure describe what column value to set, how to set it,
+            and where to get the column set data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.columnid">
+            <summary>
+            Gets or sets the column identifier for a column to set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.pvData">
+            <summary>
+            Gets or sets a pointer to the data to set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.ibData">
+            <summary>
+            Gets or sets the offset of the data to set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.cbData">
+            <summary>
+            Gets or sets the size of the data to set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.grbit">
+            <summary>
+            Gets or sets options for the set column operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.ibLongValue">
+            <summary>
+            Gets or sets offset to the first byte to be set in a column of type
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/> or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.itagSequence">
+            <summary>
+            Gets or sets the sequence number of value in a multi-valued column to be set. The array of values is one-based.
+            The first value is sequence 1, not 0 (zero). If the record column has only one value then 1 should be passed
+            as the itagSequence if that value is being replaced. A value of 0 (zero) means to add a new column value instance
+            to the end of the sequence of column values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.err">
+            <summary>
+            Gets the error code or warning returned from the set column operation.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.ContentEquals(Microsoft.Isam.Esent.Interop.JET_SETCOLUMN)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.CheckDataSize">
+            <summary>
+            Check to see if cbData is negative or greater than the length of pvData.
+            Check to see if ibData is negative or greater than the length of pvData.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETCOLUMN.GetNativeSetcolumn">
+            <summary>
+            Gets the NATIVE_SETCOLUMN structure that represents the object.
+            </summary>
+            <returns>A NATIVE_SETCOLUMN structure whose fields match the class.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_SETINFO">
+            <summary>
+            The native version of the JET_SETINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETINFO.Size">
+            <summary>
+            The size of a NATIVE_SETINFO structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETINFO.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETINFO.ibLongValue">
+            <summary>
+            Offset to the first byte to be set in a column of type JET_coltypLongBinary or JET_coltypLongText.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SETINFO.itagSequence">
+            <summary>
+            The sequence number of value in a multi-valued column to be set.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SETINFO">
+            <summary>
+            Settings for JetSetColumn.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SETINFO.longValueOffset">
+            <summary>
+            Offset to the first byte to be set in a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/> or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SETINFO.itag">
+            <summary>
+            The sequence number of value in a multi-valued column to be set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETINFO.ibLongValue">
+            <summary>
+            Gets or sets offset to the first byte to be set in a column of type <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongBinary"/> or <see cref="F:Microsoft.Isam.Esent.Interop.JET_coltyp.LongText"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SETINFO.itagSequence">
+            <summary>
+            Gets or sets the sequence number of value in a multi-valued column to be set. The array of values is one-based.
+            The first value is sequence 1, not 0 (zero). If the record column has only one value then 1 should be passed
+            as the itagSequence if that value is being replaced. A value of 0 (zero) means to add a new column value instance
+            to the end of the sequence of column values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETINFO.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETINFO"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.JET_SETINFO"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETINFO.ContentEquals(Microsoft.Isam.Esent.Interop.JET_SETINFO)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETINFO.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SETINFO.GetNativeSetinfo">
+            <summary>
+            Gets the NATIVE_SETINFO structure that represents the object.
+            </summary>
+            <returns>A NATIVE_SETINFO structure whose fields match the class.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SIGNATURE">
+            <summary>
+            The JET_SIGNATURE structure contains information that uniquely
+            identifies a database or logfile sequence.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.ulRandom">
+            <summary>
+            A randomly assigned number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.logtimeCreate">
+            <summary>
+            The time that the database or first logfile in the sequence was
+            created.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.szComputerName">
+            <summary>
+            NetBIOS name of the computer. This may be null.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.#ctor(System.Byte[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_SIGNATURE"/> struct.
+            </summary>
+            <param name="bytes">The serialized representation of a JET_SIGNATURE from ToBytes().</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.#ctor(System.Int32,System.Nullable{System.DateTime},System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_SIGNATURE"/> struct.
+            </summary>
+            <param name="random">A random number.</param>
+            <param name="time">The time for the creation time.</param>
+            <param name="computerName">The optional computer name.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.#ctor(Microsoft.Isam.Esent.Interop.NATIVE_SIGNATURE)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_SIGNATURE"/> struct.
+            </summary>
+            <param name="native">A native signature to initialize the members with.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.op_Equality(Microsoft.Isam.Esent.Interop.JET_SIGNATURE,Microsoft.Isam.Esent.Interop.JET_SIGNATURE)">
+            <summary>
+            Determines whether two specified instances of JET_SIGNATURE
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.op_Inequality(Microsoft.Isam.Esent.Interop.JET_SIGNATURE,Microsoft.Isam.Esent.Interop.JET_SIGNATURE)">
+            <summary>
+            Determines whether two specified instances of JET_SIGNATURE
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.ToBytes">
+            <summary>
+            Generate the serialized representation of the structure.
+            </summary>
+            <returns>The structure as a byte array.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.Equals(Microsoft.Isam.Esent.Interop.JET_SIGNATURE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SIGNATURE.GetNativeSignature">
+            <summary>
+            Converts the structure to the native representation.
+            </summary>
+            <returns>The native representation of the signature.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_SIGNATURE">
+            <summary>
+            Native (interop) version of the JET_SIGNATURE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SIGNATURE.ComputerNameSize">
+            <summary>
+            Size of the szComputerName array.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SIGNATURE.Size">
+            <summary>
+            The size of a NATIVE_SIGNATURE structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SIGNATURE.ulRandom">
+            <summary>
+            A random number.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SIGNATURE.logtimeCreate">
+            <summary>
+            Time the database or log sequence was created.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SIGNATURE.szComputerName">
+            <summary>
+            NetBIOS name of the computer.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SNP">
+            <summary>
+            The type of operation that progress is being reported for.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNP.Repair">
+            <summary>
+            Callback is for a repair option.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNP.Compact">
+            <summary>
+            Callback is for database defragmentation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNP.Restore">
+            <summary>
+            Callback is for a restore options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNP.Backup">
+            <summary>
+            Callback is for a backup options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNP.Scrub">
+            <summary>
+            Callback is for database zeroing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNP.UpgradeRecordFormat">
+            <summary>
+            Callback is for the process of upgrading the record format of
+            all database pages.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG">
+            <summary>
+            The native version of the JET_SNPROG structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG.Size">
+            <summary>
+            Size of this structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG.cunitDone">
+            <summary>
+            The number of work units that are already completed during the long
+            running operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG.cunitTotal">
+            <summary>
+            The number of work units that need to be completed. This value will
+            always be bigger than or equal to cunitDone.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SNPROG">
+            <summary>
+            Contains information about the progress of a long-running operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNPROG.completedUnits">
+            <summary>
+            Number of units of work that have completed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNPROG.totalUnits">
+            <summary>
+            Total number of units of work to be done.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SNPROG.cunitDone">
+            <summary>
+            Gets the number of work units that are already completed during the long
+            running operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SNPROG.cunitTotal">
+            <summary>
+            Gets the number of work units that need to be completed. This value will
+            always be bigger than or equal to cunitDone.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SNPROG.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SNPROG.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SNPROG.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SNPROG.Equals(Microsoft.Isam.Esent.Interop.JET_SNPROG)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SNPROG.SetFromNative(Microsoft.Isam.Esent.Interop.NATIVE_SNPROG)">
+            <summary>
+            Set the members of this class from a <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_SNPROG"/>.
+            </summary>
+            <param name="native">The native struct.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SNT">
+            <summary>
+            Type of progress being reported.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNT.Begin">
+            <summary>
+            Callback for the beginning of an operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNT.Progress">
+            <summary>
+            Callback for operation progress.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNT.Complete">
+            <summary>
+            Callback for the completion of an operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNT.Fail">
+            <summary>
+            Callback for failure during the operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SNT.RecoveryStep">
+            <summary>
+            RecoveryStep was used for internal reserved functionality
+            prior to Windows 8. Windows 8 and later no longer use RecoveryStep.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS">
+            <summary>
+            The native version of the JET_SPACEHINTS structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.ulInitialDensity">
+            <summary>
+            Density at (append) layout.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.cbInitial">
+            <summary>
+            Initial size (in bytes).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.grbit">
+            <summary>
+            Space hints options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.ulMaintDensity">
+            <summary>
+            Density to maintain at.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.ulGrowth">
+            <summary>
+            Percent growth from last growth or initial size (possibly rounded to nearest native JET allocation size).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.cbMinExtent">
+            <summary>
+            Overrides ulGrowth if too small.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS.cbMaxExtent">
+            <summary>
+            Cap of ulGrowth.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS">
+            <summary>
+            Describes a column in a table of an ESENT database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.initialDensity">
+            <summary>
+            Density at (append) layout.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.initialSize">
+            <summary>
+            Initial size (in bytes).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.options">
+            <summary>
+            Space hints options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.maintenanceDensity">
+            <summary>
+            Density to maintain at.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.growthPercent">
+            <summary>
+            Percent growth from last growth or initial size (possibly rounded to nearest native JET allocation size).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.minimumExtent">
+            <summary>
+            Overrides ulGrowth if too small.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.maximumExtent">
+            <summary>
+            Cap of ulGrowth.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.ulInitialDensity">
+            <summary>
+            Gets or sets the density at (append) layout.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.cbInitial">
+            <summary>
+            Gets or sets the initial size (in bytes).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.grbit">
+            <summary>
+            Gets or sets the space hints options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.ulMaintDensity">
+            <summary>
+            Gets or sets the density at which to maintain.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.ulGrowth">
+            <summary>
+            Gets or sets the percent growth from last growth or initial size (possibly rounded
+            to nearest native JET allocation size).
+            Valid values are 0, and [100, 50000).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.cbMinExtent">
+            <summary>
+            Gets or sets the value that overrides ulGrowth if too small. This value is in bytes.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.cbMaxExtent">
+            <summary>
+            Gets or sets the value that sets the ceiling of ulGrowth. This value is in bytes.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.ContentEquals(Microsoft.Isam.Esent.Interop.JET_SPACEHINTS)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.GetNativeSpaceHints">
+            <summary>
+            Returns the unmanaged columncreate that represents this managed class.
+            </summary>
+            <returns>A native (interop) version of the JET_SPACEHINTS.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS.SetFromNativeSpaceHints(Microsoft.Isam.Esent.Interop.NATIVE_SPACEHINTS)">
+            <summary>
+            Sets the fields of the object from a native JET_SPACEHINTS struct.
+            </summary>
+            <param name="value">
+            The native columncreate to set the values from.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_TABLECREATE">
+            <summary>
+            Contains the information needed to create a table in an ESE database.
+            </summary>
+            <summary>
+            Contains the information needed to create a table in an ESE database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.tableName">
+            <summary>
+            Name of the table to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.templateTableName">
+            <summary>
+            Name of the table from which to inherit base DDL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.initialPageAllocation">
+            <summary>
+            Initial pages to allocate for table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.tableDensity">
+            <summary>
+            Table density.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.columnCreates">
+            <summary>
+            Array of column creation info.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.columnCreateCount">
+            <summary>
+            Number of columns to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.indexCreates">
+            <summary>
+            Array of indices to create, pointer to <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.indexCreateCount">
+            <summary>
+            Number of indices to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.callbackFunction">
+            <summary>
+            Callback function to use for the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.callbackType">
+            <summary>
+            Type of the callback function.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.options">
+            <summary>
+            Table options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.seqSpacehints">
+            <summary>
+            Space allocation, maintenance, and usage hints for default sequential index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.longValueSpacehints">
+            <summary>
+            Space allocation, maintenance, and usage hints for Separated LV tree.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.separateLvThresholdHint">
+            <summary>
+            Heuristic size to separate a intrinsic LV from the primary record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.tableIdentifier">
+            <summary>
+            Returned tableid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.objectsCreated">
+            <summary>
+            Count of objects created (columns+table+indexes+callbacks).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.szTableName">
+            <summary>
+            Gets or sets the name of the table to create.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.szTemplateTableName">
+            <summary>
+            Gets or sets the name of the table from which to inherit base DDL.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.ulPages">
+            <summary>
+            Gets or sets the initial pages to allocate for table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.ulDensity">
+            <summary>
+            Gets or sets the table density.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgcolumncreate">
+            <summary>
+            Gets or sets an array of column creation info, of type <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNCREATE"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.cColumns">
+            <summary>
+            Gets or sets the number of columns to create.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgindexcreate">
+            <summary>
+            Gets or sets an array of indices to create, of type <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.cIndexes">
+            <summary>
+            Gets or sets the number of indices to create.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.szCallback">
+            <summary>
+            Gets or sets a callback function to use for the table. This is in the form "module!functionName",
+            and assumes unmanaged code. See <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetRegisterCallback(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_cbtyp,Microsoft.Isam.Esent.Interop.JET_CALLBACK,System.IntPtr,Microsoft.Isam.Esent.Interop.JET_HANDLE@)"/> for an alternative.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.cbtyp">
+            <summary>
+            Gets or sets a type of the callback function.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.grbit">
+            <summary>
+            Gets or sets the table options.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pSeqSpacehints">
+            <summary>
+            Gets or sets space allocation, maintenance, and usage hints for default sequential index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pLVSpacehints">
+            <summary>
+            Gets or sets space allocation, maintenance, and usage hints for Separated LV tree, of type <see cref="T:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.cbSeparateLV">
+            <summary>
+            Gets or sets the heuristic size to separate a intrinsic LV from the primary record.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.tableid">
+            <summary>
+            Gets or sets the returned tableid.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.cCreated">
+            <summary>
+            Gets or sets the count of objects created (columns+table+indexes+callbacks).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.ContentEquals(Microsoft.Isam.Esent.Interop.JET_TABLECREATE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.CheckMembersAreValid">
+            <summary>
+            Check this object to make sure its parameters are valid.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.GetNativeTableCreate2">
+            <summary>
+            Gets the native (interop) version of this object. The following members are
+            NOT converted: <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgcolumncreate"/>, <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgindexcreate"/>,
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pSeqSpacehints"/>, and <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pLVSpacehints"/>.
+            </summary>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.GetNativeTableCreate3">
+            <summary>
+            Gets the native (interop) version of this object. The following members are
+            NOT converted: <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgcolumncreate"/>, <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgindexcreate"/>,
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pSeqSpacehints"/>, and <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pLVSpacehints"/>.
+            </summary>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2">
+            <summary>
+            The native version of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_TABLECREATE"/> structure. This includes callbacks,
+            space hints, and uses NATIVE_INDEXCREATE.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.szTableName">
+            <summary>
+            Name of the table to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.szTemplateTableName">
+            <summary>
+            Name of the table from which to inherit base DDL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.ulPages">
+            <summary>
+            Initial pages to allocate for table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.ulDensity">
+            <summary>
+            Table density.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.rgcolumncreate">
+            <summary>
+            Array of column creation info.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.cColumns">
+            <summary>
+            Number of columns to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.rgindexcreate">
+            <summary>
+            Array of indices to create, pointer to <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.cIndexes">
+            <summary>
+            Number of indices to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.szCallback">
+            <summary>
+            Callback function to use for the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.cbtyp">
+            <summary>
+            Type of the callback function.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.grbit">
+            <summary>
+            Table options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.tableid">
+            <summary>
+            Returned tableid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE2.cCreated">
+            <summary>
+            Count of objects created (columns+table+indexes+callbacks).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3">
+            <summary>
+            The native version of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_TABLECREATE"/> structure. This includes callbacks,
+            space hints, and uses NATIvE_INDEXCREATE2.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.szTableName">
+            <summary>
+            Name of the table to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.szTemplateTableName">
+            <summary>
+            Name of the table from which to inherit base DDL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.ulPages">
+            <summary>
+            Initial pages to allocate for table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.ulDensity">
+            <summary>
+            Table density.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.rgcolumncreate">
+            <summary>
+            Array of column creation info.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.cColumns">
+            <summary>
+            Number of columns to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.rgindexcreate">
+            <summary>
+            Array of indices to create, pointer to <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE.NATIVE_INDEXCREATE2"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.cIndexes">
+            <summary>
+            Number of indices to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.szCallback">
+            <summary>
+            Callback function to use for the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.cbtyp">
+            <summary>
+            Type of the callback function.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.grbit">
+            <summary>
+            Table options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.pSeqSpacehints">
+            <summary>
+            Space allocation, maintenance, and usage hints for default sequential index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.pLVSpacehints">
+            <summary>
+            Space allocation, maintenance, and usage hints for Separated LV tree.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.cbSeparateLV">
+            <summary>
+            Heuristic size to separate a intrinsic LV from the primary record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.tableid">
+            <summary>
+            Returned tableid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.NATIVE_TABLECREATE3.cCreated">
+            <summary>
+            Count of objects created (columns+table+indexes+callbacks).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.GetNativeTableCreate4">
+            <summary>
+            Gets the native (interop) version of this object. The following members are
+            NOT converted: <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgcolumncreate"/>, <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.rgindexcreate"/>,
+            <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pSeqSpacehints"/>, and <see cref="P:Microsoft.Isam.Esent.Interop.JET_TABLECREATE.pLVSpacehints"/>.
+            </summary>
+            <returns>The native (interop) version of this object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4">
+            <summary>
+            The native version of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_TABLECREATE"/> structure. This includes callbacks,
+            space hints, and uses NATIVE_INDEXCREATE4.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.cbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.szTableName">
+            <summary>
+            Name of the table to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.szTemplateTableName">
+            <summary>
+            Name of the table from which to inherit base DDL.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.ulPages">
+            <summary>
+            Initial pages to allocate for table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.ulDensity">
+            <summary>
+            Table density.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.rgcolumncreate">
+            <summary>
+            Array of column creation info.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.cColumns">
+            <summary>
+            Number of columns to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.rgindexcreate">
+            <summary>
+            Array of indices to create, pointer to <see cref="T:Microsoft.Isam.Esent.Interop.NATIVE_INDEXCREATE3"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.cIndexes">
+            <summary>
+            Number of indices to create.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.szCallback">
+            <summary>
+            Callback function to use for the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.cbtyp">
+            <summary>
+            Type of the callback function.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.grbit">
+            <summary>
+            Table options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.pSeqSpacehints">
+            <summary>
+            Space allocation, maintenance, and usage hints for default sequential index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.pLVSpacehints">
+            <summary>
+            Space allocation, maintenance, and usage hints for Separated LV tree.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.cbSeparateLV">
+            <summary>
+            Heuristic size to separate a intrinsic LV from the primary record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.tableid">
+            <summary>
+            Returned tableid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_TABLECREATE4.cCreated">
+            <summary>
+            Count of objects created (columns+table+indexes+callbacks).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_TblInfo">
+            <summary>
+            Info levels for retrieving table info with JetGetTableInfo.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Default">
+            <summary>
+            Default option. Retrieves a <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO"/> containing
+            information about the table. Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO@,Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Name">
+            <summary>
+            Retrieves the name of the table. Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.Dbid">
+            <summary>
+            Retrieves the <see cref="T:Microsoft.Isam.Esent.Interop.JET_DBID"/> of the database containing the
+            table. Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceUsage">
+            <summary>
+            The behavior of the method depends on how large the array that is passed
+            to the method is. The array must have at least two entries.
+            The first entry will contain the number of Owned Extents in the table.
+            The second entry will contain the number of Available Extents in the table.
+            If the array has more than two entries then the remaining bytes of
+            the buffer will consist of an array of structures that represent a list of
+            extents. This structure contains two members: the last page number in the
+            extent and the number of pages in the extent. Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32[],Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAlloc">
+            <summary>
+            The array passed to JetGetTableInfo must have two entries.
+            The first entry will be set to the number of pages in the table.
+            The second entry will be set to the target density of pages for the table.
+            Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32[],Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceOwned">
+            <summary>
+            Gets the number of owned pages in the table. Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.SpaceAvailable">
+            <summary>
+            Gets the number of available pages in the table. Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Int32@,Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TblInfo.TemplateTableName">
+            <summary>
+            If the table is a derived table, the result will be filled in with the
+            name of the table from which the derived table inherited its DDL. If
+            the table is not a derived table, the buffer will an empty string.
+            Use this option with
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetTableInfo(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.String@,Microsoft.Isam.Esent.Interop.JET_TblInfo)"/>.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_UNICODEINDEX">
+            <summary>
+            The native version of the JET_UNICODEINDEX structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_UNICODEINDEX.lcid">
+            <summary>
+            The LCID to be used when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_UNICODEINDEX.dwMapFlags">
+            <summary>
+            The flags for LCMapString.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX">
+            <summary>
+            Customizes how Unicode data gets normalized when an index is created over a Unicode column.
+            </summary>
+            <summary>
+            Customizes how Unicode data gets normalized when an index is created over a Unicode column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.localeId">
+            <summary>
+            The LCID to be used when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.localeName">
+            <summary>
+            The LocaleName to be used when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.mapStringFlags">
+            <summary>
+            Sets the flags to be used with LCMapString when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.lcid">
+            <summary>
+            Gets or sets the LCID to be used when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.szLocaleName">
+            <summary>
+            Gets or sets the LocaleName to be used when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.dwMapFlags">
+            <summary>
+            Gets or sets the flags to be used with LCMapString when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.DeepClone">
+            <summary>
+            Returns a deep copy of the object.
+            </summary>
+            <returns>A deep copy of the object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.ToString">
+            <summary>
+            Generate a string representation of the instance.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.ContentEquals(Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.GetNativeUnicodeIndex">
+            <summary>
+            Gets the native version of this object.
+            </summary>
+            <returns>The native version of this object.</returns>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.LcidToLocales">
+            <summary>
+            Contains a limited mapping of LCIDs to locale names.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.#cctor">
+            <summary>
+            Initializes static members of the JET_UNICODEINDEX class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.#ctor(Microsoft.Isam.Esent.Interop.NATIVE_UNICODEINDEX2@)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX"/> class.
+            </summary>
+            <param name="native">The native object from which to read values.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.GetEffectiveLocaleName">
+            <summary>
+            As a workaround for systems that do not have LCID support, we will convert a VERY limited number of
+            LCIDs to locale names.
+            </summary>
+            <returns>A BCP-47 style locale name.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.LimitedLcidToLocaleNameMapping(System.Int32)">
+            <summary>
+            As a workaround for systems that do not have LCID support, we will convert a VERY limited number of
+            LCIDs to locale names.
+            </summary>
+            <param name="lcid">A locale identifier.</param>
+            <returns>A BCP-47 style locale name.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_UNICODEINDEX.GetNativeUnicodeIndex2">
+            <summary>
+            Gets the native version of this object.
+            </summary>
+            <returns>The native version of this object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.NATIVE_UNICODEINDEX2">
+            <summary>
+            The native version of the JET_UNICODEINDEX2 structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_UNICODEINDEX2.szLocaleName">
+            <summary>
+            The locale to be used when normalizing unicode data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.NATIVE_UNICODEINDEX2.dwMapFlags">
+            <summary>
+            The flags for LCMapString.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_wrn">
+            <summary>
+            ESENT warning codes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.Success">
+            <summary>
+            Successful operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.RemainingVersions">
+            <summary>
+            The version store is still active
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.UniqueKey">
+            <summary>
+            seek on non-unique index yielded a unique key
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.SeparateLongValue">
+            <summary>
+            Column is a separated long-value
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.NoMoreRecords">
+            <summary>
+            No more records to stream
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ExistingLogFileHasBadSignature">
+            <summary>
+            Existing log file has bad signature
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ExistingLogFileIsNotContiguous">
+            <summary>
+            Existing log file is not contiguous
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.SkipThisRecord">
+            <summary>
+            INTERNAL ERROR
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.TargetInstanceRunning">
+            <summary>
+            TargetInstance specified for restore is running
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.CommittedLogFilesLost">
+            <summary>
+            One or more logs that were committed to this database, were not recovered.  The database is still clean/consistent, as though the lost log's transactions were committed lazily (and lost).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.CommittedLogFilesRemoved">
+            <summary>
+            One or more logs that were committed to this database, were no recovered.  The database is still clean/consistent, as though the corrupted log's transactions were committed lazily (and lost).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.FinishWithUndo">
+            <summary>
+            Signal used by clients to indicate JetInit() finished with undo
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DatabaseRepaired">
+            <summary>
+            Database corruption has been repaired
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNull">
+            <summary>
+            Column is NULL-valued
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.BufferTruncated">
+            <summary>
+            Buffer too small for data
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DatabaseAttached">
+            <summary>
+            Database is already attached
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.SortOverflow">
+            <summary>
+            Sort does not fit in memory
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.SeekNotEqual">
+            <summary>
+            Exact match not found during seek
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.NoErrorInfo">
+            <summary>
+            No extended error information
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.NoIdleActivity">
+            <summary>
+            No idle activity occurred
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.NoWriteLock">
+            <summary>
+            No write lock at transaction level 0
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSetNull">
+            <summary>
+            Column set to NULL-value
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ShrinkNotPossible">
+            <summary>
+            Database file could not be shrunk because there is not enough internal free space available or there is unmovable data present.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DTCCommitTransaction">
+            <summary>
+            Warning code DTC callback should return if the specified transaction is to be committed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DTCRollbackTransaction">
+            <summary>
+            Warning code DTC callback should return if the specified transaction is to be rolled back
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.TableEmpty">
+            <summary>
+            Opened an empty table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.TableInUseBySystem">
+            <summary>
+            System cleanup has a cursor open on the table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.CorruptIndexDeleted">
+            <summary>
+            Out of date index removed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.PrimaryIndexOutOfDate">
+            <summary>
+            The Primary index is created with an incompatible OS sort version. The table can not be safely modified.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.SecondaryIndexOutOfDate">
+            <summary>
+            One or more Secondary index is created with an incompatible OS sort version. Any index over Unicode text should be deleted.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnMaxTruncated">
+            <summary>
+            Max length too big, truncated
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.CopyLongValue">
+            <summary>
+            Single instance column bursted
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.TaggedColumnsRemaining">
+            <summary>
+            RetrieveTaggedColumnList ran out of copy buffer before retrieving all tagged columns
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSkipped">
+            <summary>
+            Column value(s) not returned because the corresponding column id or itagSequence requested for enumeration was null
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNotLocal">
+            <summary>
+            Column value(s) not returned because they could not be reconstructed from the data at hand
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnMoreTags">
+            <summary>
+            Column values exist that were not requested for enumeration
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnTruncated">
+            <summary>
+            Column value truncated at the requested size limit during enumeration
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnPresent">
+            <summary>
+            Column values exist but were not returned by request
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnSingleValue">
+            <summary>
+            Column value returned in JET_COLUMNENUM as a result of JET_bitEnumerateCompressOutput
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnDefault">
+            <summary>
+            Column value(s) not returned because they were set to their default value(s) and JET_bitEnumerateIgnoreDefault was specified
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnNotInRecord">
+            <summary>
+            Column value(s) not returned because they could not be reconstructed from the data in the record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.ColumnReference">
+            <summary>
+            Column value returned as a reference because it could not be reconstructed from the data in the record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DataHasChanged">
+            <summary>
+            Data has changed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.KeyChanged">
+            <summary>
+            Moved to new key
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.FileOpenReadOnly">
+            <summary>
+            Database file is read only
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.IdleFull">
+            <summary>
+            Idle registry full
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DefragAlreadyRunning">
+            <summary>
+            Online defrag already running on specified database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DefragNotRunning">
+            <summary>
+            Online defrag not running on specified database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DatabaseScanAlreadyRunning">
+            <summary>
+            JetDatabaseScan already running on specified database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.DatabaseScanNotRunning">
+            <summary>
+            JetDatabaseScan not running on specified database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.CallbackNotRegistered">
+            <summary>
+            Unregistered a non-existent callback function
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_wrn.PreviousLogFileIncomplete">
+            <summary>
+            The log data provided jumped to the next log suddenly, we have deleted the incomplete log file as a precautionary measure
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.LibraryHelpers">
+            <summary>
+            Contains several helper functions that are useful in the test binary.
+            In particular, it contains functionality that is not available in
+            reduced-functionality environments (such as CoreClr).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.LibraryHelpers.DirectorySeparatorChar">
+            <summary>Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization.</summary>
+            <filterpriority>1</filterpriority>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.LibraryHelpers.AltDirectorySeparatorChar">
+            <summary>Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization.</summary>
+            <filterpriority>1</filterpriority>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.LibraryHelpers.EncodingASCII">
+            <summary>
+            Gets an ASCII encoder.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.LibraryHelpers.NewEncodingASCII">
+            <summary>
+            Gets a new ASCII encoder. It's preferred to use EncodingASCII, but some applications (e.g. tests)
+            may want a different Encoding object.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.LibraryHelpers.CreateCultureInfoByLcid(System.Int32)">
+            <summary>
+            Creates a CultureInfo object when given the LCID.
+            </summary>
+            <param name="lcid">
+            The lcid passed in.
+            </param>
+            <returns>
+            A CultureInfo object.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.LibraryHelpers.MarshalAllocHGlobal(System.Int32)">
+            <summary>
+            Allocates memory on the native heap.
+            </summary>
+            <returns>A pointer to native memory.</returns>
+            <param name="size">The size of the memory desired.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.LibraryHelpers.MarshalFreeHGlobal(System.IntPtr)">
+            <summary>
+            Frees memory that was allocated on the native heap.
+            </summary>
+            <param name="buffer">A pointer to native memory.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.LibraryHelpers.MarshalStringToHGlobalUni(System.String)">
+            <summary>Copies the contents of a managed <see cref="T:System.String" /> into unmanaged memory.</summary>
+            <returns>The address, in unmanaged memory, to where the <paramref name="managedString" /> was copied, or 0 if <paramref name="managedString" /> is null.</returns>
+            <param name="managedString">A managed string to be copied.</param>
+            <exception cref="T:System.OutOfMemoryException">The method could not allocate enough native heap memory.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="managedString" /> parameter exceeds the maximum length allowed by the operating system.</exception>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.LibraryHelpers.GetCurrentManagedThreadId">
+            <summary>
+            Retrieves the managed ID of the current thread.
+            </summary>
+            <returns>The ID of the current thread.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.LibraryHelpers.ThreadResetAbort">
+            <summary>
+            Cancels an <see cref="M:System.Threading.Thread.Abort(System.Object)"/> requested for the current thread.
+            </summary>
+            <exception cref="T:System.Threading.ThreadStateException">Abort was not invoked on the current thread. </exception><exception cref="T:System.Security.SecurityException">The caller does not have the required security permission for the current thread. </exception><filterpriority>2</filterpriority><PermissionSet><IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ControlThread"/></PermissionSet>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.LibraryHelpers.FromOADate(System.Double)">
+            <summary>Returns a <see cref="T:System.DateTime" /> equivalent to the specified OLE Automation Date.</summary>
+            <returns>A <see cref="T:System.DateTime" /> that represents the same date and time as <paramref name="d" />.</returns>
+            <param name="d">An OLE Automation Date value. </param>
+            <exception cref="T:System.ArgumentException">The date is not a valid OLE Automation Date value. </exception>
+            <filterpriority>1</filterpriority>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.MemoryCache">
+            <summary>
+            Cache allocated chunks of memory that are needed for very short periods
+            of time. The memory is not zeroed on allocation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MemoryCache.ZeroLengthArray">
+            <summary>
+            A zero-length array that should be used whenever we want to return one.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MemoryCache.bufferSize">
+            <summary>
+            Default size for newly allocated buffers.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.MemoryCache.cachedBuffers">
+            <summary>
+            Currently cached buffers.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.MemoryCache.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.MemoryCache"/> class. 
+            </summary>
+            <param name="bufferSize">
+            The size of the buffers to cache.
+            </param>
+            <param name="maxCachedBuffers">
+            The maximum number of buffers to cache.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.MemoryCache.BufferSize">
+            <summary>
+            Gets the size of the buffers that this cache returns.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.MemoryCache.Duplicate(System.Byte[],System.Int32)">
+            <summary>
+            Creates a new array containing a copy of 'length' bytes of data.
+            </summary>
+            <param name="data">The data to copy.</param>
+            <param name="length">The length of data to copy.</param>
+            <returns>An array containing the first length bytes of data.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.MemoryCache.Allocate">
+            <summary>
+            Allocates a chunk of memory. If memory is cached it is returned. If no memory
+            is cached then it is allocated. Check the size of the returned buffer to determine
+            how much memory was allocated.
+            </summary>
+            <returns>A new memory buffer.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.MemoryCache.Free(System.Byte[]@)">
+            <summary>
+            Frees an unused buffer. This may be added to the cache.
+            </summary>
+            <param name="data">The memory to free.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.MemoryCache.GetStartingOffset">
+            <summary>
+            Get the offset in the cached buffers array to start allocating or freeing 
+            buffers to. This is done so that all threads don't start operating on
+            slot zero, which would increase contention.
+            </summary>
+            <returns>The starting offset for Allocate/Free operations.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ObjectInfoFlags">
+            <summary>
+            Flags for ESENT objects (tables).  Used in <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoFlags.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoFlags.System">
+            <summary>
+            Object is for internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoFlags.TableFixedDDL">
+            <summary>
+            Table's DDL is fixed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoFlags.TableTemplate">
+            <summary>
+            Table's DDL is inheritable.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoFlags.TableDerived">
+            <summary>
+            Table's DDL is inherited from a template table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoFlags.TableNoFixedVarColumnsInDerivedTables">
+            <summary>
+            Fixed or variable columns in derived tables (so that fixed or variable
+            columns can be added to the template in the future).
+            Used in conjunction with <see cref="F:Microsoft.Isam.Esent.Interop.ObjectInfoFlags.TableTemplate"/>.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.ObjectInfoGrbit">
+            <summary>
+            Table options, used in <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoGrbit.Bookmark">
+            <summary>
+            The table can have bookmarks.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoGrbit.Rollback">
+            <summary>
+            The table can be rolled back.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.ObjectInfoGrbit.Updatable">
+            <summary>
+            The table can be updated.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Server2003.Server2003Api">
+            <summary>
+            APIs that have been added to the Windows Server 2003 version of ESENT.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Server2003.Server2003Api.JetOSSnapshotAbort(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Server2003.SnapshotAbortGrbit)">
+            <summary>
+            Notifies the engine that it can resume normal IO operations after a
+            freeze period ended with a failed snapshot.
+            </summary>
+            <param name="snapid">Identifier of the snapshot session.</param>
+            <param name="grbit">Options for this call.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Server2003.Server2003Api.JetUpdate2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit)">
+            <summary>
+            The JetUpdate function performs an update operation including inserting a new row into
+            a table or updating an existing row. Deleting a table row is performed by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDelete(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)"/>.
+            </summary>
+            <param name="sesid">The session which started the update.</param>
+            <param name="tableid">The cursor to update. An update should be prepared.</param>
+            <param name="bookmark">Returns the bookmark of the updated record. This can be null.</param>
+            <param name="bookmarkSize">The size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <param name="grbit">Update options.</param>
+            <remarks>
+            JetUpdate is the final step in performing an insert or an update. The update is begun by
+            calling <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetPrepareUpdate(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)"/> and then by calling
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetColumn(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_COLUMNID,System.Byte[],System.Int32,Microsoft.Isam.Esent.Interop.SetColumnGrbit,Microsoft.Isam.Esent.Interop.JET_SETINFO)"/>
+            one or more times to set the record state. Finally, <see cref="M:Microsoft.Isam.Esent.Interop.Server2003.Server2003Api.JetUpdate2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit)"/>
+            is called to complete the update operation. Indexes are updated only by JetUpdate or and not during JetSetColumn.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Server2003.SnapshotAbortGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Server2003.Server2003Api.JetOSSnapshotAbort(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.Server2003.SnapshotAbortGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.SnapshotAbortGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Server2003.Server2003Api.JetUpdate2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.UpdateGrbit.CheckESE97Compatibility">
+            <summary>
+            This flag causes the update to return an error if the update would
+            not have been possible in the Windows 2000 version of ESE, which
+            enforced a smaller maximum number of multi-valued column instances
+            in each record than later versions of ESE. This is important only
+            for applications that wish to replicate data between applications
+            hosted on Windows 2000 and applications hosted on Windows
+            2003, or later versions of ESE. It should not be necessary for most
+            applications.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits">
+            <summary>
+            Grbits that have been added to the Windows Server 2003 version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.DeleteUnicodeIndexes">
+            <summary>
+            Delete all indexes with unicode columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.ColumnDeleteOnZero">
+            <summary>
+            When the escrow-update column reaches a value of zero (after all 
+            versions are resolve), the record will be deleted. A common use for 
+            a column that can be finalized is to use it as a reference count 
+            field, and when the field reaches zero the record gets deleted. A 
+            Delete-on-zero column must be an escrow update / <see cref="F:Microsoft.Isam.Esent.Interop.ColumndefGrbit.ColumnEscrowUpdate"/> 
+            column. ColumnDeleteOnZero cannot be used with ColumnFinalize.
+            ColumnDeleteOnZero cannot be used with user defined default columns. 
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.ForwardOnly">
+            <summary>
+            This option requests that the temporary table only be created if the
+            temporary table manager can use the implementation optimized for
+            intermediate query results. If any characteristic of the temporary
+            table would prevent the use of this optimization then the operation
+            will fail with JET_errCannotMaterializeForwardOnlySort. A side effect
+            of this option is to allow the temporary table to contain records
+            with duplicate index keys. See <see cref="F:Microsoft.Isam.Esent.Interop.TempTableGrbit.Unique"/>
+            for more information.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.EnumerateIgnoreUserDefinedDefault">
+            <summary>
+            If a given column is not present in the record and it has a user
+            defined default value then no column value will be returned.
+            This option will prevent the callback that computes the user defined
+            default value for the column from being called when enumerating
+            the values for that column.
+            </summary>
+            <remarks>
+            This option is only available for Windows Server 2003 SP1 and later
+            operating systems.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Grbits.WaitAllLevel0Commit">
+            <summary>
+            All transactions previously committed by any session that have not
+            yet been flushed to the transaction log file will be flushed immediately.
+            This API will wait until the transactions have been flushed before
+            returning to the caller. This option may be used even if the session
+            is not currently in a transaction. This option cannot be used in
+            combination with any other option.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Server2003.Server2003Param">
+            <summary>
+            System parameters that have been added to the Windows Server 2003 version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Server2003.Server2003Param.AlternateDatabaseRecoveryPath">
+            <summary>
+            The full path to each database is persisted in the transaction logs
+            at run time. Ordinarily, these databases must remain at the original
+            location for transaction replay to function correctly. This
+            parameter can be used to force crash recovery or a restore operation
+            to look for the databases referenced in the transaction log in the
+            specified folder.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Session">
+            <summary>
+            A class that encapsulates a JET_SESID in a disposable object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Session.sesid">
+            <summary>
+            The underlying JET_SESID.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Session.#ctor(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Initializes a new instance of the Session class. A new
+            JET_SESSION is allocated from the given instance.
+            </summary>
+            <param name="instance">The instance to start the session in.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Session.JetSesid">
+            <summary>
+            Gets the JET_SESID that this session contains.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Session.op_Implicit(Microsoft.Isam.Esent.Interop.Session)~Microsoft.Isam.Esent.Interop.JET_SESID">
+            <summary>
+            Implicit conversion operator from a Session to a JET_SESID. This
+            allows a Session to be used with APIs which expect a JET_SESID.
+            </summary>
+            <param name="session">The session to convert.</param>
+            <returns>The JET_SESID of the session.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Session.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Session"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Session"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Session.End">
+            <summary>
+            Terminate the session.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Session.ReleaseResource">
+            <summary>
+            Free the underlying JET_SESID.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.StringCache">
+            <summary>
+            Class that helps cache strings.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.StringCache.MaxLengthToCache">
+            <summary>
+            Don't cache strings whose length is longer than this.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.StringCache.NumCachedBoxedValues">
+            <summary>
+            Number of converted strings to hash.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.StringCache.CachedStrings">
+            <summary>
+            Cached string values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringCache.TryToIntern(System.String)">
+            <summary>
+            Return the interned version of a string, or the original
+            string if it isn't interned.
+            </summary>
+            <param name="s">The string to try to intern.</param>
+            <returns>An interned copy of the string or the original string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringCache.GetString(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Convert a byte array to a string.
+            </summary>
+            <param name="value">The bytes to convert.</param>
+            <param name="startIndex">The starting index of the data to convert.</param>
+            <param name="count">The number of bytes to convert.</param>
+            <returns>A string converted from the data.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringCache.GetString(System.Char*,System.Int32,System.Int32)">
+            <summary>
+            Convert a char array to a string, using a cached value if possible.
+            </summary>
+            <param name="value">The characters to convert.</param>
+            <param name="startIndex">The starting index of the data to convert.</param>
+            <param name="count">The number of characters to convert.</param>
+            <returns>A string converted from the data.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringCache.CalculateHash(System.Char*,System.Int32,System.Int32)">
+            <summary>
+            Calculate the hash of a string.
+            </summary>
+            <param name="value">The characters to hash.</param>
+            <param name="startIndex">The starting index of the data to hash.</param>
+            <param name="count">The number of characters to hash.</param>
+            <returns>The hash value of the data.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringCache.AreEqual(System.String,System.Char*,System.Int32,System.Int32)">
+            <summary>
+            Determine if a string matches a char array..
+            </summary>
+            <param name="s">The string to compare against.</param>
+            <param name="value">The characters.</param>
+            <param name="startIndex">The starting index of the data.</param>
+            <param name="count">The number of characters.</param>
+            <returns>True if the string matches the char array.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringCache.CreateNewString(System.Char*,System.Int32,System.Int32)">
+            <summary>
+            Convert a char array to a string.
+            </summary>
+            <param name="value">The characters to convert.</param>
+            <param name="startIndex">The starting index of the data to convert.</param>
+            <param name="count">The number of characters to convert.</param>
+            <returns>A string converted from the data.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.StringColumnValue">
+            <summary>
+            A Unicode string column value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.StringColumnValue.internalValue">
+            <summary>
+            Internal value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.StringColumnValue.ValueAsObject">
+            <summary>
+            Gets the last set or retrieved value of the column. The
+            value is returned as a generic object.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.StringColumnValue.Value">
+            <summary>
+            Gets or sets the value of the column. Use <see cref="M:Microsoft.Isam.Esent.Interop.Api.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[])"/> to update a
+            record with the column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.StringColumnValue.Length">
+            <summary>
+            Gets the byte length of a column value, which is zero if column is null, otherwise
+            it matches the byte length of the string value. The byte length is determined in
+            assumption of two bytes per character.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.StringColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringColumnValue.ToString">
+            <summary>
+            Gets a string representation of this object.
+            </summary>
+            <returns>A string representation of this object.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.StringColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Table">
+            <summary>
+            A class that encapsulates a JET_TABLEID in a disposable object.
+            This opens an existing table. To create a table use the 
+            JetCreateTable method.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Table.sesid">
+            <summary>
+            The session used to open the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Table.tableid">
+            <summary>
+            The underlying JET_TABLEID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Table.name">
+            <summary>
+            The name of the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Table.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,Microsoft.Isam.Esent.Interop.OpenTableGrbit)">
+            <summary>
+            Initializes a new instance of the Table class. The table is
+            opened from the given database.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="dbid">The database to open the table in.</param>
+            <param name="name">The name of the table.</param>
+            <param name="grbit">JetOpenTable options.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Table.Name">
+            <summary>
+            Gets the name of this table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Table.JetTableid">
+            <summary>
+            Gets the JET_TABLEID that this table contains.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Table.op_Implicit(Microsoft.Isam.Esent.Interop.Table)~Microsoft.Isam.Esent.Interop.JET_TABLEID">
+            <summary>
+            Implicit conversion operator from a Table to a JET_TABLEID. This
+            allows a Table to be used with APIs which expect a JET_TABLEID.
+            </summary>
+            <param name="table">The table to convert.</param>
+            <returns>The JET_TABLEID of the table.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Table.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Table"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Table"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Table.Close">
+            <summary>
+            Close the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Table.ReleaseResource">
+            <summary>
+            Free the underlying JET_TABLEID.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TableColumnInfoEnumerator">
+            <summary>
+            Enumerate columns in a table specified by dbid and name.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableColumnInfoEnumerator.dbid">
+            <summary>
+            The database containing the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableColumnInfoEnumerator.tablename">
+            <summary>
+            The name of the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableColumnInfoEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.TableColumnInfoEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+            <param name="dbid">
+            The database containing the table.
+            </param>
+            <param name="tablename">
+            The name of the table.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableColumnInfoEnumerator.OpenTable">
+            <summary>
+            Open the table to be enumerated. This should set <see cref="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate"/>.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TableEnumerator`1">
+            <summary>
+            Base class for enumerators that walk a table.
+            </summary>
+            <typeparam name="T">The type returned by the enumerator.</typeparam>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableEnumerator`1.isAtEnd">
+            <summary>
+            True if we are at the end of the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableEnumerator`1.moveToFirst">
+            <summary>
+            True if we need to move to the first record in the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.TableEnumerator`1"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.Current">
+            <summary>
+            Gets the current entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.Sesid">
+            <summary>
+            Gets the session used for the enumeration.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate">
+            <summary>
+            Gets or sets the table being enumerated.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.Reset">
+            <summary>
+            Resets the enumerator. The next call to MoveNext will move
+            to the first entry.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.Dispose">
+            <summary>
+            Disposes of any resources the enumerator is using.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.MoveNext">
+            <summary>
+            Move to the next entry.
+            </summary>
+            <returns>
+            True if an entry was found, false otherwise.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.OpenTable">
+            <summary>
+            Open the table to be enumerated. This should set <see cref="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.GetCurrent">
+            <summary>
+            Gets the entry the cursor is currently positioned on.
+            </summary>
+            <returns>The entry the cursor is currently positioned on.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.SkipCurrent">
+            <summary>
+            Determine if the current entry in the table being enumerated should
+            be skipped (not returned). By default this is false.
+            </summary>
+            <returns>True if the current entry should be skipped.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableEnumerator`1.CloseTable">
+            <summary>
+            Closes the table being enumerated.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TableidColumnInfoEnumerator">
+            <summary>
+            Enumerate columns in a table specified by a tableid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableidColumnInfoEnumerator.tableid">
+            <summary>
+            The table to get the column information from.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableidColumnInfoEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.TableidColumnInfoEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+            <param name="tableid">
+            The table to get column information from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableidColumnInfoEnumerator.OpenTable">
+            <summary>
+            Open the table to be enumerated. This should set <see cref="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate"/>.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TableidIndexInfoEnumerator">
+            <summary>
+            Enumerate columns in a table specified by a tableid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableidIndexInfoEnumerator.tableid">
+            <summary>
+            The table to get the column information from.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableidIndexInfoEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.TableidIndexInfoEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+            <param name="tableid">
+            The table to get column information from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableidIndexInfoEnumerator.OpenTable">
+            <summary>
+            Open the table to be enumerated. This should set <see cref="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableidIndexInfoEnumerator.GetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TableIndexInfoEnumerator">
+            <summary>
+            Enumerate columns in a table specified by dbid and name.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableIndexInfoEnumerator.dbid">
+            <summary>
+            The database containing the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableIndexInfoEnumerator.tablename">
+            <summary>
+            The name of the table.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableIndexInfoEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.TableIndexInfoEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+            <param name="dbid">
+            The database containing the table.
+            </param>
+            <param name="tablename">
+            The name of the table.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableIndexInfoEnumerator.OpenTable">
+            <summary>
+            Open the table to be enumerated. This should set <see cref="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableIndexInfoEnumerator.GetIndexInfo(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.String@,Microsoft.Isam.Esent.Interop.JET_IdxInfo)">
+            <summary>
+            Retrieves information about indexes on a table.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="indexname">The name of the index.</param>
+            <param name="result">Filled in with information about indexes on the table.</param>
+            <param name="infoLevel">The type of information to retrieve.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.TableNameEnumerator">
+            <summary>
+            Enumerate the names of tables in a database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableNameEnumerator.dbid">
+            <summary>
+            The database containing the tables.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.TableNameEnumerator.objectlist">
+            <summary>
+            Object list containing information about tables.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableNameEnumerator.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Isam.Esent.Interop.TableNameEnumerator"/> class.
+            </summary>
+            <param name="sesid">
+            The session to use.
+            </param>
+            <param name="dbid">
+            The database to get the table names from.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableNameEnumerator.OpenTable">
+            <summary>
+            Open the table to be enumerated. This should set <see cref="P:Microsoft.Isam.Esent.Interop.TableEnumerator`1.TableidToEnumerate"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableNameEnumerator.SkipCurrent">
+            <summary>
+            Determine if the current entry in the table being enumerated should
+            be skipped (not returned). Here we are skipping system tables.
+            </summary>
+            <returns>True if the current entry should be skipped.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.TableNameEnumerator.GetCurrent">
+            <summary>
+            Gets the entry the cursor is currently positioned on.
+            </summary>
+            <returns>The entry the cursor is currently positioned on.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Transaction">
+            <summary>
+            A class that encapsulates a transaction on a JET_SESID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Transaction.sesid">
+            <summary>
+            The underlying JET_SESID.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Transaction.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Initializes a new instance of the Transaction class. This automatically
+            begins a transaction. The transaction will be rolled back if
+            not explicitly committed.
+            </summary>
+            <param name="sesid">The session to start the transaction for.</param>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Transaction.TransactionLevel">
+            <summary>
+            Gets the current transaction level of the
+            <see cref="T:Microsoft.Isam.Esent.Interop.Transaction"/>.
+            Requires Win10.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.Transaction.IsInTransaction">
+            <summary>
+            Gets a value indicating whether this object is currently in a
+            transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Transaction.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Transaction"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Transaction"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Transaction.Begin">
+            <summary>
+            Begin a transaction. This object should not currently be
+            in a transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Transaction.Commit(Microsoft.Isam.Esent.Interop.CommitTransactionGrbit)">
+            <summary>
+            Commit a transaction. This object should be in a transaction.
+            </summary>
+            <param name="grbit">JetCommitTransaction options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Transaction.Commit(Microsoft.Isam.Esent.Interop.CommitTransactionGrbit,System.TimeSpan,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID@)">
+            <summary>
+            Commit a transaction. This object should be in a transaction.
+            </summary>
+            <param name="grbit">JetCommitTransaction options.</param>
+            <param name="durableCommit">Duration for committing lazy transactions.</param>
+            <param name="commitId">Commit-id for this commit record.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Transaction.Rollback">
+            <summary>
+            Rollback a transaction. This object should be in a transaction.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Transaction.ReleaseResource">
+            <summary>
+            Called when the transaction is being disposed while active.
+            This should rollback the transaction.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INSTANCE">
+            <summary>
+            A JET_INSTANCE contains a handle to the instance of the database to use for calls to the JET Api.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Value">
+            <summary>
+            The native value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Nil">
+            <summary>
+            Gets a null JET_INSTANCE.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INSTANCE.IsInvalid">
+            <summary>
+            Gets a value indicating whether the <see cref="T:JET_INSTANCE"/> is valid (checks against 0 and -1).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE.op_Equality(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Determines whether two specified instances of JET_INSTANCE
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE.op_Inequality(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Determines whether two specified instances of JET_INSTANCE
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INSTANCE.Equals(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_SESID">
+            <summary>
+            A JET_SESID contains a handle to the session to use for calls to the JET Api.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_SESID.Value">
+            <summary>
+            The native value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SESID.Nil">
+            <summary>
+            Gets a null JET_SESID.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_SESID.IsInvalid">
+            <summary>
+            Gets a value indicating whether the <see cref="T:JET_SESID"/> is valid (checks against 0 and -1).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SESID.op_Equality(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Determines whether two specified instances of JET_SESID
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SESID.op_Inequality(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Determines whether two specified instances of JET_SESID
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SESID.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SESID.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SESID.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SESID.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_SESID.Equals(Microsoft.Isam.Esent.Interop.JET_SESID)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_TABLEID">
+            <summary>
+            A JET_TABLEID contains a handle to the database cursor to use for a call to the JET Api.
+            A cursor can only be used with the session that was used to open that cursor.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_TABLEID.Value">
+            <summary>
+            The native value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLEID.Nil">
+            <summary>
+            Gets a null JET_TABLEID.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_TABLEID.IsInvalid">
+            <summary>
+            Gets a value indicating whether the <see cref="T:Microsoft.Isam.Esent.Interop.JET_TABLEID"/> is valid (checks against 0 and -1).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLEID.op_Equality(Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Determines whether two specified instances of JET_TABLEID
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLEID.op_Inequality(Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Determines whether two specified instances of JET_TABLEID
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLEID.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLEID.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLEID.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLEID.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_TABLEID.Equals(Microsoft.Isam.Esent.Interop.JET_TABLEID)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_DBID">
+            <summary>
+            A JET_DBID contains the handle to the database. A database handle is used to manage the
+            schema of a database. It can also be used to manage the tables inside of that database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_DBID.Value">
+            <summary>
+            The native value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_DBID.Nil">
+            <summary>
+            Gets a null JET_DBID.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBID.op_Equality(Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_DBID)">
+            <summary>
+            Determines whether two specified instances of JET_DBID
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBID.op_Inequality(Microsoft.Isam.Esent.Interop.JET_DBID,Microsoft.Isam.Esent.Interop.JET_DBID)">
+            <summary>
+            Determines whether two specified instances of JET_DBID
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBID.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBID.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBID.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBID.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_DBID.Equals(Microsoft.Isam.Esent.Interop.JET_DBID)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_COLUMNID">
+            <summary>
+            A JET_COLUMNID identifies a column within a table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_COLUMNID.Value">
+            <summary>
+            The native value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNID.Nil">
+            <summary>
+            Gets a null JET_COLUMNID.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_COLUMNID.IsInvalid">
+            <summary>
+            Gets a value indicating whether the <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNID"/> is valid (checks against 0 and -1).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.op_Equality(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Determines whether two specified instances of JET_COLUMNID
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.op_Inequality(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Determines whether two specified instances of JET_COLUMNID
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.op_LessThan(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Determine whether one columnid is before another columnid.
+            </summary>
+            <param name="lhs">The first columnid to compare.</param>
+            <param name="rhs">The second columnid to compare.</param>
+            <returns>True if lhs comes before rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.op_GreaterThan(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Determine whether one columnid is after another columnid.
+            </summary>
+            <param name="lhs">The first columnid to compare.</param>
+            <param name="rhs">The second columnid to compare.</param>
+            <returns>True if lhs comes after rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.op_LessThanOrEqual(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Determine whether one columnid is before or equal to
+            another columnid.
+            </summary>
+            <param name="lhs">The first columnid to compare.</param>
+            <param name="rhs">The second columnid to compare.</param>
+            <returns>True if lhs comes before or is equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.op_GreaterThanOrEqual(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Determine whether one columnid is after or equal to
+            another columnid.
+            </summary>
+            <param name="lhs">The first columnid to compare.</param>
+            <param name="rhs">The second columnid to compare.</param>
+            <returns>True if lhs comes after or is equal to rhs.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.Equals(Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.CompareTo(Microsoft.Isam.Esent.Interop.JET_COLUMNID)">
+            <summary>
+            Compares this columnid to another columnid and determines
+            whether this instance is before, the same as or after the other
+            instance.
+            </summary>
+            <param name="other">The columnid to compare to the current instance.</param>
+            <returns>
+            A signed number indicating the relative positions of this instance and the value parameter.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_COLUMNID.CreateColumnidFromNativeValue(System.Int32)">
+            <summary>
+            Creates a new instance of a <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNID"/> using the specified
+            value as the underlying value.
+            </summary>
+            <param name="nativeValue">The native ESE JET_COLUMNID.</param>
+            <returns>An initialized <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNID"/> structure.</returns>
+            <remarks>Use of this function should be exceedingly rare.</remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_OSSNAPID">
+            <summary>
+            A JET_OSSNAPID contains a handle to a snapshot of a database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.Value">
+            <summary>
+            The native value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.Nil">
+            <summary>
+            Gets a null JET_OSSNAPID.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.IsInvalid">
+            <summary>
+            Gets a value indicating whether the <see cref="T:Microsoft.Isam.Esent.Interop.JET_OSSNAPID"/> is valid (checks against 0 and -1).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.op_Equality(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_OSSNAPID)">
+            <summary>
+            Determines whether two specified instances of JET_OSSNAPID
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.op_Inequality(Microsoft.Isam.Esent.Interop.JET_OSSNAPID,Microsoft.Isam.Esent.Interop.JET_OSSNAPID)">
+            <summary>
+            Determines whether two specified instances of JET_OSSNAPID
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_OSSNAPID.Equals(Microsoft.Isam.Esent.Interop.JET_OSSNAPID)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_HANDLE">
+            <summary>
+            A JET_HANDLE contains a generic handle.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_HANDLE.Value">
+            <summary>
+            The native value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_HANDLE.Nil">
+            <summary>
+            Gets a null JET_HANDLE.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_HANDLE.IsInvalid">
+            <summary>
+            Gets a value indicating whether the <see cref="T:Microsoft.Isam.Esent.Interop.JET_HANDLE"/> is valid (checks against 0 and -1).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_HANDLE.op_Equality(Microsoft.Isam.Esent.Interop.JET_HANDLE,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Determines whether two specified instances of JET_HANDLE
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_HANDLE.op_Inequality(Microsoft.Isam.Esent.Interop.JET_HANDLE,Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Determines whether two specified instances of JET_HANDLE
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_HANDLE.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_HANDLE.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_HANDLE.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_HANDLE.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_HANDLE.Equals(Microsoft.Isam.Esent.Interop.JET_HANDLE)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_LS">
+            <summary>
+            Local storage for an ESENT handle. Used by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetGetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS@,Microsoft.Isam.Esent.Interop.LsGrbit)"/>
+            and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_LS.Nil">
+            <summary>
+            The null handle.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LS.IsInvalid">
+            <summary>
+            Gets a value indicating whether the <see cref="T:Microsoft.Isam.Esent.Interop.JET_LS"/> is valid (checks against 0 and -1).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_LS.Value">
+            <summary>
+            Gets or sets the value of the handle.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LS.op_Equality(Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.JET_LS)">
+            <summary>
+            Determines whether two specified instances of JET_LS
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LS.op_Inequality(Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.JET_LS)">
+            <summary>
+            Determines whether two specified instances of JET_LS
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LS.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LS.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Formats the value of the current instance using the specified format.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
+            </returns>
+            <param name="format">The <see cref="T:System.String"/> specifying the format to use.
+            -or-
+            null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
+            </param>
+            <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
+            -or-
+            null to obtain the numeric format information from the current locale setting of the operating system.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LS.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LS.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_LS.Equals(Microsoft.Isam.Esent.Interop.JET_LS)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.JET_INDEXID">
+            <summary>
+            Holds an index ID. An index ID is a hint that is used to accelerate the
+            selection of the current index using JetSetCurrentIndex. It is most
+            useful when there is a very large number of indexes over a table. The
+            index ID can be retrieved using JetGetIndexInfo or JetGetTableIndexInfo.
+            </summary>
+            <remarks>
+            The Pack attribute is necessary because the C++ version is defined as
+            a byte array. If the C# compiler inserts the usual padding between the uint cbStruct
+             and the IntPtr, then the structure ends up too large.
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXID.CbStruct">
+            <summary>
+            Size of the structure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXID.IndexId1">
+            <summary>
+            Internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXID.IndexId2">
+            <summary>
+            Internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXID.IndexId3">
+            <summary>
+            Internal use only.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.JET_INDEXID.TheSizeOfIndexId">
+            <summary>
+            The size of a JET_INDEXID structure.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.JET_INDEXID.SizeOfIndexId">
+            <summary>
+            Gets the size of a JET_INDEXINDEXID structure.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXID.op_Equality(Microsoft.Isam.Esent.Interop.JET_INDEXID,Microsoft.Isam.Esent.Interop.JET_INDEXID)">
+            <summary>
+            Determines whether two specified instances of JET_INDEXID
+            are equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXID.op_Inequality(Microsoft.Isam.Esent.Interop.JET_INDEXID,Microsoft.Isam.Esent.Interop.JET_INDEXID)">
+            <summary>
+            Determines whether two specified instances of JET_INDEXID
+            are not equal.
+            </summary>
+            <param name="lhs">The first instance to compare.</param>
+            <param name="rhs">The second instance to compare.</param>
+            <returns>True if the two instances are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXID.Equals(System.Object)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXID.ToString">
+            <summary>
+            Generate a string representation of the structure.
+            </summary>
+            <returns>The structure as a string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXID.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.JET_INDEXID.Equals(Microsoft.Isam.Esent.Interop.JET_INDEXID)">
+            <summary>
+            Returns a value indicating whether this instance is equal
+            to another instance.
+            </summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>True if the two instances are equal.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.UInt16ColumnValue">
+            <summary>
+            A <see cref="T:System.UInt16"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.UInt16ColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.UInt16ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.UInt16ColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.UInt32ColumnValue">
+            <summary>
+            A <see cref="T:System.UInt32"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.UInt32ColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.UInt32ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.UInt32ColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.UInt64ColumnValue">
+            <summary>
+            A <see cref="T:System.UInt64"/> column value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Isam.Esent.Interop.UInt64ColumnValue.Size">
+            <summary>
+            Gets the size of the value in the column. This returns 0 for
+            variable sized columns (i.e. binary and string).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.UInt64ColumnValue.SetColumns(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.ColumnValue[],Microsoft.Isam.Esent.Interop.NATIVE_SETCOLUMN*,System.Int32)">
+            <summary>
+            Recursive SetColumns method for data pinning. This populates the buffer and
+            calls the inherited SetColumns method.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">
+            The table to set the columns in. An update should be prepared.
+            </param>
+            <param name="columnValues">
+            Column values to set.
+            </param>
+            <param name="nativeColumns">
+            Structures to put the pinned data in.
+            </param>
+            <param name="i">Offset of this object in the array.</param>
+            <returns>An error code.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.UInt64ColumnValue.GetValueFromBytes(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Given data retrieved from ESENT, decode the data and set the value in the ColumnValue object.
+            </summary>
+            <param name="value">An array of bytes.</param>
+            <param name="startIndex">The starting position within the bytes.</param>
+            <param name="count">The number of bytes to decode.</param>
+            <param name="err">The error returned from ESENT.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Update">
+            <summary>
+            A class that encapsulates an update on a JET_TABLEID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Update.sesid">
+            <summary>
+            The underlying JET_SESID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Update.tableid">
+            <summary>
+            The underlying JET_TABLEID.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Update.prep">
+            <summary>
+            The type of update.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Update.#ctor(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_prep)">
+            <summary>
+            Initializes a new instance of the Update class. This automatically
+            begins an update. The update will be cancelled if
+            not explicitly saved.
+            </summary>
+            <param name="sesid">The session to start the transaction for.</param>
+            <param name="tableid">The tableid to prepare the update for.</param>
+            <param name="prep">The type of update.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Update.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Update"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Isam.Esent.Interop.Update"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Update.Save(System.Byte[],System.Int32,System.Int32@)">
+            <summary>
+            Update the tableid.
+            </summary>
+            <param name="bookmark">Returns the bookmark of the updated record. This can be null.</param>
+            <param name="bookmarkSize">The size of the bookmark buffer.</param>
+            <param name="actualBookmarkSize">Returns the actual size of the bookmark.</param>
+            <remarks>
+            Save is the final step in performing an insert or an update. The update is begun by
+            calling creating an Update object and then by calling JetSetColumn or JetSetColumns one or more times
+            to set the record state. Finally, Update is called to complete the update operation.
+            Indexes are updated only by Update or and not during JetSetColumn or JetSetColumns.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Update.Save">
+            <summary>
+            Update the tableid.
+            </summary>
+            <remarks>
+            Save is the final step in performing an insert or an update. The update is begun by
+            calling creating an Update object and then by calling JetSetColumn or JetSetColumns one or more times
+            to set the record state. Finally, Update is called to complete the update operation.
+            Indexes are updated only by Update or and not during JetSetColumn or JetSetColumns.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Update.SaveAndGotoBookmark">
+            <summary>
+            Update the tableid and position the tableid on the record that was modified.
+            This can be useful when inserting a record because by default the tableid
+            remains in its old location.
+            </summary>
+            <remarks>
+            Save is the final step in performing an insert or an update. The update is begun by
+            calling creating an Update object and then by calling JetSetColumn or JetSetColumns one or more times
+            to set the record state. Finally, Update is called to complete the update operation.
+            Indexes are updated only by Update or and not during JetSetColumn or JetSetColumns.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Update.Cancel">
+            <summary>
+            Cancel the update.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Update.ReleaseResource">
+            <summary>
+            Called when the transaction is being disposed while active.
+            This should rollback the transaction.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Util">
+            <summary>
+            Static utility methods.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.ArrayEqual(System.Collections.Generic.IList{System.Byte},System.Collections.Generic.IList{System.Byte},System.Int32,System.Int32)">
+            <summary>
+            Compare two byte arrays to see if they have the same content.
+            </summary>
+            <param name="a">The first array.</param>
+            <param name="b">The second array.</param>
+            <param name="offset">The offset to start comparing at.</param>
+            <param name="count">The number of bytes to compare.</param>
+            <returns>True if the arrays are equal, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.DumpBytes(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Return a string containing (some of) the bytes.
+            </summary>
+            <param name="data">The data to dump.</param>
+            <param name="offset">The starting offset.</param>
+            <param name="count">The count.</param>
+            <returns>A string version of the data.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.ObjectContentEquals``1(``0,``0)">
+            <summary>
+            Compares two objects with ContentEquals.
+            If both are null, there are considered equal.
+            </summary>
+            <typeparam name="T">A type that implements IContentEquatable.</typeparam>
+            <param name="left">First object to compare.</param>
+            <param name="right">Second object to compare.</param>
+            <returns>Whether the two objects are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.ArrayObjectContentEquals``1(``0[],``0[],System.Int32)">
+            <summary>
+            Compares two objects with ContentEquals.
+            If both are null, there are considered equal.
+            </summary>
+            <typeparam name="T">A type that implements IContentEquatable.</typeparam>
+            <param name="left">First object to compare.</param>
+            <param name="right">Second object to compare.</param>
+            <param name="length">The number of entries to compare.</param>
+            <returns>Whether the two objects are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.ArrayStructEquals``1(``0[],``0[],System.Int32)">
+            <summary>
+            Compares items in two arrays using Equals.
+            If both arrays are null, there are considered equal.
+            </summary>
+            <typeparam name="T">A value type.</typeparam>
+            <param name="left">First array to compare.</param>
+            <param name="right">Second array to compare.</param>
+            <param name="length">The number of entries to compare.</param>
+            <returns>Whether the two arrays are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.DeepCloneArray``1(``0[])">
+            <summary>
+            Clone an array of objects.
+            </summary>
+            <typeparam name="T">The type of object in the array.</typeparam>
+            <param name="value">The values to clone.</param>
+            <returns>A clone of the values.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.CalculateHashCode(System.Collections.Generic.IEnumerable{System.Int32})">
+            <summary>
+            Given a list of hash codes calculate a hash of the hashes.
+            </summary>
+            <param name="hashes">The sub hash codes.</param>
+            <returns>A hash of the hash codes.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.AddTrailingDirectorySeparator(System.String)">
+            <summary>
+            Add a trailing directory separator character to the string.
+            </summary>
+            <param name="dir">The directory.</param>
+            <returns>The directory with a separator character added (if necessary).</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.ConvertToNullTerminatedAsciiByteArray(System.String)">
+            <summary>
+            Converts a unicode string to a null-terminated Ascii byte array.
+            </summary>
+            <param name="value">The unicode string to be converted.</param>
+            <returns>The byte array with a null-terminated Ascii representation of the given string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.ConvertToNullTerminatedUnicodeByteArray(System.String)">
+            <summary>
+            Converts a unicode string to a null-terminated Unicode byte array.
+            </summary>
+            <param name="value">The unicode string to be converted.</param>
+            <returns>The byte array with a null-terminated Unicode representation of the given string.</returns>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Util.ConvertToAsciiByteArray(System.String)">
+            <summary>
+            Converts a unicode string to an Ascii byte array.
+            CAUTION: The array doesn't have a null-terminator at the end.
+            </summary>
+            <param name="value">The unicode string to be converted.</param>
+            <returns>The byte array with an Ascii representation of the given string.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Win32.AllocationType">
+            <summary>
+            Allocation type options for <see cref="M:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.VirtualAlloc(System.IntPtr,System.UIntPtr,System.UInt32,System.UInt32)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Win32.AllocationType.MEM_COMMIT">
+            <summary>
+            Commit the memory.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Win32.AllocationType.MEM_RESERVE">
+            <summary>
+            Reserve the memory.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Win32.MemoryProtection">
+            <summary>
+            Memory protection options for <see cref="M:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.VirtualAlloc(System.IntPtr,System.UIntPtr,System.UInt32,System.UInt32)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Win32.MemoryProtection.PAGE_READWRITE">
+            <summary>
+            Read/write access to the pages.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Win32.FreeType">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.VirtualFree(System.IntPtr,System.UIntPtr,System.UInt32)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Win32.FreeType.MEM_RELEASE">
+            <summary>
+            Release the memory. The pages will be in the free state.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Win32.NativeMethods">
+            <summary>
+            P/Invoke methods for Win32 functions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.WinCoreMemoryDll">
+            <summary>
+            The name of the DLL that holds the Core Memory API set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.HeapObsolete">
+            <summary>
+            The name of the DLL that holds the Obsolete Heap API set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.WinCoreProcessThreads">
+            <summary>
+            The name of the DLL that holds the Core process/threads API set.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.ThrowExceptionOnNull(System.IntPtr,System.String)">
+            <summary>
+            Throw an exception if the given pointer is null (IntPtr.Zero).
+            </summary>
+            <param name="ptr">The pointer to check.</param>
+            <param name="message">The message for the exception.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Win32.NativeMethods.ThrowExceptionOnFailure(System.Boolean,System.String)">
+            <summary>
+            Throw an exception if the success code is not true.
+            </summary>
+            <param name="success">The success code.</param>
+            <param name="message">The message for the exception.</param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7Api">
+            <summary>
+            ESENT APIs that were first supported in Windows 7 (Windows Server 2008 R2).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows7.Windows7Api.JetConfigureProcessForCrashDump(Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit)">
+            <summary>
+            Crash dump options for Watson.
+            </summary>
+            <param name="grbit">Crash dump options.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows7.Windows7Api.JetPrereadKeys(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit)">
+            <summary>
+            If the records with the specified keys are not in the buffer cache
+            then start asynchronous reads to bring the records into the database
+            buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="keys">
+            The keys to preread. The keys must be sorted.
+            </param>
+            <param name="keyLengths">The lengths of the keys to preread.</param>
+            <param name="keyIndex">
+            The index of the first key in the keys array to read.
+            </param>
+            <param name="keyCount">
+            The maximum number of keys to preread.
+            </param>
+            <param name="keysPreread">
+            Returns the number of keys to actually preread.
+            </param>
+            <param name="grbit">
+            Preread options. Used to specify the direction of the preread.
+            </param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.Windows7.Windows7Api.JetPrereadKeys(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit)">
+            <summary>
+            If the records with the specified keys are not in the buffer cache
+            then start asynchronous reads to bring the records into the database
+            buffer cache.
+            </summary>
+            <param name="sesid">The session to use.</param>
+            <param name="tableid">The table to issue the prereads against.</param>
+            <param name="keys">
+            The keys to preread. The keys must be sorted.
+            </param>
+            <param name="keyLengths">The lengths of the keys to preread.</param>
+            <param name="keyCount">
+            The maximum number of keys to preread.
+            </param>
+            <param name="keysPreread">
+            Returns the number of keys to actually preread.
+            </param>
+            <param name="grbit">
+            Preread options. Used to specify the direction of the preread.
+            </param>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7ExceptionAction">
+            <summary>
+            Exception action that have been added to the Windows 7 version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7ExceptionAction.FailFast">
+            <summary>
+            Introduced in Windows 7. Use the Windows RaiseFailFastException API to force a crash.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Windows7.Windows7Api.JetConfigureProcessForCrashDump(Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.Minimum">
+            <summary>
+            Dump minimum includes <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.CacheMinimum"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.Maximum">
+            <summary>
+            Dump maximum includes <see cref="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.CacheMaximum"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.CacheMinimum">
+            <summary>
+            CacheMinimum includes pages that are latched.
+            CacheMinimum includes pages that are used for memory.
+            CacheMinimum includes pages that are flagged with errors.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.CacheMaximum">
+            <summary>
+            Cache maximum includes cache minimum.
+            Cache maximum includes the entire cache image.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.CacheIncludeDirtyPages">
+            <summary>
+            Dump includes pages that are modified.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.CacheIncludeCachedPages">
+            <summary>
+            Dump includes pages that contain valid data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.CrashDumpGrbit.CacheIncludeCorruptedPages">
+            <summary>
+            Dump includes pages that are corrupted (expensive to compute).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit">
+            <summary>
+            Options for <see cref="M:Microsoft.Isam.Esent.Interop.Windows7.Windows7Api.JetPrereadKeys(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Byte[][],System.Int32[],System.Int32,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit)"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit.Forward">
+            <summary>
+            Preread forward.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.PrereadKeysGrbit.Backwards">
+            <summary>
+            Preread backwards.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits">
+            <summary>
+            Grbits that have been added to the Windows 7 version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ColumnCompressed">
+            <summary>
+            Compress data in the column, if possible.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Compressed">
+            <summary>
+            Try to compress the data when storing it.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Uncompressed">
+            <summary>
+            Don't compress the data when storing it.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ReplayIgnoreLostLogs">
+            <summary>
+            Recover without error even if uncommitted logs have been lost. Set 
+            the recovery waypoint with Windows7Param.WaypointLatency to enable
+            this type of recovery.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Dirty">
+            <summary>
+            Terminate without flushing the database cache.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.IntrinsicLVsOnly">
+            <summary>
+            Permit only intrinsic LV's (so materialisation is not required simply
+            because a TT has an LV column).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.EnumerateInRecordOnly">
+            <summary>
+            When enumerating column values only retrieve data that is present in
+            the record. This means that BLOB columns will not always be retrieved.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ForceNewLog">
+            <summary>
+            Force a new logfile to be created. This option may be used even if
+            the session is not currently in a transaction. This option cannot
+            be used in combination with any other option.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.ExplicitPrepare">
+            <summary>
+            No instances will be prepared by default. Instances must be added explicitly.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Forward">
+            <summary>
+            Hint that the sequential traversal will be in the forward direction.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.NoPartialMerges">
+            <summary>
+            While running Online Defragmentation, do not perform partial merges of pages.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.DefragmentBTree">
+            <summary>
+            Defragment a single BTree.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.Backward">
+            <summary>
+            Hint that the sequential traversal will be in the backward direction.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.EnableAttachDbBackgroundMaintenance">
+            <summary>
+            The database engine will initiate automatic background database maintenance upon database attachment.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Grbits.EnableCreateDbBackgroundMaintenance">
+            <summary>
+            The database engine will initiate automatic background database maintenance upon database creation.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7IdxInfo">
+            <summary>
+            Index info levels that have been added to the Windows 7 version of ESENT.
+            </summary>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.JET_IdxInfo"/>
+            <seealso cref="T:Microsoft.Isam.Esent.Interop.Windows8.Windows8IdxInfo"/>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7IdxInfo.CreateIndex">
+            <summary>
+            Introduced in Windows 7. Returns a <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE"/> structure suitable
+            for use by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>.
+            </summary>
+            <remarks>Not currently implemented in this layer.</remarks>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7IdxInfo.CreateIndex2">
+            <summary>
+            Introduced in Windows 7. Returns a JET_INDEXCREATE2 structure (similar to <see cref="T:Microsoft.Isam.Esent.Interop.JET_INDEXCREATE"/> structure,
+            but it contains a <see cref="T:Microsoft.Isam.Esent.Interop.JET_SPACEHINTS"/> member called pSpacehints).
+            This structure is suitable
+            for use by <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateIndex2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/>.
+            </summary>
+            <remarks>Not currently implemented in this layer.</remarks>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param">
+            <summary>
+            System parameters that have been added to the Windows 7 version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.WaypointLatency">
+            <summary>
+            This parameter sets the number of logs that esent will defer database
+            flushes for. This can be used to increase database recoverability if
+            failures cause logfiles to be lost.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.DefragmentSequentialBTrees">
+            <summary>
+            Turn on/off automatic sequential B-tree defragmentation tasks (On by 
+            default, but also requires <see cref="T:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit"/> flags / <see cref="T:Microsoft.Isam.Esent.Interop.SpaceHintsGrbit"/>.RetrieveHintTableScan* 
+            to trigger on any given tables).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.DefragmentSequentialBTreesDensityCheckFrequency">
+            <summary>
+            Determine how frequently B-tree density is checked (Note: currently not
+            implemented).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.LVChunkSizeMost">
+            <summary>
+            This parameter is used to retrieve the chunk size of long-value
+            (blob) data. Setting and retrieving data in multiples of this 
+            size increases efficiency.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.MaxCoalesceReadSize">
+            <summary>
+            Maximum number of bytes that can be grouped for a coalesced read operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.MaxCoalesceWriteSize">
+            <summary>
+            Maximum number of bytes that can be grouped for a coalesced write operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.MaxCoalesceReadGapSize">
+            <summary>
+            Maximum number of bytes that can be gapped for a coalesced read IO operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.MaxCoalesceWriteGapSize">
+            <summary>
+            Maximum number of bytes that can be gapped for a coalesced write IO operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.EnableDbScanInRecovery">
+            <summary>
+            Enable Database Maintenance during recovery.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.DbScanThrottle">
+            <summary>
+            Throttling of the database scan, in milliseconds.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.DbScanIntervalMinSec">
+            <summary>
+            Minimum interval to repeat the database scan, in seconds.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows7.Windows7Param.DbScanIntervalMaxSec">
+            <summary>
+            Maximum interval to allow the database scan to finish, in seconds.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows81.Windows81DbInfo">
+            <summary>
+            ColumnDatabase info levels that have been added to the Windows 8.1 version of ESENT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows81.Windows81DbInfo.FilesizeOnDisk">
+            <summary>
+            Introduced in Windows 8.1.
+            Returns the filesize of the database that is allocated by the operating system, in pages.
+            This may be smaller than <see cref="F:Microsoft.Isam.Esent.Interop.JET_DbInfo.Filesize"/> if the file system supports
+            compressed or sparse files (Int32).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows81.ShrinkDatabaseGrbit">
+            <summary>
+            Options for <see cref="F:Microsoft.Isam.Esent.Interop.Windows81.Windows81Param.EnableShrinkDatabase"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows81.ShrinkDatabaseGrbit.Off">
+            <summary>
+            Does not reduce the size of the database during normal operations.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows81.ShrinkDatabaseGrbit.On">
+            <summary>
+            Turns on the database shrinking functionality. If this parameter is not
+            set, then <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetResizeDatabase(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.Int32,System.Int32@,Microsoft.Isam.Esent.Interop.Windows8.ResizeDatabaseGrbit)"/> will be unable to reclaim
+            space to the file system.
+            Uses the file system's Sparse Files feature to release space
+            in the middle of a file. When enough rows or tables get free up by
+            the Version Store Cleanup task, and space is reclaimed, the database
+            engine will attempt to return it to the file system, via sparse files.
+            Sparse files are currently only available on NTFS and ReFS file systems.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows81.ShrinkDatabaseGrbit.Realtime">
+            <summary>
+            After space is release from a table to a the root Available Extent, the database
+            engine will attempt to release the space back to the file system. This parameter
+            requires that <see cref="F:Microsoft.Isam.Esent.Interop.Windows81.ShrinkDatabaseGrbit.On"/> is also specified.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows81.Windows81Grbits">
+            <summary>
+            Options that have been introduced in Windows 8.1.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows81.Windows81Grbits.OnlyShrink">
+            <summary>
+            Only shrink the database to the desired size.
+            If the resize call would grow the database, do nothing.
+            In order to use this functionality, <see cref="P:Microsoft.Isam.Esent.Interop.InstanceParameters.EnableShrinkDatabase"/>
+            must be set to <see cref="F:Microsoft.Isam.Esent.Interop.Windows81.ShrinkDatabaseGrbit.On"/>. Otherwise, an exception may
+            be thrown.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.Windows81.Windows81Param">
+            <summary>
+            System parameters that were introduced in Windows 8.1.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Isam.Esent.Interop.Windows81.Windows81Param.EnableShrinkDatabase">
+            <summary>
+            Whether to free space back to the OS after deleting data. This may free space
+            in the middle of files (done in the units of database extents). This uses Sparse Files,
+            which is available on NTFS and ReFS (not FAT). The exact method of releasing space is an
+            implementation detail and is subject to change.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.Interop.CallbackDataConverter">
+            <summary>
+            Methods to convert data objects used in callbacks.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.Interop.CallbackDataConverter.GetManagedData(System.IntPtr,Microsoft.Isam.Esent.Interop.JET_SNP,Microsoft.Isam.Esent.Interop.JET_SNT)">
+            <summary>
+            Get the managed data object from the unmanaged data.
+            </summary>
+            <param name="nativeData">The native data.</param>
+            <param name="snp">The SNP (used to determine the type of object).</param>
+            <param name="snt">The SNT (used to determine the type of object).</param>
+            <returns>The managed data object.</returns>
+        </member>
+        <member name="T:Microsoft.Isam.Esent.EsentException">
+            <summary>
+            Base class for ESENT exceptions.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.EsentException.#ctor">
+            <summary>
+            Initializes a new instance of the EsentException class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.EsentException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the EsentException class with a specified error message.
+            </summary>
+            <param name="message">The message that describes the error.</param>
+        </member>
+        <member name="M:Microsoft.Isam.Esent.EsentException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the EsentException class. This constructor
+            is used to deserialize a serialized exception.
+            </summary>
+            <param name="info">The data needed to deserialize the object.</param>
+            <param name="context">The deserialization context.</param>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Isam.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Isam.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ddc75f85e9b3d4656b763f46b898a4b27d8153d2
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Isam.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Isam.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Isam.xml
new file mode 100644
index 0000000000000000000000000000000000000000..02eafdd5dd4251133ee860849e13779ac38d4d2e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Esent.Isam.xml
@@ -0,0 +1,6857 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Esent.Isam</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Database.Isam.BoundCriteria">
+            <summary>
+            Choices for Cursor.FindRecordsBetween
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.BoundCriteria.Inclusive">
+            <summary>
+            Whether the bounds are included.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.BoundCriteria.Exclusive">
+            <summary>
+            Whether the bounds are excluded.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.ColumnAccessor">
+            <summary>
+            Wraps a JET_TABLEID with indexed accessors
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnAccessor.isamSession">
+            <summary>
+            The underlying session.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnAccessor.tableid">
+            <summary>
+            The underlying tableid.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnAccessor.grbit">
+            <summary>
+            The grbits to use for retrieving the column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnAccessor.cursor">
+            <summary>
+            The underlying cursor.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnAccessor.updateID">
+            <summary>
+            The Update Identifier.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.#ctor(Microsoft.Database.Isam.Cursor,Microsoft.Database.Isam.IsamSession,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnAccessor" /> class.
+            </summary>
+            <param name="cursor">The cursor.</param>
+            <param name="isamSession">The session.</param>
+            <param name="tableid">The tableid.</param>
+            <param name="grbit">The grbit.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnAccessor.UpdateID">
+            <summary>
+            Gets the update identifier.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnAccessor.Item(System.String)">
+            <summary>
+            Accessor for itag 1 of a column, converted to/from an object
+            </summary>
+            <value>
+            The <see cref="T:System.Object"/>.
+            </value>
+            <param name="columnName">Name of the column.</param>
+            <returns>The value stored within.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnAccessor.Item(System.String,System.Int32)">
+            <summary>
+            Accessor for any itag of a column, converted to/from an object
+            </summary>
+            <value>
+            The <see cref="T:System.Object"/>.
+            </value>
+            <param name="columnName">Name of the column.</param>
+            <param name="index">The index.</param>
+            <returns>The value stored within.</returns>
+            <remarks>
+            The index argument is 0-based, we add 1 to get the itag
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnAccessor.Item(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Accessor for itag 1 of a column, converted to/from an object
+            </summary>
+            <value>
+            The <see cref="T:System.Object"/>.
+            </value>
+            <param name="columnid">The columnid.</param>
+            <returns>The value stored within.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnAccessor.Item(Microsoft.Database.Isam.Columnid,System.Int32)">
+            <summary>
+            Accessor for any itag of a column, converted to/from an object
+            </summary>
+            <value>
+            The <see cref="T:System.Object"/>.
+            </value>
+            <param name="columnid">The columnid.</param>
+            <param name="index">The index.</param>
+            <returns>The value stored within.</returns>
+            <remarks>
+            The index argument is 0-based, we add 1 to get the itag
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.SizeOf(System.String,System.Int32)">
+            <summary>
+            Calculates the size of the specified multivalue stored in the specified column.
+            </summary>
+            <param name="columnName">Name of the column.</param>
+            <param name="index">The index.</param>
+            <returns>Returns the size of the specified multivalue stored in the specified column.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.SizeOf(System.String)">
+            <summary>
+            Calculates the size of the specified column.
+            </summary>
+            <param name="columnName">Name of the column.</param>
+            <returns>Returns the size of the specified column.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.SizeOf(Microsoft.Database.Isam.Columnid,System.Int32)">
+            <summary>
+            Calculates the size of the specified multivalue stored in the specified column.
+            </summary>
+            <param name="columnid">The columnid.</param>
+            <param name="index">The index.</param>
+            <returns>Returns the size of the specified multivalue stored in the specified column.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.SizeOf(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Calculates the size of the specified column.
+            </summary>
+            <param name="columnid">The columnid.</param>
+            <returns>Returns the size of the specified column.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the field values in the record.
+            </summary>
+            <returns>
+            Returns an enumerator containing all the field values in the record.
+            </returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the field values in the record
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.RetrieveColumn(System.String,System.Int32)">
+            <summary>
+            Retrieves the column.
+            </summary>
+            <param name="columnName">Name of the column.</param>
+            <param name="index">The index.</param>
+            <returns>The value stored within.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.RetrieveColumn(Microsoft.Database.Isam.ColumnDefinition,System.Int32)">
+            <summary>
+            Retrieves the column.
+            </summary>
+            <param name="columnDefinition">The column definition.</param>
+            <param name="index">The index.</param>
+            <returns>The value stored within.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.SetColumn(System.String,System.Int32,System.Object)">
+            <summary>
+            Sets the column.
+            </summary>
+            <param name="columnName">Name of the column.</param>
+            <param name="index">The index.</param>
+            <param name="obj">The object.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.SetColumn(Microsoft.Database.Isam.ColumnDefinition,System.Int32,System.Object)">
+            <summary>
+            Sets the column.
+            </summary>
+            <param name="columnDefinition">The column definition.</param>
+            <param name="index">The index.</param>
+            <param name="obj">The object.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.RetrieveColumn(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_coltyp,System.Boolean,System.Int32)">
+            <summary>
+            Retrieves the column.
+            </summary>
+            <param name="columnid">The columnid.</param>
+            <param name="coltyp">The coltyp.</param>
+            <param name="isAscii">Whether a textual column is Ascii.</param>
+            <param name="index">The index.</param>
+            <returns>The value stored within.</returns>
+            <remarks>
+            Itags start at 1, so we add 1 to the index
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnAccessor.SetColumn(Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_coltyp,System.Boolean,System.Int32,System.Object)">
+            <summary>
+            Sets the column.
+            </summary>
+            <param name="columnid">The columnid.</param>
+            <param name="coltyp">The coltyp.</param>
+            <param name="isAscii">Whether a textual column is Ascii.</param>
+            <param name="index">The index.</param>
+            <param name="obj">The object.</param>
+            <exception cref="T:System.InvalidOperationException">You may only update fields through Cursor.EditRecord.</exception>
+            <remarks>
+            Itags start at 1, so we add 1 to the index
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Database.Isam.ColumnCollection">
+            <summary>
+            Contains the columns defined in the table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnCollection.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnCollection.tableName">
+            <summary>
+            The table name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnCollection.cachedColumnDefinition">
+            <summary>
+            The cached column definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnCollection.columnDefinition">
+            <summary>
+            The column definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnCollection.columnUpdateID">
+            <summary>
+            The column update identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnCollection.readOnly">
+            <summary>
+            Whether the collection is read-only.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnCollection"/> class. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.#ctor(Microsoft.Database.Isam.IsamDatabase,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnCollection"/> class.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnCollection.IsFixedSize">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.
+            </summary>
+            <returns>true if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnCollection.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object is read-only.
+            </summary>
+            <returns>true if the <see cref="T:System.Collections.IDictionary" /> object is read-only; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnCollection.Names">
+            <summary>
+            Gets the names.
+            </summary>
+            <value>
+            The names.
+            </value>
+            <exception cref="T:System.InvalidOperationException">the names of the columns in this column collection cannot be enumerated in this manner when accessing the table definition of an existing table</exception>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnCollection.ReadOnly">
+            <summary>
+            Sets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnCollection.Item(System.String)">
+            <summary>
+            Fetches the Column Definition for the specified column name.
+            </summary>
+            <value>
+            The <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> for the specifed column name.
+            </value>
+            <param name="columnName">Name of the column.</param>
+            <returns>The <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> for the specified column name.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnCollection.Item(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Fetches the Column Definition for the specified columnid.
+            </summary>
+            <value>
+            The <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> for the specifed column identifier
+            </value>
+            <param name="columnid">The columnid.</param>
+            <returns>The <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> for the specified column identifier.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the columns in this table.
+            </summary>
+            <returns>An enumerator containing all the columns in this table.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.Add(Microsoft.Database.Isam.ColumnDefinition)">
+            <summary>
+            Adds the specified column definition.
+            </summary>
+            <param name="columnDefinition">The column definition.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.Contains(System.String)">
+            <summary>
+            Determines if the table contains a column with the given name
+            </summary>
+            <param name="columnName">Name of the column.</param>
+            <returns>Whether the specified column exists in the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.Contains(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Determines if the table contains a column with the given columnid
+            </summary>
+            <param name="columnid">The columnid.</param>
+            <returns>Whether the specified column exists in the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.Remove(System.String)">
+            <summary>
+            Removes the specified column name.
+            </summary>
+            <param name="columnName">Name of the column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.Remove(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Removes the specified columnid.
+            </summary>
+            <param name="columnid">The columnid.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the columns in this table
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.OnClear">
+            <summary>
+            Performs additional custom processes before clearing the contents of the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.OnInsert(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before inserting a new element into the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to insert.</param>
+            <param name="value">The value of the element to insert.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.OnRemove(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before removing an element from the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to remove.</param>
+            <param name="value">The value of the element to remove.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.OnSet(System.Object,System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before setting a value in the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to locate.</param>
+            <param name="oldValue">The old value of the element associated with <paramref name="key" />.</param>
+            <param name="newValue">The new value of the element associated with <paramref name="key" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.OnValidate(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes when validating the element with the specified key and value.
+            </summary>
+            <param name="key">The key of the element to validate.</param>
+            <param name="value">The value of the element to validate.</param>
+            <exception cref="T:System.ArgumentException">
+            key must be of type System.String;key
+            or
+            value must be of type ColumnDefinition;value
+            or
+            key must match value.Name;key
+            </exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnCollection.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this index collection cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.ColumnDefinition">
+            <summary>
+            A Column Definition contains the schema for a single column.  It can be
+            used to explore the schema for an existing column and to create the
+            definition for a new column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnDefinition.columnid">
+            <summary>
+            The columnid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnDefinition.name">
+            <summary>
+            The name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnDefinition.type">
+            <summary>
+            The type
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnDefinition.flags">
+            <summary>
+            The flags
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnDefinition.maxLength">
+            <summary>
+            The maximum length
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnDefinition.defaultValue">
+            <summary>
+            The default value
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnDefinition.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.#ctor(System.String,System.Type,Microsoft.Database.Isam.ColumnFlags)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> class. 
+            For use when defining a new column.
+            </summary>
+            <param name="name">
+            the name of the column to be defined
+            </param>
+            <param name="type">
+            the type of the column to be defined
+            </param>
+            <param name="flags">
+            the flags for the column to be defined
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> class. 
+            For use when defining a new column.
+            </summary>
+            <param name="name">
+            the name of the column to be defined
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.#ctor(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> class.
+            </summary>
+            <param name="columnid">The columnid.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.IsAscii">
+            <summary>
+            Gets a value indicating whether this is a text column, whether it stores Ascii data. If false, text columns store Unicode data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.Columnid">
+            <summary>
+            Gets the column ID of the column
+            </summary>
+            <remarks>
+            The column ID is undefined if this column definition will be used
+            to define a new column
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.Name">
+            <summary>
+            Gets the name of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.Type">
+            <summary>
+            Gets or sets the type of the column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.Flags">
+            <summary>
+            Gets or sets the column's flags.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.MaxLength">
+            <summary>
+            Gets or sets the max length of the column in bytes.
+            </summary>
+            <remarks>
+            The max length of a fixed column need not be specified when
+            defining a new column.
+            <para>
+            A max length of zero for a variable length column is the same as
+            giving that column the largest possible max length.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.DefaultValue">
+            <summary>
+            Gets or sets the default value of the column.
+            </summary>
+            <remarks>
+            If the field corresponding to this column in a given record is
+            never set then the value of that field will be the default value of
+            the column.
+            <para>
+            The size of the default value is currently limited to 255 bytes
+            by the ISAM.  It is also not possible to specify a zero length
+            default value.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.IsReadOnly">
+            <summary>
+            Gets a value indicating whether this column definition cannot be changed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnDefinition.ReadOnly">
+            <summary>
+            Sets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.ToString">
+            <summary>
+            Returns a <see cref="T:System.String" /> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String" /> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.Load(Microsoft.Database.Isam.IsamDatabase,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNLIST)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> object representing the column passed in by <paramref name="columnList"/>.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+            <param name="columnList">The <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNLIST"/> object that represents the row in
+            the temptable for this particular column.</param>
+            <returns>
+            A <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> object based on the current row in the temptable
+            represented by <paramref name="columnList"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.Load(Microsoft.Database.Isam.IsamDatabase,System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNBASE)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> object representing the column passed in by <paramref name="columnBase"/>.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+            <param name="columnBase">The <see cref="T:Microsoft.Isam.Esent.Interop.JET_COLUMNBASE"/> object that represents this particular column.</param>
+            <returns>
+            A <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> object based on the <paramref name="columnBase"/> object.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.ColumnFlagsFromGrbits(Microsoft.Isam.Esent.Interop.ColumndefGrbit)">
+            <summary>
+            Converts <see cref="T:Microsoft.Isam.Esent.Interop.ColumndefGrbit"/> to <see cref="T:Microsoft.Database.Isam.ColumnFlags"/>.
+            </summary>
+            <param name="grbitColumn">The grbit to convert.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.ColumnFlags"/> value equivalent to <paramref name="grbitColumn"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnDefinition.CheckReadOnly">
+            <summary>
+            Checks the read only status.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this column definition cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.ColumnEnumerator">
+            <summary>
+            Enumerates the columns in a given table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.tableName">
+            <summary>
+            The table name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.enumerator">
+            <summary>
+            The enumerator
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.columnList">
+            <summary>
+            The column list
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.moved">
+            <summary>
+            The moved
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.current">
+            <summary>
+            The current
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.columnDefinition">
+            <summary>
+            The column definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnEnumerator.columnUpdateID">
+            <summary>
+            The column update identifier
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnEnumerator.#ctor(Microsoft.Database.Isam.IsamDatabase,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnEnumerator"/> class.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnEnumerator.#ctor(System.Collections.IDictionaryEnumerator)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ColumnEnumerator"/> class.
+            </summary>
+            <param name="enumerator">The enumerator.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnEnumerator.Finalize">
+            <summary>
+            Finalizes an instance of the ColumnEnumerator class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnEnumerator.Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            after last column in table
+            or
+            before first column in table
+            </exception>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ColumnEnumerator.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnEnumerator.Reset">
+            <summary>
+            Sets the enumerator to its initial position, which is before the first element in the collection.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ColumnEnumerator.MoveNext">
+            <summary>
+            Advances the enumerator to the next element of the collection.
+            </summary>
+            <returns>
+            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.ColumnFlags">
+            <summary>
+            Column flags enumeration
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.None">
+            <summary>
+            Default options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.Fixed">
+            <summary>
+            The column will be fixed. It will always use the same amount of space in a row,
+            regardless of how much data is being stored in the column. Fixed
+            cannot be used with Tagged. This bit cannot be used with long values (i.e. Text
+            and Binary longer than 255 bytes).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.Variable">
+            <summary>
+            A variable sized column, cannot be bigger than 255 bytes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.Sparse">
+            <summary>
+            Sparse columns take no space in the record unless set (unlike Fixed
+            or Variable columns) and can be up to 2GB in length. Can't be used with
+            <see cref="F:Microsoft.Database.Isam.ColumnFlags.Fixed"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.NonNull">
+            <summary>
+            This column cannot be set to NULL
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.Version">
+            <summary>
+            This column will contain a version number maintained by the ISAM
+            that will be incremented on every update of the record.
+            This option can only be applied to integer columns.
+            This option can't be used with <see cref="F:Microsoft.Database.Isam.ColumnFlags.AutoIncrement"/>,
+            <see cref="F:Microsoft.Database.Isam.ColumnFlags.EscrowUpdate"/>, or <see cref="F:Microsoft.Database.Isam.ColumnFlags.Sparse"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.AutoIncrement">
+            <summary>
+            The column will automatically be incremented. The number is an increasing number, and
+            is guaranteed to be unique within a table. The numbers, however, might not be continuous.
+            For example, if five rows are inserted into a table, the "autoincrement" column could
+            contain the values { 1, 2, 6, 7, 8 }. This bit can only be used on columns of type
+            integer types (int and long).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.Updatable">
+            <summary>
+            This column can be updated by the application (read-only flag, returned
+            by GetInformation-style calls only).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.MultiValued">
+            <summary>
+            The column can be multi-valued.
+            A multi-valued column can have zero, one, or more values
+            associated with it. The various values in a multi-valued column are identified by a number
+            called the itagSequence member.
+            Multi-valued columns must be tagged columns; that is, they cannot be fixed-length or
+            variable-length columns.
+            All multi-
+            valued columns are also sparse columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.EscrowUpdate">
+            <summary>
+             Specifies that a column is an escrow update column. An escrow update column can be
+             updated concurrently by different sessions with JetEscrowUpdate and will maintain
+             transactional consistency. An escrow update column must also meet the following conditions:
+             An escrow update column can be created only when the table is empty.
+             An escrow update column must be of type JET_coltypLong.
+             An escrow update column must have a default value.
+             JET_bitColumnEscrowUpdate cannot be used in conjunction with <see cref="F:Microsoft.Database.Isam.ColumnFlags.Sparse"/>,
+             <see cref="F:Microsoft.Database.Isam.ColumnFlags.Version"/>, or <see cref="F:Microsoft.Database.Isam.ColumnFlags.AutoIncrement"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.Finalize">
+            <summary>
+            When the escrow-update column reaches a value of zero, the callback function will be invoked.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.UserDefinedDefault">
+            <summary>
+            The default value for a column will be provided by a callback function. A column that
+            has a user-defined default must be a tagged column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ColumnFlags.DeleteOnZero">
+            <summary>
+            This is a finalizable column (delete record if escrow value equals 0).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Columnid">
+            <summary>
+            Identifies a column in a table
+            </summary>
+            <remarks>
+            A Columnid contains the name of a column and its internal identifier.
+            A Columnid also encodes the type of the column which is used for conversions to and from CLR objects.
+            Retrieving an column by columnid is more efficient than retrieving a column by name, as the name to
+            columnid and type lookup can be expensive
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Columnid.columnid">
+            <summary>
+            The columnid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Columnid.coltyp">
+            <summary>
+            The column type of this column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Columnid.name">
+            <summary>
+            The name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Columnid.type">
+            <summary>
+            The CLR type that closest represents the data stored in the database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Columnid.isAscii">
+            <summary>
+            Whether the column contains ASCII data (text columns only).
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Columnid.#ctor(Microsoft.Isam.Esent.Interop.JET_COLUMNBASE)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.Columnid"/> class.
+            </summary>
+            <param name="columnbase">The column identifier.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Columnid.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_COLUMNID,Microsoft.Isam.Esent.Interop.JET_coltyp,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.Columnid"/> class.
+            </summary>
+            <param name="name">The column name.</param>
+            <param name="columnid">The column identifier.</param>
+            <param name="coltyp">The column type.</param>
+            <param name="isAscii">If it's a text column, whether the data is ASCII or Unicode.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Columnid.IsAscii">
+            <summary>
+            Gets a value indicating whether the column contains ASCII data (text columns only).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Columnid.Name">
+            <summary>
+            Gets the name of the column
+            </summary>
+            <remarks>
+            A column name is only unique in the context of a specific table.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Columnid.Type">
+            <summary>
+            Gets the type of the column.
+            </summary>
+            <value>
+            The type.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Columnid.InteropColumnid">
+            <summary>
+            Gets the interop columnid.
+            </summary>
+            <value>
+            The interop columnid.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Columnid.Coltyp">
+            <summary>
+            Gets the underlying ESE <see cref="T:Microsoft.Isam.Esent.Interop.JET_coltyp"/> of the column.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Columnid.ToString">
+            <summary>
+            Returns a <see cref="T:System.String" /> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String" /> that represents this instance.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.ConditionalColumn">
+            <summary>
+            A Conditional Column is a column used to determine the visibility of a
+            record in an index.  This object can be used to explore the schema of
+            an existing index and to create the definition of a new index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ConditionalColumn.columnid">
+            <summary>
+            The columnid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ConditionalColumn.name">
+            <summary>
+            The name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ConditionalColumn.mustBeNull">
+            <summary>
+            The must be null
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumn.#ctor(System.String,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ConditionalColumn"/> class. 
+            For use when defining a new conditional
+            column in an index.
+            </summary>
+            <param name="name">
+            The name of the column in the table to be used for this conditional column.
+            </param>
+            <param name="mustBeNull">
+            True if the column must be null for the record to be visible in the index,
+            false if the column must be non-null for the record to be visible in the index.
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumn.#ctor(Microsoft.Database.Isam.Columnid,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.ConditionalColumn"/> class.
+            </summary>
+            <param name="columnid">The columnid.</param>
+            <param name="mustBeNull">if set to <c>true</c> [must be null].</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ConditionalColumn.Columnid">
+            <summary>
+            Gets the column ID of the column used for this conditional column
+            </summary>
+            <remarks>
+            The column ID is undefined if this conditional column will be used
+            to define a new index
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ConditionalColumn.Name">
+            <summary>
+            Gets or sets the name of the column used for this conditional column
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ConditionalColumn.Type">
+            <summary>
+            Gets the type of the column used for this conditional column
+            </summary>
+            <remarks>
+            The column type is undefined if this conditional column will be
+            used to define a new index
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ConditionalColumn.MustBeNull">
+            <summary>
+            Gets or sets a value indicating whether the column must be null for the record to be visible in the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ConditionalColumn.MustBeNonNull">
+            <summary>
+            Gets or sets a value indicating whether the column must be non-null for the record to be visible in the index.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.ConditionalColumnCollection">
+            <summary>
+            Holds the conditional columns associated with a <see cref="T:Microsoft.Database.Isam.IndexDefinition"/>.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.ConditionalColumnCollection.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ConditionalColumnCollection.ReadOnly">
+            <summary>
+            Gets or sets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.ConditionalColumnCollection.Item(System.Int32)">
+            <summary>
+            Gets or sets the element at the specified index.
+            </summary>
+            <param name="index">The index.</param>
+            <returns>
+            Returns the element at the specified index.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.Add(Microsoft.Database.Isam.ConditionalColumn)">
+            <summary>
+            Adds the specified conditional column.
+            </summary>
+            <param name="conditionalColumn">The conditional column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.IndexOf(Microsoft.Database.Isam.ConditionalColumn)">
+            <summary>
+            Returns the index of the specified column.
+            </summary>
+            <param name="conditionalColumn">The conditional column.</param>
+            <returns>
+            The index of the specified column.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.Insert(System.Int32,Microsoft.Database.Isam.ConditionalColumn)">
+            <summary>
+            Inserts the specified index.
+            </summary>
+            <param name="index">The index.</param>
+            <param name="conditionalColumn">The conditional column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.Remove(Microsoft.Database.Isam.ConditionalColumn)">
+            <summary>
+            Removes the specified conditional column.
+            </summary>
+            <param name="conditionalColumn">The conditional column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.Contains(Microsoft.Database.Isam.ConditionalColumn)">
+            <summary>
+            Returns whether the specified column exists in the collection.
+            </summary>
+            <param name="conditionalColumn">The conditional column.</param>
+            <returns>Whether the specified column exists in the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.OnClear">
+            <summary>
+            Performs additional custom processes when clearing the contents of the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.OnInsert(System.Int32,System.Object)">
+            <summary>
+            Performs additional custom processes before inserting a new element into the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which to insert <paramref name="value" />.</param>
+            <param name="value">The new value of the element at <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.OnRemove(System.Int32,System.Object)">
+            <summary>
+            Performs additional custom processes when removing an element from the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="value" /> can be found.</param>
+            <param name="value">The value of the element to remove from <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.OnSet(System.Int32,System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before setting a value in the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="oldValue" /> can be found.</param>
+            <param name="oldValue">The value to replace with <paramref name="newValue" />.</param>
+            <param name="newValue">The new value of the element at <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.OnValidate(System.Object)">
+            <summary>
+            Performs additional custom processes when validating a value.
+            </summary>
+            <param name="value">The object to validate.</param>
+            <exception cref="T:System.ArgumentException">value must be of type ConditionalColumn;value</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.ConditionalColumnCollection.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this conditional column collection cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Converter">
+            <summary>
+            Convert an array of Bytes to/from a CLR object, given the type of the underlying column
+            </summary>
+            <remarks>
+            The Interop layer operates with Byte arrays. The Converter class provides methods to convert
+            an array of bytes retrieved from the Interop layer into a CLR object and to convert a CLR
+            object into an array of bytes.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Converter.BytesFromObject(Microsoft.Isam.Esent.Interop.JET_coltyp,System.Boolean,System.Object)">
+            <summary>
+            Given a column type and an object, convert the object to an array of bytes
+            </summary>
+            <remarks>
+            This method uses System.Convert and System.BitConverter to do automatic type conversion (e.g. String -> Boolean)
+            </remarks>
+            <param name="type">The type of the database column that this object is to be stored in</param>
+            <param name="isASCII">For text columns, is the column an ASCII column. Ignored for other types</param>
+            <param name="o">The object to be converted</param>
+            <returns>An array of bytes representing the object</returns>
+            <exception cref="T:System.InvalidCastException">This conversion is not supported</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Unknown column type</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Converter.ObjectFromBytes(Microsoft.Isam.Esent.Interop.JET_coltyp,System.Boolean,System.Byte[])">
+            <summary>
+            Given a column type and a Byte array, convert the bytes into a CLR object
+            </summary>
+            <remarks>
+            This method uses System.BitConverter to do the conversion
+            </remarks>
+            <param name="type">The type of the database column that this bytes were retrieved from</param>
+            <param name="isASCII">For text columns, is the column an ASCII column. Ignored for other types</param>
+            <param name="value">The bytes to be converted</param>
+            <returns>An Object constructed from the bytes or DBNull for a null value</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Unknown column type or incorrect Byte array size</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Converter.UnicodeFlagsFromCompareOptions(System.Globalization.CompareOptions)">
+            <summary>
+            Converts from <see cref="T:System.Globalization.CompareOptions"/> to <see cref="T:Microsoft.Database.Isam.UnicodeIndexFlags"/>.
+            </summary>
+            <param name="options">The value to convert.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.UnicodeIndexFlags"/> value equivalent to <paramref name="options"/>.</returns>
+            <exception cref="T:System.ArgumentException">CompareOptions.Ordinal is not supported;compareOptions</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Converter.MapFlagsFromUnicodeIndexFlags(Microsoft.Database.Isam.UnicodeIndexFlags)">
+            <summary>
+            Converts unicodeIndexFlags to a ulong, suitable for dwMapFlags.
+            </summary>
+            <param name="unicodeIndexFlags">A UnicodeIndexFlags value.</param>
+            <returns>A value suitable for calling by LCMapString.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Converter.ColumndefGrbitFromColumnFlags(Microsoft.Database.Isam.ColumnFlags)">
+            <summary>
+            Converts <see cref="T:Microsoft.Database.Isam.ColumnFlags"/> to a <see cref="T:Microsoft.Isam.Esent.Interop.ColumndefGrbit"/>, suitable for ESE function calls.
+            </summary>
+            <param name="columnFlags">A <see cref="T:Microsoft.Database.Isam.ColumnFlags"/> value.</param>
+            <returns>A ColumndefGrbit suitable for function calls.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Converter.IsCompareOptionSet(System.Globalization.CompareOptions,System.Globalization.CompareOptions)">
+            <summary>
+            Determines whether all of the the specified options in <paramref name="optionsMask"/>
+            are set in <paramref name="optionsToTest"/>.
+            </summary>
+            <param name="optionsToTest">The value to test.</param>
+            <param name="optionsMask">The optionsMask.</param>
+            <returns>
+            Whether all of the the specified options in <paramref name="optionsMask"/>
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Cursor">
+            <summary>
+            A cursor represents a location in a specific table and can be used to
+            read and update the record at that position.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.isamSession">
+            <summary>
+            The session
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.tableName">
+            <summary>
+            The table name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.tableid">
+            <summary>
+            The tableid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.isSort">
+            <summary>
+            The is sort
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.isSortOrPreSort">
+            <summary>
+            The is sort or pre sort
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.isTempTable">
+            <summary>
+            The is temporary table
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.disposed">
+            <summary>
+            The disposed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.keyStart">
+            <summary>
+            The key start
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.grbitSeekStart">
+            <summary>
+            The grbit seek start
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.grbitRangeStart">
+            <summary>
+            The grbit range start
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.keyEnd">
+            <summary>
+            The key end
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.grbitSeekEnd">
+            <summary>
+            The grbit seek end
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.grbitRangeEnd">
+            <summary>
+            The grbit range end
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.moveNext">
+            <summary>
+            The move next
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.movePrev">
+            <summary>
+            The move previous
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.outOfRange">
+            <summary>
+            The out of range
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.updating">
+            <summary>
+            The updating
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.record">
+            <summary>
+            The record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.editRecord">
+            <summary>
+            The edit record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.indexRecord">
+            <summary>
+            The index record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.tableDefinition">
+            <summary>
+            The table definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.tableUpdateID">
+            <summary>
+            The table update identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.indexDefinition">
+            <summary>
+            The index definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.indexUpdateID">
+            <summary>
+            The index update identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.fields">
+            <summary>
+            The fields
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.transactionID">
+            <summary>
+            The transaction identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.updateID">
+            <summary>
+            The update identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.inInsertMode">
+            <summary>
+            The in insert mode
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.inRetrieveMode">
+            <summary>
+            The in retrieve mode
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Cursor.onBeforeFirst">
+            <summary>
+            The on before first
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.#ctor(Microsoft.Database.Isam.IsamSession,Microsoft.Database.Isam.IsamDatabase,System.String,Microsoft.Isam.Esent.Interop.OpenTableGrbit)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.Cursor"/> class.
+            </summary>
+            <param name="isamSession">The session.</param>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+            <param name="grbit">The grbit.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.#ctor(Microsoft.Database.Isam.IsamSession,Microsoft.Database.Isam.TemporaryDatabase,System.String,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.Cursor"/> class.
+            </summary>
+            <param name="isamSession">The session.</param>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+            <param name="tableid">The tableid.</param>
+            <param name="inInsertMode">if set to <c>true</c> [in insert mode].</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.Finalize">
+            <summary>
+            Finalizes an instance of the Cursor class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.Database">
+            <summary>
+            Gets the database that created this cursor
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.TableDefinition">
+            <summary>
+            Gets the definition for the table under this cursor
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.CurrentIndexDefinition">
+            <summary>
+            Gets the definition for the current index of this cursor
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.Fields">
+            <summary>
+            Gets a collection containing all the field values for the
+            current record.  If a record is currently being inserted or updated
+            then the field values will reflect the new data.
+            </summary>
+            <remarks>
+            The field values are cached in the Cursor object.  This cache will
+            be automatically updated if the Cursor moves to a new record or if
+            another Session updates the record.  However, this cache will NOT
+            be updated if another Cursor belonging to the same Session updates
+            the record.  The cache can be forced to be updated by performing a
+            Move( 0 ) on the containing Cursor.
+            <para>
+            The cache will be reloaded on every call if the Session that opened
+            this Cursor is not in a transaction.  This is required because
+            the record data can change at any time when not in a transaction.
+            If repeated references to Cursor.Fields will be made, they should
+            all be done inside the same transaction to avoid poor performance.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.Record">
+            <summary>
+            Gets the current record for the cursor
+            </summary>
+            <remarks>
+            The field values seen through this column accessor will
+            represent the original data in the record during an update
+            operation.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.EditRecord">
+            <summary>
+            Gets the current record for the cursor
+            </summary>
+            <remarks>
+            The field values seen through this column accessor will
+            represent the modified data in the record during an update
+            operation.
+            <para>
+            Only this column accessor may be used to set fields in a record.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.IndexRecord">
+            <summary>
+            Gets the current record for the cursor
+            </summary>
+            <remarks>
+            The field values seen through this column accessor will
+            represent the original data in the record during an update
+            operation.
+            <para>
+            Fetching field values through this column accessor for columns that
+            are also key columns in the current index may result in improved
+            performance.  This is because in some cases, the field value may be
+            computed from the index entry rather that fetched from the record.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.CurrentIndex">
+            <summary>
+            Gets or sets the current index of this cursor.
+            </summary>
+            <remarks>
+            If the table has no primary index then the name of the current
+            index is an empty string.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.Key">
+            <summary>
+            Gets or sets the key corresponding to the current record for the current index
+            of the cursor.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.Position">
+            <summary>
+            Gets or sets the position of the current record for the current index of the
+            cursor.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.Location">
+            <summary>
+            Gets or sets the location of the current record for the current index of the
+            cursor.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Cursor.Disposed">
+            <summary>
+            Gets or sets a value indicating whether [disposed].
+            </summary>
+            <value>
+              <c>true</c> if [disposed]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.MoveNext">
+            <summary>
+            Move the cursor to the next record on the current index
+            </summary>
+            <returns>true if the cursor ends up on a record, false if the cursor is beyond the end of the index</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.MovePrevious">
+            <summary>
+            Move the cursor to the previous record on the current index
+            </summary>
+            <returns>true if the cursor ends up on a record, false if the cursor is beyond the start of the index</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.Move(System.Int32)">
+            <summary>
+            Move the cursor by the specified offset on the current index
+            </summary>
+            <param name="rows">A signed number of records to skip.  Positive numbers will cause the cursor to move toward the end of the current index.  Negative numbers will cause the cursor to move toward the start of the current index.</param>
+            <returns>true if the cursor ends up on a record, false if the cursor is beyond the start or end of the index</returns>
+            <remarks>
+            Moving by an offset of zero is allowed and can be used to test if
+            the cursor is currently on a record.  It will also force any cached
+            data for the current record to be refreshed.
+            <para>
+            Large offsets used on large tables may cause this method to take
+            quite some time to complete.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.MoveBeforeFirst">
+            <summary>
+            Move the cursor to before the first record on the current index
+            </summary>
+            <remarks>
+            This is a logical position, such that calling MoveNext() will leave the cursor
+            on the first record in the table. Trying to retrieve column values when the cursor
+            is before the first record is invalid.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.MoveAfterLast">
+            <summary>
+            Move the cursor to after the last record on the current index
+            </summary>
+            <remarks>
+            This is a logical position, such that calling MovePrevious() will leave the cursor
+            on the last record in the table. Trying to retrieve column values when the cursor
+            is after the last record is invalid.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.SetCurrentIndex(System.String)">
+            <summary>
+            Set the current index of the cursor
+            </summary>
+            <param name="indexName">The name of the index on the table for this cursor</param>
+            <remarks>
+            This will affect the order records are traversed by the MoveNext,
+            MovePrevious and Move methods. The cursor will be positioned before
+            the first record on the index.
+            <para>
+            As a side effect, any restriction in effect will be cleared.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.MoveToIndex(System.String)">
+            <summary>
+            Set the current index of the cursor
+            </summary>
+            <param name="indexName">The name of the index on the table for this cursor</param>
+            <remarks>
+            This will affect the order records are traversed by the MoveNext,
+            MovePrevious and Move methods.  The cursor will be positioned on
+            the new index at the first entry corresponding to the same record
+            for the entry in the old index.  If no such entry exists because
+            that record does not have an entry in the new index then the
+            operation will fail with EsentNoCurrentRecordException.
+            <para>
+            As a side effect, any restriction in effect will be cleared.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.GotoKey(Microsoft.Database.Isam.Key)">
+            <summary>
+            Position the cursor at the specified key on the current index
+            </summary>
+            <param name="key">The full key for the desired record on the current index of the cursor</param>
+            <remarks>
+            Only fully qualified keys are allowed.  Partial keys and wildcards
+            are forbidden.
+            </remarks>
+            <returns>true if a record was found, false otherwise</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.GotoPosition(Microsoft.Database.Isam.Position)">
+            <summary>
+            Goto the given fractional position on the current index
+            </summary>
+            <param name="position">The desired position on the current index of the cursor</param>
+            <remarks>
+            As a side effect, any restriction in effect will be cleared.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.GotoLocation(Microsoft.Database.Isam.Location)">
+            <summary>
+            Goto the given location on the current index
+            </summary>
+            <param name="location">The desired location on the current index of the cursor</param>
+            <remarks>
+            As a side effect, any restriction in effect will be cleared.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.FindRecords(Microsoft.Database.Isam.MatchCriteria,Microsoft.Database.Isam.Key)">
+            <summary>
+            Restricts the records that are visible to the cursor to those that
+            match the given key by the given criteria.  The key may contain
+            prefix or wildcard key segments which can be used to further
+            qualify the desired matching records.
+            </summary>
+            <param name="criteria">The inequality used to specify which records to find on the current index</param>
+            <param name="key">The partial or full key used to specify which records to find on the current index</param>
+            <remarks>
+            The restriction will remain in effect until explicitly reset or
+            until implicitly reset by other methods as noted.
+            <para>
+            Any previously defined restriction will be cleared.
+            </para>
+            <para>
+            The cursor will be positioned before the first record in the new
+            restriction.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.FindRecordsBetween(Microsoft.Database.Isam.Key,Microsoft.Database.Isam.BoundCriteria,Microsoft.Database.Isam.Key,Microsoft.Database.Isam.BoundCriteria)">
+            <summary>
+            Restricts the records that are visible to the cursor to a range of
+            the current index delineated by the specified keys.
+            </summary>
+            <param name="keyStart">The partial or full key used to set the start of the records to find on the current index</param>
+            <param name="criteriaStart">Indicates if the starting key is inclusive or exclusive</param>
+            <param name="keyEnd">The partial or full key used to set the end of the records to find on the current index</param>
+            <param name="criteriaEnd">Indicates if the ending key is inclusive or exclusive</param>
+            <remarks>
+            The restriction will remain in effect until explicitly reset or
+            until implicitly reset by other methods as noted.
+            <para>
+            Any previously defined restriction will be cleared.
+            </para>
+            <para>
+            The cursor will be positioned before the first record in the new
+            restriction.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.FindAllRecords">
+            <summary>
+            Restores the visibility of all records on the current index to the
+            cursor.
+            </summary>
+            <remarks>
+            The cursor position will remain unchanged.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.BeginEditForInsert">
+            <summary>
+            Create a new record for insertion into the table.
+            </summary>
+            <remarks>
+            The record will not be inserted until the changes are accepted.
+            <para>
+            Changes must be made to the record's fields through EditRecord.
+            </para>
+            <para>
+            It is illegal to insert a new record when already inserting or
+            updating a record.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.BeginEditForUpdate">
+            <summary>
+            Prepare to update the current record
+            </summary>
+            <remarks>
+            The record will not be updated until the changes are accepted.
+            <para>
+            Changes must be made to the record's fields through EditRecord.
+            </para>
+            <para>
+            It is illegal to update a record when already inserting or updating
+            a record.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.RejectChanges">
+            <summary>
+            Discard any changes made to the current record or the new record
+            </summary>
+            <remarks>
+            It is illegal to cancel an insert or update when not inserting or
+            updating a record.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.AcceptChanges">
+            <summary>
+            Discard the changes made to the current record or the new record
+            </summary>
+            <remarks>
+            It is illegal to accept an insert or update when not inserting or
+            updating a record.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.Delete">
+            <summary>
+            Delete the current record
+            </summary>
+            <remarks>
+            It is illegal to delete a record when inserting or updating a
+            record.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.GetEnumerator">
+            <summary>
+            Fetch an enumerator containing all the records visible to the cursor.
+            </summary>
+            <returns>An enumerator containing all the records visible to the cursor.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.System#IDisposable#Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Fetch an enumerator containing all the records visible to the cursor
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+            <remarks>
+            This will change the current position of the cursor.
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.CheckDisposed">
+            <summary>
+            Checks the disposed.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            Thrown when the object is already disposed.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.CheckRecord">
+            <summary>
+            Checks the record.
+            </summary>
+            <exception cref="T:Microsoft.Isam.Esent.Interop.EsentNoCurrentRecordException">
+            Thrown when the cursor is not on a record.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.CheckNotUpdating">
+            <summary>
+            Checks the not updating.
+            </summary>
+            <exception cref="T:System.InvalidOperationException">It is illegal to move to a different record when inserting or updating a record.</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.OnNavigation">
+            <summary>
+            Called when [navigation].
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.GetFields(Microsoft.Isam.Esent.Interop.RetrieveColumnGrbit)">
+            <summary>
+            Gets the fields of the current row.
+            </summary>
+            <param name="grbit">The grbit.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.FieldCollection"/> object to allow retrieval of all fields of the current row.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.MakeKey(Microsoft.Database.Isam.Key,System.Boolean)">
+            <summary>
+            Makes the key.
+            </summary>
+            <param name="key">The key.</param>
+            <param name="end">if set to <c>true</c> specifies that the key represents the End Limit
+            (<see cref="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.PartialColumnStartLimit"/>/<see cref="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.PartialColumnEndLimit"/>/
+            <see cref="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.FullColumnStartLimit"/>/<see cref="F:Microsoft.Isam.Esent.Interop.MakeKeyGrbit.FullColumnEndLimit"/>).</param>
+            <returns>The byte value of the key for the index entry
+            at the current position of a cursor.</returns>
+            <exception cref="T:System.ArgumentException">the provided key must have a key segment per key column on the current index or it must contain a prefix or wildcard;key</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.SetLowerLimit">
+            <summary>
+            Sets the lower limit.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.SetUpperLimit">
+            <summary>
+            Sets the upper limit.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.CompareByteArrays(System.Byte[],System.Byte[])">
+            <summary>
+            Compares the byte arrays, up to the shorter of the two arrays.
+            </summary>
+            <param name="array1">The first array.</param>
+            <param name="array2">The second array.</param>
+            <returns>A numerical value indicating which array is greater.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Cursor.CheckRange">
+            <summary>
+            Checks if the cursor is in the index range specified.
+            </summary>
+            <returns>Whether the cursor is currently in the index range.</returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.CursorEnumerator">
+            <summary>
+            Enumerates the records visible to a given cursor.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.CursorEnumerator.cursor">
+            <summary>
+            The cursor
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.CursorEnumerator.moved">
+            <summary>
+            The moved
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.CursorEnumerator.current">
+            <summary>
+            The current
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.CursorEnumerator.#ctor(Microsoft.Database.Isam.Cursor)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.CursorEnumerator"/> class.
+            </summary>
+            <param name="cursor">The cursor.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.CursorEnumerator.Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            after last record in cursor
+            or
+            before first record in cursor
+            </exception>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.CursorEnumerator.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.CursorEnumerator.Reset">
+            <summary>
+            Sets the enumerator to its initial position, which is before the first element in the collection.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.CursorEnumerator.MoveNext">
+            <summary>
+            Advances the enumerator to the next element of the collection.
+            </summary>
+            <returns>
+            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.DatabaseParams">
+            <summary>
+            Miscellaneous parameters that are specified during the span of instance initialization and database attach.
+            They are similar to system parameters (instance-wide scope) but are not part of JET_param*.
+            This enum shares number space with JET_param* (and we would like to avoid overlapping with JET_sesparam*
+            just to avoid confusion). So we start at 8192 to give us ample cushion.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.Identifier">
+            <summary>
+            A string identifier that uniquely identifies an instance of Database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.DisplayName">
+            <summary>
+            A user-friendly name that is used to identify an instance of Database in system diagnostics (event log etc).
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.EngineFlags">
+            <summary>
+            Gets or sets flags used to select optional Engine behaviour at initialization. See <see cref ="T:Microsoft.Isam.Esent.Interop.CreateInstanceGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String,System.String,Microsoft.Isam.Esent.Interop.CreateInstanceGrbit)"/>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.DatabaseRecoveryFlags">
+            <summary>
+            Gets or sets the used to select optional behaviour while initializing the engine and recoverying the database from the log stream. See <see cref ="T:Microsoft.Isam.Esent.Interop.InitGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.InitGrbit)"/>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.DatabaseFilename">
+            <summary>
+            Specifies a path to use for creating or opening the database file.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.DatabaseCreationFlags">
+            <summary>
+            Gets or sets flags used to select optional behaviour while creating a new database file. See <see cref ="T:Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.DatabaseAttachFlags">
+            <summary>
+            Gets or sets flags used to select optional behaviour while attaching a database file to the Engine. See <see cref ="T:Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.DatabaseStopFlags">
+            <summary>
+            Gets or sets the used to select optional behaviour while terminating / shutting the engine. See <see cref ="T:Microsoft.Isam.Esent.Interop.TermGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetTerm2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.TermGrbit)"/>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseParams.DatabaseMaxPages">
+            <summary>
+            Gets or sets the maximum size of the database in pages. Zero means there is no maximum. See maxPages parameter for <see cref ="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/> or <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Database">
+            <summary>
+            A class that encapsulate an online Ese database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Database.instanceCounter">
+            <summary>
+            A variable for generating instance display names.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Database.ownsInstance">
+            <summary>
+            True if the instance handle is owned by this engine. Dispose()/Stop() will only call JetTerm() if this is true.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Database.config">
+            <summary>
+            The configuration object associated with the Engine.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Database.instance">
+            <summary>
+            The instance handle associated with this engine.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the Database class.
+            </summary>
+            <param name="databaseFilename">Specifies a path to use for creating or opening a database file to use with the engine.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.#ctor(Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Initializes a new instance of the Database class.
+            </summary>
+            <param name="customConfig">A custom config set to use with the engine.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.#ctor(System.String,Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Initializes a new instance of the Database class.
+            </summary>
+            <param name="databaseFilename">Specifies a path to use for creating or opening a database file to use with the engine.</param>
+            <param name="customConfig">A custom config set to use with the engine.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.#ctor(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.Boolean,Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Initializes a new instance of the Database class.
+            </summary>
+            <param name="instance">An initialized instance to be used with Database. The instance should have a database attached and ready to use.</param>
+            <param name="ownsInstance">True if the instance handle passed into the constructur should be owned by the Database.</param>
+            <param name="customConfig">A custom config set to use with the engine. The config set should atleast contain the attached database filename.</param>
+            <remarks>Database will only manage the handle lifetime if ownsInstance is set to true. If its set to false, the caller is responsible for managing the teardown of the instance.</remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Database.Config">
+            <summary>
+            Gets the configuration object associated with the Engine.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Database.InstanceHandle">
+            <summary>
+            Gets the instance handle associated with this engine.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Database.Isam.Database"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Database.Isam.Database"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.Dispose">
+            <summary>
+            Terminates the Database gracefully.
+            All pending updates to the database are flushed to the disk and associated resources are freed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.Term">
+            <summary>
+            Terminates the Database. The exact behaviour of the termination process depends on the <see cref="T:Microsoft.Isam.Esent.Interop.TermGrbit"/> passed to the function.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.Start">
+            <summary>
+            Initializes the Database and gets it into a state where it can support application use of the database.
+            After this method completes, the specified database file is attached and ready for use.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.TryGetParam(System.Int32,System.Object@)">
+            <summary>
+            Get a JET_param from the associated instance.
+            </summary>
+            <param name="param">The param id.</param>
+            <param name="value">The param value.</param>
+            <returns>True for all instance params. False otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Database.SetParam(System.Int32,System.Object)">
+            <summary>
+            Sets a JET_param on the associated instance.
+            </summary>
+            <param name="param">The param id.</param>
+            <param name="value">The param value.</param>
+        </member>
+        <member name="T:Microsoft.Database.Isam.DatabaseCommon">
+            <summary>
+            A Database is a file used by the ISAM to store data.  It is organized
+            into tables which are in turn comprised of columns and indices and
+            contain data in the form of records.  The database's schema can be
+            enumerated and manipulated by this object.  Also, the database's
+            tables can be opened for access by this object.
+            <para>
+            DatabaseCommon is the common root class for all types of databases.
+            Currently, there are two types:  Database which provides access to
+            ordinary databases and TemporaryDatabase which provides access to
+            temporary databases.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseCommon.schemaUpdateID">
+            <summary>
+            The schema update identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseCommon.isamSession">
+            <summary>
+            The session
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseCommon.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.DatabaseCommon.disposed">
+            <summary>
+            The disposed
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.#ctor(Microsoft.Database.Isam.IsamSession)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.DatabaseCommon"/> class.
+            </summary>
+            <param name="isamSession">The session.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.Finalize">
+            <summary>
+            Finalizes an instance of the DatabaseCommon class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.DatabaseCommon.IsamSession">
+            <summary>
+            Gets the session that created this database
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.DatabaseCommon.Tables">
+            <summary>
+            Gets a collection of tables in the database.
+            </summary>
+            <returns>a collection of tables in the database</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.DatabaseCommon.SchemaUpdateID">
+            <summary>
+            Gets or sets the schema update identifier.
+            </summary>
+            <value>
+            The schema update identifier.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.DatabaseCommon.Disposed">
+            <summary>
+            Gets or sets a value indicating whether [disposed].
+            </summary>
+            <value>
+              <c>true</c> if [disposed]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.CreateTable(Microsoft.Database.Isam.TableDefinition)">
+            <summary>
+            Creates a single table with the specified definition in the database
+            </summary>
+            <param name="tableDefinition">The table definition.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.DropTable(System.String)">
+            <summary>
+            Deletes a single table in the database
+            </summary>
+            <param name="tableName">Name of the table.</param>
+            <remarks>
+            It is currently not possible to delete a table that is being used
+            by a Cursor.  All such Cursors must be disposed before the
+            table can be successfully deleted.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.Exists(System.String)">
+            <summary>
+            Determines if a given table exists in the database
+            </summary>
+            <param name="tableName">Name of the table.</param>
+            <returns>
+            true if the table was found, false otherwise
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.OpenCursor(System.String)">
+            <summary>
+            Opens a cursor over the specified table.
+            </summary>
+            <param name="tableName">the name of the table to be opened</param>
+            <returns>a cursor over the specified table in this database</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.System#IDisposable#Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.ColtypFromColumnDefinition(Microsoft.Database.Isam.ColumnDefinition)">
+            <summary>
+            Converts <see cref="T:Microsoft.Database.Isam.ColumnDefinition"/> to a <see cref="T:Microsoft.Isam.Esent.Interop.JET_coltyp"/>.
+            </summary>
+            <param name="columnDefinition">The column definition.</param>
+            <returns>The <see cref="T:Microsoft.Isam.Esent.Interop.JET_coltyp"/> equivalent of <paramref name="columnDefinition"/>.</returns>
+            <exception cref="T:System.ArgumentException">Cannot map this type to a native column type</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.IndexKeyFromIndexDefinition(Microsoft.Database.Isam.IndexDefinition)">
+            <summary>
+            Converts a <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> to a double-null-terminated string usable by the
+            C API to create an index.
+            </summary>
+            <param name="indexDefinition">The index definition.</param>
+            <returns>A double-null-terminated string usable by the C API.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.ConditionalColumnsFromIndexDefinition(Microsoft.Database.Isam.IndexDefinition)">
+            <summary>
+            Converts a <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> to an array of <see cref="T:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN"/> objects.
+            </summary>
+            <param name="indexDefinition">The index definition.</param>
+            <returns>An array of <see cref="T:Microsoft.Isam.Esent.Interop.JET_CONDITIONALCOLUMN"/> objects.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.GrbitFromIndexDefinition(Microsoft.Database.Isam.IndexDefinition)">
+            <summary>
+            Retrieves the <see cref="T:Microsoft.Isam.Esent.Interop.CreateIndexGrbit"/> options from an <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> object.
+            </summary>
+            <param name="indexDefinition">The index definition.</param>
+            <returns>The <see cref="T:Microsoft.Isam.Esent.Interop.CreateIndexGrbit"/> options.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.CheckName(System.String,System.Exception)">
+            <summary>
+            Checks the name.
+            </summary>
+            <param name="name">The name.</param>
+            <param name="e">The e.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.ESENTVersion(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Converts a major/minor/build number of ESENT to a single number for comparison.
+            </summary>
+            <param name="major">The major.</param>
+            <param name="minor">The minor.</param>
+            <param name="build">The build.</param>
+            <param name="update">The update.</param>
+            <returns>An integer value equivalent of the version specified.</returns>
+            <remarks>Returns a different value from <see cref="M:Microsoft.Database.Isam.DatabaseCommon.ESEVersion(System.Int32,System.Int32,System.Int32,System.Int32)"/></remarks>
+            <seealso cref="M:Microsoft.Database.Isam.DatabaseCommon.ESEVersion(System.Int32,System.Int32,System.Int32,System.Int32)"/>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.ESEVersion(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Converts a major/minor/build number of ESE to a single number for comparison.
+            </summary>
+            <param name="major">The major.</param>
+            <param name="minor">The minor.</param>
+            <param name="build">The build.</param>
+            <param name="update">The update.</param>
+            <returns>An integer value equivalent of the version specified.</returns>
+            <remarks>Returns a different value from <see cref="M:Microsoft.Database.Isam.DatabaseCommon.ESENTVersion(System.Int32,System.Int32,System.Int32,System.Int32)"/></remarks>
+            <seealso cref="M:Microsoft.Database.Isam.DatabaseCommon.ESENTVersion(System.Int32,System.Int32,System.Int32,System.Int32)"/>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.CheckEngineVersion(Microsoft.Database.Isam.IsamSession,System.Int64,System.Int64)">
+            <summary>
+            Checks the engine version.
+            </summary>
+            <param name="isamSession">The session.</param>
+            <param name="versionESENT">The minimum ESENT version required.</param>
+            <param name="versionESE">The minimum ESE version required.</param>
+            <returns>Whether the current engine is greater than or equal to the required version.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.CheckEngineVersion(Microsoft.Database.Isam.IsamSession,System.Int64,System.Int64,System.Exception)">
+            <summary>
+            Checks the engine version.
+            </summary>
+            <param name="isamSession">The session.</param>
+            <param name="versionESENT">The version esent.</param>
+            <param name="versionESE">The version ese.</param>
+            <param name="e">The e.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.DatabaseCommon.CheckDisposed">
+            <summary>
+            Checks the disposed.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            Thrown when the object is already disposed.
+            </exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.FieldCollection">
+            <summary>
+            A Field Collection represents the set of fields that are in a given
+            record.  It can be used to efficiently navigate those fields.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.FieldCollection.location">
+            <summary>
+            The location
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.FieldCollection.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldCollection.IsReadOnly">
+            <summary>
+            Gets a value indicating whether this field collection cannot be changed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldCollection.Names">
+            <summary>
+            Gets the names.
+            </summary>
+            <value>
+            The names.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldCollection.Location">
+            <summary>
+            Gets or sets the location of the record that contained these fields.
+            </summary>
+            <value>
+            The location.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldCollection.IsFixedSize">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.
+            </summary>
+            <returns>true if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldCollection.ReadOnly">
+            <summary>
+            Sets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldCollection.Item(System.String)">
+            <summary>
+            The field values for the specified column.
+            </summary>
+            <value>
+            The <see cref="T:Microsoft.Database.Isam.FieldValueCollection"/>.
+            </value>
+            <param name="columnName">the name of the column whose field values are desired</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.FieldValueCollection"/> object to access values of this column.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldCollection.Item(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            The field values for the specified column
+            </summary>
+            <value>
+            The <see cref="T:Microsoft.Database.Isam.FieldValueCollection"/>.
+            </value>
+            <param name="column">the column ID whose field values are desired</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.FieldValueCollection"/> object to access values of this column.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the fields for this record.
+            </summary>
+            <returns>An enumerator containing all the fields for this record.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.Add(Microsoft.Database.Isam.FieldValueCollection)">
+            <summary>
+            Adds the specified values.
+            </summary>
+            <param name="values">The values.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.Contains(System.String)">
+            <summary>
+            Returns whether the specifed column exists in the row.
+            </summary>
+            <param name="columnName">Name of the column.</param>
+            <returns>Whether the specifed column exists in the row.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.Contains(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Returns whether the specifed column exists in the row.
+            </summary>
+            <param name="column">The column.</param>
+            <returns>Whether the specifed column exists in the row.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.Remove(System.String)">
+            <summary>
+            Removes the specified column name.
+            </summary>
+            <param name="columnName">Name of the column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.Remove(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Removes the specified column.
+            </summary>
+            <param name="column">The column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the fields for this record
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.OnClear">
+            <summary>
+            Performs additional custom processes before clearing the contents of the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.OnInsert(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before inserting a new element into the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to insert.</param>
+            <param name="value">The value of the element to insert.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.OnRemove(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before removing an element from the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to remove.</param>
+            <param name="value">The value of the element to remove.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.OnSet(System.Object,System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before setting a value in the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to locate.</param>
+            <param name="oldValue">The old value of the element associated with <paramref name="key" />.</param>
+            <param name="newValue">The new value of the element associated with <paramref name="key" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.OnValidate(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes when validating the element with the specified key and value.
+            </summary>
+            <param name="key">The key of the element to validate.</param>
+            <param name="value">The value of the element to validate.</param>
+            <exception cref="T:System.ArgumentException">
+            key must be of type System.String;key
+            or
+            value must be of type FieldValueCollection;value
+            or
+            key must match value.Name;key
+            </exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldCollection.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this field collection cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.FieldValueCollection">
+            <summary>
+            A Field Value Collection represents the set of field values that are in
+            a given field in a given record.  It can be used to efficiently
+            navigate those field values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.FieldValueCollection.columnid">
+            <summary>
+            The columnid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.FieldValueCollection.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.#ctor(Microsoft.Database.Isam.Columnid)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.FieldValueCollection"/> class.
+            </summary>
+            <param name="columnid">The columnid.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldValueCollection.Columnid">
+            <summary>
+            Gets the column ID of the column for which these field values were set
+            in the record
+            </summary>
+            <value>
+            The columnid.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldValueCollection.Name">
+            <summary>
+            Gets the name of the column for which these field values were set in the
+            record
+            </summary>
+            <value>
+            The name.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldValueCollection.Type">
+            <summary>
+            Gets the type of the column for which these field values were set in the
+            record
+            </summary>
+            <value>
+            The type.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldValueCollection.ReadOnly">
+            <summary>
+            Gets or sets a value indicating whether this field value collection cannot be changed
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.FieldValueCollection.Item(System.Int32)">
+            <summary>
+            Gets or sets the element at the specified index.
+            </summary>
+            <param name="index">The index.</param>
+            <returns>The specific element at that position.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.Add(System.Object)">
+            <summary>
+            Adds the specified value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.IndexOf(System.Object)">
+            <summary>
+            Determines the index of a specific item in the <see cref="T:System.Collections.IList" />.
+            </summary>
+            <param name="value">The object to locate in the <see cref="T:System.Collections.IList" />.</param>
+            <returns>
+            The index of <paramref name="value" /> if found in the list; otherwise, -1.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.Insert(System.Int32,System.Object)">
+            <summary>
+            Inserts an item to the <see cref="T:System.Collections.IList" /> at the specified index.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="value" /> should be inserted.</param>
+            <param name="value">The object to insert into the <see cref="T:System.Collections.IList" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.Remove(System.Object)">
+            <summary>
+            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.IList" />.
+            </summary>
+            <param name="value">The object to remove from the <see cref="T:System.Collections.IList" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.Contains(System.Object)">
+            <summary>
+            Determines whether the <see cref="T:System.Collections.IList" /> contains a specific value.
+            </summary>
+            <param name="value">The object to locate in the <see cref="T:System.Collections.IList" />.</param>
+            <returns>
+            true if the <see cref="T:System.Object" /> is found in the <see cref="T:System.Collections.IList" />; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.OnClear">
+            <summary>
+            Performs additional custom processes when clearing the contents of the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.OnInsert(System.Int32,System.Object)">
+            <summary>
+            Performs additional custom processes before inserting a new element into the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which to insert <paramref name="value" />.</param>
+            <param name="value">The new value of the element at <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.OnRemove(System.Int32,System.Object)">
+            <summary>
+            Performs additional custom processes when removing an element from the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="value" /> can be found.</param>
+            <param name="value">The value of the element to remove from <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.OnSet(System.Int32,System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before setting a value in the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="oldValue" /> can be found.</param>
+            <param name="oldValue">The value to replace with <paramref name="newValue" />.</param>
+            <param name="newValue">The new value of the element at <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.OnValidate(System.Object)">
+            <summary>
+            Performs additional custom processes when validating a value.
+            </summary>
+            <param name="value">The object to validate.</param>
+            <exception cref="T:System.ArgumentException">value must be of type  + Type +  or of type  + typeof(System.DBNull);value</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.FieldValueCollection.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this field value collection cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IndexCollection">
+            <summary>
+            A class containing information about the indices on a particular table.
+            It is usually used for metadata discovery.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexCollection.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexCollection.tableName">
+            <summary>
+            The table name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexCollection.cachedIndexDefinition">
+            <summary>
+            The cached index definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexCollection.indexDefinition">
+            <summary>
+            The index definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexCollection.indexUpdateID">
+            <summary>
+            The index update identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexCollection.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IndexCollection"/> class. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.#ctor(Microsoft.Database.Isam.IsamDatabase,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IndexCollection"/> class.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexCollection.Names">
+            <summary>
+            Gets the names.
+            </summary>
+            <value>
+            The names.
+            </value>
+            <exception cref="T:System.InvalidOperationException">the names of the indices in this index collection cannot be enumerated in this manner when accessing the table definition of an existing table</exception>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexCollection.IsFixedSize">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.
+            </summary>
+            <returns>true if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexCollection.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object is read-only.
+            </summary>
+            <returns>true if the <see cref="T:System.Collections.IDictionary" /> object is read-only; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexCollection.ReadOnly">
+            <summary>
+            Sets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexCollection.Item(System.String)">
+            <summary>
+            Fetches the Index Definition for the specified index name.
+            </summary>
+            <value>
+            The <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> corresponding to <paramref name="indexName"/>.
+            </value>
+            <param name="indexName">Name of the index.</param>
+            <returns>An <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> object.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the indices on this table.
+            </summary>
+            <returns>An enumerator containing all the indices on this table.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.Add(Microsoft.Database.Isam.IndexDefinition)">
+            <summary>
+            Adds the specified index definition.
+            </summary>
+            <param name="indexDefinition">The index definition.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.Contains(System.String)">
+            <summary>
+            Determines if the table contains an index with the given name.
+            </summary>
+            <param name="indexName">Name of the index.</param>
+            <returns>Whether the collection contains an index of name <paramref name="indexName"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.Remove(System.String)">
+            <summary>
+            Removes the specified index name.
+            </summary>
+            <param name="indexName">Name of the index.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the indices on this table
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.OnClear">
+            <summary>
+            Performs additional custom processes before clearing the contents of the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.OnInsert(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before inserting a new element into the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to insert.</param>
+            <param name="value">The value of the element to insert.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.OnRemove(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before removing an element from the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to remove.</param>
+            <param name="value">The value of the element to remove.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.OnSet(System.Object,System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before setting a value in the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to locate.</param>
+            <param name="oldValue">The old value of the element associated with <paramref name="key" />.</param>
+            <param name="newValue">The new value of the element associated with <paramref name="key" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.OnValidate(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes when validating the element with the specified key and value.
+            </summary>
+            <param name="key">The key of the element to validate.</param>
+            <param name="value">The value of the element to validate.</param>
+            <exception cref="T:System.ArgumentException">
+            key must be of type System.String;key
+            or
+            value must be of type IndexDefinition;value
+            or
+            key must match value.Name;key
+            </exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexCollection.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this index collection cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IndexDefinition">
+            <summary>
+            An Index Definition contains the schema for a single index.  It can be
+            used to explore the schema for an existing index and to create the
+            definition for a new index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.name">
+            <summary>
+            The name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.flags">
+            <summary>
+            The flags
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.density">
+            <summary>
+            The density
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.cultureInfo">
+            <summary>
+            The culture information
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.compareOptions">
+            <summary>
+            The compare options
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.maxKeyLength">
+            <summary>
+            The maximum key length
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.keyColumnCollection">
+            <summary>
+            The key column collection
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.conditionalColumnCollection">
+            <summary>
+            The conditional column collection
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexDefinition.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexDefinition.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> class. 
+            For use when defining a new index.
+            </summary>
+            <param name="name">
+            The name of the index to be defined.
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexDefinition.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.Name">
+            <summary>
+            Gets the name of the index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.Flags">
+            <summary>
+            Gets or sets the index's flags.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.Density">
+            <summary>
+            Gets or sets the ideal density of the index in percent.
+            </summary>
+            <remarks>
+            The ideal density of an index is used to setup a newly created
+            index into a layout on disk that is appropriate for the typical
+            workload on that index.  For example, an index that will always be
+            appended should have a density of 100% and an index that will
+            experience random insertion should have a lower density to reflect
+            the average density on which that index would converge at run time.
+            <para>
+            The density is primarily tweaked for performance reasons.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.CultureInfo">
+            <summary>
+            Gets or sets the locale of the index.
+            </summary>
+            <remarks>
+            A locale can be specified for any index but will only affect
+            indexes with key columns containing string data.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.CompareOptions">
+            <summary>
+            Gets or sets the locale sensitive collation options for the index.
+            </summary>
+            <remarks>
+            These options can be specified for any index but will only affect
+            indexes with key columns containing string data.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.MaxKeyLength">
+            <summary>
+            Gets or sets the maximum length of a normalized key that will be stored in the
+            index in bytes.
+            </summary>
+            <remarks>
+            In many ways, this is one of the most critical parameters of an
+            index.  Key truncation can cause different records to end up with
+            the same key which makes them indistinguishable to the index.  This
+            can cause records to be ordered randomly with respect to each other
+            according to the index's sort order.  This can also cause otherwise
+            unique index entries to be considered duplicates which can cause
+            some updates to fail.
+            <para>
+            The current limits for the ISAM are as follows:  databases with 2KB
+            pages can have keys up to 255B in length;  databases with 4KB pages
+            can have keys up to 1000B in length;  and databases with 8KB pages
+            can have keys up to 2000B in length.  Note that these lengths are
+            for normalized keys not raw key data.  Normalized keys are always
+            slightly longer than the raw data from which they are derived.
+            </para>
+            <para>
+            NOTE:  a max key length of 255 is "special" in that it uses legacy
+            semantics for building keys.  Those semantics include the truncation
+            of the source data for normalization at 256 bytes.  This mode should
+            only be used if you specifically want this behavior for backwards
+            compatibility because it causes errors during the generation of
+            index keys under certain conditions.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.KeyColumns">
+            <summary>
+            Gets a collection of the key columns in this index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.ConditionalColumns">
+            <summary>
+            Gets a collection of conditional columns in this index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.IsReadOnly">
+            <summary>
+            Gets a value indicating whether this index definition cannot be changed
+            </summary>
+            <value>
+              <c>true</c> if [is read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexDefinition.ReadOnly">
+            <summary>
+            Sets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexDefinition.Load(Microsoft.Database.Isam.IsamDatabase,System.String,Microsoft.Isam.Esent.Interop.JET_INDEXLIST)">
+            <summary>
+            Creates an <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> object from the specified <paramref name="indexList"/>.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+            <param name="indexList">The index list.</param>
+            <returns>An <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> object represting the specified index.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexDefinition.IndexFlagsFromGrbits(Microsoft.Isam.Esent.Interop.CreateIndexGrbit)">
+            <summary>
+            Converts the <see cref="T:Microsoft.Isam.Esent.Interop.CreateIndexGrbit"/> enumeration to <see cref="T:Microsoft.Database.Isam.IndexFlags"/>.
+            </summary>
+            <param name="grbitIndex">Index of the grbit.</param>
+            <returns>The <see cref="T:Microsoft.Database.Isam.IndexFlags"/> equivalent to <paramref name="grbitIndex"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexDefinition.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this index definition cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IndexEnumerator">
+            <summary>
+            Enumerates the indices on a given table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.tableName">
+            <summary>
+            The table name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.enumerator">
+            <summary>
+            The enumerator
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.indexList">
+            <summary>
+            The index list
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.moved">
+            <summary>
+            The moved
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.current">
+            <summary>
+            The current
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.indexDefinition">
+            <summary>
+            The index definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexEnumerator.indexUpdateID">
+            <summary>
+            The index update identifier
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexEnumerator.#ctor(Microsoft.Database.Isam.IsamDatabase,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IndexEnumerator" /> class.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexEnumerator.#ctor(System.Collections.IDictionaryEnumerator)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IndexEnumerator"/> class.
+            </summary>
+            <param name="enumerator">The enumerator.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexEnumerator.Finalize">
+            <summary>
+            Finalizes an instance of the IndexEnumerator class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexEnumerator.Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            after last index on table
+            or
+            before first index on table
+            </exception>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IndexEnumerator.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexEnumerator.Reset">
+            <summary>
+            Sets the enumerator to its initial position, which is before the first element in the collection.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IndexEnumerator.MoveNext">
+            <summary>
+            Advances the enumerator to the next element of the collection.
+            </summary>
+            <returns>
+            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IndexFlags">
+            <summary>
+            Index flags enumeration
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.None">
+            <summary>
+            The index will use the default set of flags.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.Unique">
+            <summary>
+            All keys in the index must be unique or the insertion or update of
+            the associated record will fail.  This uniqueness constraint also
+            applies to truncated keys.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.Primary">
+            <summary>
+            The keys in this index represent the primary key for the record.
+            At this time, the primary index is also the clustered index of the
+            table.  If no primary index is defined for a table then a default
+            primary index with a sequential key will be used.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.DisallowNull">
+            <summary>
+            Each key in the index must have a non-NULL value for every key
+            column in the index definition or the insertion or update of the
+            associated record will fail.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.IgnoreNull">
+            <summary>
+            The index will only contain entries for keys with at least one
+            non-NULL key column.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.IgnoreAnyNull">
+            <summary>
+            The index will only contain entries for keys comprised entirely of
+            non-NULL key columns.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.AllowNull">
+            <summary>
+            The index will contain entries for keys containing any combination
+            of NULL and non-NULL key columns.  The collation order of NULL key
+            column values versus non-NULL key column values is determined by the
+            SortNullsLow and SortNullsHigh IndexFlags.  This represents the
+            default treatment of NULL key column values in an index entry.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.SortNullsLow">
+            <summary>
+            The collation order of the index is set such that NULL key column
+            values sort closer to the start of the index than non-NULL key
+            column values.  This is the default NULL collation order.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.SortNullsHigh">
+            <summary>
+            The collation order of the index is set such that NULL key column
+            values sort closer to the end of the index than non-NULL key column
+            values.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.AllowTruncation">
+            <summary>
+            Any key in the index may be larger than the maximum size of the key
+            supported by that index except that any key beyond the maximum size
+            will be truncated.  This means that there can be no meaningful
+            relative ordering between keys that are identical after truncation
+            nor can there be any distinction between entries generated by
+            different key column values whose keys are identical after
+            truncation.
+            <remarks>
+            This bit is unique to the Isam layer. It is not actually supported
+            by the underlying database layer. If it is not specified,
+            <see cref="F:Microsoft.Database.Isam.IndexFlags.DisallowTruncation"/> is assumed. This is the opposite default
+            of the underlying database layer
+            <para>
+            <see cref="F:Microsoft.Database.Isam.IndexFlags.AllowTruncation"/> and <see cref="F:Microsoft.Database.Isam.IndexFlags.DisallowTruncation"/>
+            are mutually exclusive.
+            </para>
+            </remarks>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IndexFlags.DisallowTruncation">
+            <summary>
+            Each key in the index must be smaller than the maximum size of the
+            key supported by that index or the insertion or update of the
+            associated record will fail.  Note that at the present time there
+            is some overhead when converting key column values into a key so
+            the maximum size of the key will be reached sooner than expected
+            based on the raw size of the key column values.  Truncated keys are
+            prohibited by default.
+            </summary>
+            <remarks>
+            This is the default behaviour for Isam, but not the default for
+            the underlying database layer.
+            <see cref="F:Microsoft.Database.Isam.IndexFlags.AllowTruncation"/> and <see cref="F:Microsoft.Database.Isam.IndexFlags.DisallowTruncation"/>
+            are mutually exclusive.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IsamInstance">
+            <summary>
+            An Instance represents the unit of recoverability for the ISAM.  It is
+            used to manage the set of files that comprise the transaction logs and
+            databases used by the ISAM.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.instance">
+            <summary>
+            The instance
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.isamSystemParameters">
+            <summary>
+            The system parameters
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.cleanupInstance">
+            <summary>
+            The cleanup instance
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.instanceInitialized">
+            <summary>
+            The instance initialized
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.cleanupTempTables">
+            <summary>
+            The cleanup temporary tables
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.disposed">
+            <summary>
+            The disposed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamInstance.tempTableHandleCollection">
+            <summary>
+            The temporary table handle collection
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamInstance"/> class. 
+            </summary>
+            <param name="workingDirectory">
+            The directory (relative or absolute) that will contain all the files managed by the ISAM.  The path must have a trailing backslash.
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.#ctor(System.String,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamInstance"/> class. 
+            </summary>
+            <param name="workingDirectory">
+            The directory (relative or absolute) that will contain all the files managed by the ISAM.  The path must have a trailing backslash.
+            </param>
+            <param name="readOnly">
+            Set to true when this instance will only be used to access read only databases
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.#ctor(System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamInstance"/> class. 
+            </summary>
+            <param name="checkpointFileDirectoryPath">
+            The directory (relative or absolute) that will contain the checkpoint file managed by the ISAM.  The path must have a trailing backslash.
+            </param>
+            <param name="logfileDirectoryPath">
+            The directory (relative or absolute) that will contain the transaction log files managed by the ISAM.  The path must have a trailing backslash.
+            </param>
+            <param name="temporaryDatabaseFileDirectoryPath">
+            The file or directory (relative or absolute) that will contain the temporary database managed by the ISAM.  If the path has a trailing backslash, it will be assumed to be a directory and a custom name for the temporary database will be created.  If the path does not have a trailing backslash, then it will be assumed to be a file and the temporary database will be stored in that file.
+            </param>
+            <param name="baseName">
+            A three character prefix that will be used to name ISAM files.  This prefix can be used to make the ISAM's file names unique so that they may share directories with other instances.
+            </param>
+            <param name="eventSource">
+            A short name that will be used to identify this instance when the ISAM emits diagnostic data.
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.#ctor(System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamInstance"/> class. 
+            </summary>
+            <param name="checkpointFileDirectoryPath">
+            The directory (relative or absolute) that will contain the checkpoint file managed by the ISAM.  The path must have a trailing backslash.
+            </param>
+            <param name="logfileDirectoryPath">
+            The directory (relative or absolute) that will contain the transaction log files managed by the ISAM.  The path must have a trailing backslash.
+            </param>
+            <param name="temporaryDatabaseFileDirectoryPath">
+            The file or directory (relative or absolute) that will contain the temporary database managed by the ISAM.  If the path has a trailing backslash, it will be assumed to be a directory and a custom name for the temporary database will be created.  If the path does not have a trailing backslash, then it will be assumed to be a file and the temporary database will be stored in that file.
+            </param>
+            <param name="baseName">
+            A three character prefix that will be used to name ISAM files.  This prefix can be used to make the ISAM's file names unique so that they may share directories with other instances.
+            </param>
+            <param name="eventSource">
+            A short name that will be used to identify this instance when the ISAM emits diagnostic data.
+            </param>
+            <param name="readOnly">
+            Set to true when this instance will only be used to access read only databases
+            </param>
+            <param name="pageSize">
+            Set to the page size that will be used by all databases managed by the instance.
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.Finalize">
+            <summary>
+            Finalizes an instance of the IsamInstance class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamInstance.IsamSystemParameters">
+            <summary>
+            Gets a <see cref="T:Microsoft.Isam.Esent.Interop.SystemParameters"/> object that provides access to a boatload of parameters that can be used to
+            tweak various aspects of the ISAM's behavior or performance for
+            this instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamInstance.Inst">
+            <summary>
+            Gets the inst.
+            </summary>
+            <value>
+            The inst.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamInstance.ReadOnly">
+            <summary>
+            Gets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamInstance.Disposed">
+            <summary>
+            Gets or sets a value indicating whether [disposed].
+            </summary>
+            <value>
+              <c>true</c> if [disposed]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamInstance.TempTableHandles">
+            <summary>
+            Gets the temporary table handles.
+            </summary>
+            <value>
+            The temporary table handles.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.CreateSession">
+            <summary>
+            Creates a session
+            </summary>
+            <returns>a session associated with this instance</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.System#IDisposable#Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.Create(System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Int32)">
+            <summary>
+            Creates the specified checkpoint file directory path.
+            </summary>
+            <param name="checkpointFileDirectoryPath">The checkpoint file directory path.</param>
+            <param name="logfileDirectoryPath">The logfile directory path.</param>
+            <param name="temporaryDatabaseFileDirectoryPath">The temporary database file directory path.</param>
+            <param name="baseName">Name of the base.</param>
+            <param name="eventSource">The event source.</param>
+            <param name="isReadOnly">if set to <c>true</c> [is read only].</param>
+            <param name="pageSize">Size of the page.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamInstance.CheckDisposed">
+            <summary>
+            Checks the disposed.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            Thrown when the object is already disposed.
+            </exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IsamDatabase">
+            <summary>
+            A Database is a file used by the ISAM to store data.  It is organized
+            into tables which are in turn comprised of columns and indices and
+            contain data in the form of records.  The database's schema can be
+            enumerated and manipulated by this object.  Also, the database's
+            tables can be opened for access by this object.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamDatabase.dbid">
+            <summary>
+            The dbid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamDatabase.tableCollection">
+            <summary>
+            The table collection
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamDatabase.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamDatabase.disposed">
+            <summary>
+            The disposed
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.#ctor(Microsoft.Database.Isam.IsamSession,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamDatabase"/> class.
+            </summary>
+            <param name="isamSession">The session.</param>
+            <param name="databaseName">Name of the database.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.Finalize">
+            <summary>
+            Finalizes an instance of the IsamDatabase class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamDatabase.Tables">
+            <summary>
+            Gets a collection of tables in the database.
+            </summary>
+            <returns>a collection of tables in the database</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamDatabase.Dbid">
+            <summary>
+            Gets the dbid.
+            </summary>
+            <value>
+            The dbid.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamDatabase.Disposed">
+            <summary>
+            Gets or sets a value indicating whether [disposed].
+            </summary>
+            <value>
+              <c>true</c> if [disposed]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.CreateTable(Microsoft.Database.Isam.TableDefinition)">
+            <summary>
+            Creates a single table with the specified definition in the database
+            </summary>
+            <param name="tableDefinition">The table definition.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.DropTable(System.String)">
+            <summary>
+            Deletes a single table in the database.
+            </summary>
+            <param name="tableName">The name of the table to be deleted.</param>
+            <remarks>
+            It is currently not possible to delete a table that is being used
+            by a Cursor.  All such Cursors must be disposed before the
+            table can be successfully deleted.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.Exists(System.String)">
+            <summary>
+            Determines if a given table exists in the database
+            </summary>
+            <param name="tableName">The name of the table to evaluate for existence.</param>
+            <returns>
+            true if the table was found, false otherwise
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.OpenCursor(System.String,System.Boolean)">
+            <summary>
+            Opens a cursor over the specified table.
+            </summary>
+            <param name="tableName">the name of the table to be opened</param>
+            <param name="exclusive">when true, the table will be opened for exclusive access</param>
+            <returns>a cursor over the specified table in this database</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.OpenCursor(System.String)">
+            <summary>
+            Opens a cursor over the specified table.
+            </summary>
+            <param name="tableName">the name of the table to be opened</param>
+            <returns>a cursor over the specified table in this database</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.System#IDisposable#Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamDatabase.CheckDisposed">
+            <summary>
+            Checks the disposed.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            Thrown when the object is already disposed.
+            </exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Key">
+            <summary>
+            This collection is used to construct keys using generic values for each
+            key segment comprising the key.  Each key is NOT tied to any specific
+            schema so the same key could be used with different indices.  However,
+            the key must be compatible with the index with which it is used or else
+            an argument exception will be thrown.  Type coercion will be performed
+            as appropriate for each key segment when the key is used with an index
+            based on the type of each key segment in the key versus the type of each
+            key column in that index.  If type coercion fails, an invalid cast
+            exception will be thrown when the key is used.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Key.prefix">
+            <summary>
+            The prefix
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Key.wildcard">
+            <summary>
+            The wildcard
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Key.Start">
+            <summary>
+            Gets a key that can be used to represent the start of an index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Key.End">
+            <summary>
+            Gets a key that can be used to represent the end of an index.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Key.HasPrefix">
+            <summary>
+            Gets a value indicating whether [has prefix].
+            </summary>
+            <value>
+              <c>true</c> if [has prefix]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Key.HasWildcard">
+            <summary>
+            Gets a value indicating whether [has wildcard].
+            </summary>
+            <value>
+              <c>true</c> if [has wildcard]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Key.Compose(System.Object[])">
+            <summary>
+            Returns a key containing one ordinary key segment per given value.
+            </summary>
+            <param name="values">the values for each key column that will be used to compose the key</param>
+            <returns>A key containing one ordinary key segment per given value.</returns>
+            <seealso cref="M:Microsoft.Database.Isam.Key.ComposeWildcard(System.Object[])"/>
+            <seealso cref="M:Microsoft.Database.Isam.Key.ComposePrefix(System.Object[])"/>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Key.ComposePrefix(System.Object[])">
+            <summary>
+            Returns a key containing one ordinary key segment per given value
+            except that the last given value becomes a prefix key segment.
+            </summary>
+            <param name="values">the values for each key column that will be used to compose the key</param>
+            <returns>A key containing one ordinary key segment per given value
+            except that the last given value becomes a prefix key segment.</returns>
+            <seealso cref="M:Microsoft.Database.Isam.Key.Compose(System.Object[])"/>
+            <seealso cref="M:Microsoft.Database.Isam.Key.ComposeWildcard(System.Object[])"/>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Key.ComposeWildcard(System.Object[])">
+            <summary>
+            Returns a key containing one ordinary key segment per given value
+            and one wildcard key segment.
+            </summary>
+            <param name="values">the values for each key column that will be used to compose the key</param>
+            <returns>A key containing one ordinary key segment per given value
+            and one wildcard key segment.</returns>
+            <seealso cref="M:Microsoft.Database.Isam.Key.Compose(System.Object[])"/>
+            <seealso cref="M:Microsoft.Database.Isam.Key.ComposePrefix(System.Object[])"/>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Key.Add(System.Object)">
+            <summary>
+            Sets the next key segment of the key to the given value.
+            </summary>
+            <param name="value">the value for the next key column that will be used to compose the key</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Key.AddPrefix(System.Object)">
+            <summary>
+            Sets the next key segment of the key to the given value as a
+            prefix.  A prefix key segment will match any column value that
+            has a prefix that matches the given value.
+            </summary>
+            <param name="value">the value for the next key column that will be used to compose the key</param>
+            <remarks>
+            Prefix key segments only make sense in the context of a variable
+            length column.  Any other use will result in an argument exception
+            when the key is used.
+            <para>
+            A key may contain only one prefix key segment.  Further, a prefix
+            key segment may not be followed by an ordinary key segment.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Key.AddWildcard">
+            <summary>
+            Sets the next key segment of the key to the given value as a
+            wildcard.  A wildcard key segment will match any column value.
+            </summary>
+            <remarks>
+            A key may contain any number of wildcard key segments.  Further, a
+            wildcard key segment may be followed only by other wildcard key
+            segments.  Finally, extra wildcard key segments will be ignored
+            when the key is used.
+            <para>
+            A key with no key segments acts as if it contains a single wildcard
+            key segment.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Key.OnValidate(System.Object)">
+            <summary>
+            Performs additional custom processes when validating a value.
+            </summary>
+            <param name="value">The object to validate.</param>
+            <exception cref="T:System.ArgumentException">
+            value must be of type KeySegment;value
+            or
+            value cannot be a prefix if the key already contains a prefix;value
+            or
+            value cannot be a prefix if the key already contains a wildcard;value
+            or
+            value must be a wildcard if the key already contains a prefix;value
+            or
+            value must be a wildcard if the key already contains a wildcard;value
+            </exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.KeyColumn">
+            <summary>
+            A Key Column is a segment of an index used to determine the order of
+            records in a table as seen through that index.  This object can be used
+            to explore the schema of an existing index and to create the definition
+            of a new index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeyColumn.columnid">
+            <summary>
+            The columnid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeyColumn.name">
+            <summary>
+            The name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeyColumn.isAscending">
+            <summary>
+            The is ascending
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeyColumn.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumn.#ctor(System.String,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.KeyColumn"/> class. 
+            For use when defining a new key column in an
+            index.
+            </summary>
+            <param name="name">
+            The name of the column in the table to be used for this key column.
+            </param>
+            <param name="isAscending">
+            True if the sort order of this key column is ascending, false if descending.
+            </param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumn.#ctor(Microsoft.Database.Isam.Columnid,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.KeyColumn"/> class.
+            </summary>
+            <param name="columnid">The columnid.</param>
+            <param name="isAscending">if set to <c>true</c> [is ascending].</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumn.Columnid">
+            <summary>
+            Gets the column ID of the column used for this key column.
+            </summary>
+            <remarks>
+            The column ID is undefined if this key column will be used to
+            define a new index
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumn.Name">
+            <summary>
+            Gets or sets the name of the column used for this key column.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumn.Type">
+            <summary>
+            Gets the type of the column used for this key column.
+            </summary>
+            <remarks>
+            The column type is undefined if this key column will be used to
+            define a new index.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumn.IsAscending">
+            <summary>
+            Gets or sets a value indicating whether the sort order of the key column is ascending.
+            </summary>
+            <value>
+              <c>true</c> if [is ascending]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumn.IsReadOnly">
+            <summary>
+            Gets a value indicating whether [is read only].
+            </summary>
+            <value>
+              <c>true</c> if [is read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumn.ReadOnly">
+            <summary>
+            Sets a value indicating whether [read only].
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumn.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this key column definition cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.KeyColumnCollection">
+            <summary>
+            A class used by <see cref="T:Microsoft.Database.Isam.IndexDefinition"/> to represent which
+            columns are used by a particular index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeyColumnCollection.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumnCollection.ReadOnly">
+            <summary>
+            Gets or sets a value indicating whether the collection is Read-Only.
+            </summary>
+            <value>
+              <c>true</c> if [read only]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeyColumnCollection.Item(System.Int32)">
+            <summary>
+            Gets or sets the element at the specified index.
+            </summary>
+            <param name="index">The index.</param>
+            <returns>The element at the specified index.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.Add(Microsoft.Database.Isam.KeyColumn)">
+            <summary>
+            Adds the specified key column.
+            </summary>
+            <param name="keyColumn">The key column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.IndexOf(Microsoft.Database.Isam.KeyColumn)">
+            <summary>
+            Gets the index of the specified <see cref="T:Microsoft.Database.Isam.KeyColumn"/>.
+            </summary>
+            <param name="keyColumn">The key column.</param>
+            <returns>An index to be used.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.Insert(System.Int32,Microsoft.Database.Isam.KeyColumn)">
+            <summary>
+            Inserts the specified index.
+            </summary>
+            <param name="index">The index.</param>
+            <param name="keyColumn">The key column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.Remove(Microsoft.Database.Isam.KeyColumn)">
+            <summary>
+            Removes the specified key column.
+            </summary>
+            <param name="keyColumn">The key column.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.Contains(Microsoft.Database.Isam.KeyColumn)">
+            <summary>
+            Determines whether the specified <see cref="T:Microsoft.Database.Isam.KeyColumn"/> is present in this collection.
+            </summary>
+            <param name="keyColumn">The key column.</param>
+            <returns>Whether the specified <see cref="T:Microsoft.Database.Isam.KeyColumn"/> is present in this collection.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.OnClear">
+            <summary>
+            Performs additional custom processes when clearing the contents of the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.OnInsert(System.Int32,System.Object)">
+            <summary>
+            Performs additional custom processes before inserting a new element into the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which to insert <paramref name="value" />.</param>
+            <param name="value">The new value of the element at <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.OnRemove(System.Int32,System.Object)">
+            <summary>
+            Performs additional custom processes when removing an element from the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="value" /> can be found.</param>
+            <param name="value">The value of the element to remove from <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.OnSet(System.Int32,System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before setting a value in the <see cref="T:System.Collections.CollectionBase" /> instance.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="oldValue" /> can be found.</param>
+            <param name="oldValue">The value to replace with <paramref name="newValue" />.</param>
+            <param name="newValue">The new value of the element at <paramref name="index" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.OnValidate(System.Object)">
+            <summary>
+            Performs additional custom processes when validating a value.
+            </summary>
+            <param name="value">The object to validate.</param>
+            <exception cref="T:System.ArgumentException">value must be of type KeyColumn;value</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeyColumnCollection.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this key column collection cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.KeySegment">
+            <summary>
+            A key is composed of a collection of key segments.  Each key segment
+            describes the value of a corresponding key column in an index.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeySegment.value">
+            <summary>
+            The value
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeySegment.prefix">
+            <summary>
+            The prefix
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeySegment.wildcard">
+            <summary>
+            The wildcard
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.KeySegment.wildcardNext">
+            <summary>
+            Whether the next <see cref="T:Microsoft.Database.Isam.KeySegment"/> is a wildcard.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeySegment.#ctor(System.Object,System.Boolean,System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.KeySegment"/> class.
+            </summary>
+            <param name="value">The value.</param>
+            <param name="prefix">if set to <c>true</c> [prefix].</param>
+            <param name="wildcard">if set to <c>true</c> [wildcard].</param>
+            <param name="wildcardNext">if set to <c>true</c> [wildcard next].</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeySegment.Value">
+            <summary>
+            Gets the value of this key segment.
+            </summary>
+            <value>
+            The value.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeySegment.Prefix">
+            <summary>
+            Gets a value indicating whether the value of
+            this key segment can match any value of a corresponding key column
+            in an index that starts with its value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.KeySegment.Wildcard">
+            <summary>
+            Gets a value indicating whether the value of
+            this key segment can match any value of a corresponding key column
+            in an index.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.KeySegment.WildcardIsNext">
+            <summary>
+            Gets whether the next <see cref="T:Microsoft.Database.Isam.KeySegment"/> is a wildcard.
+            </summary>
+            <returns>
+            Whether the next <see cref="T:Microsoft.Database.Isam.KeySegment"/> is a wildcard.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Location">
+            <summary>
+            A secondary/primary key location that precisely identifies a given record
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Location.indexName">
+            <summary>
+            The index name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Location.primaryBookmark">
+            <summary>
+            The primary bookmark
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Location.secondaryBookmark">
+            <summary>
+            The secondary bookmark
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Location.#ctor(System.String,System.Byte[],System.Byte[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.Location" /> class.
+            </summary>
+            <param name="indexName">Name of the index.</param>
+            <param name="primaryBookmark">The primary bookmark.</param>
+            <param name="secondaryBookmark">The secondary bookmark.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Location.IndexName">
+            <summary>
+            Gets the name of the index.
+            </summary>
+            <value>
+            The name of the index.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Location.PrimaryBookmark">
+            <summary>
+            Gets the primary bookmark.
+            </summary>
+            <value>
+            The primary bookmark.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Location.SecondaryBookmark">
+            <summary>
+            Gets the secondary bookmark.
+            </summary>
+            <value>
+            The secondary bookmark.
+            </value>
+        </member>
+        <member name="T:Microsoft.Database.Isam.MatchCriteria">
+            <summary>
+            Choices for Cursor.FindRecords
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.MatchCriteria.EqualTo">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            start of the index that exactly matches the search key.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.MatchCriteria.LessThan">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            end of the index that is less than an index entry that would
+            exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.MatchCriteria.LessThanOrEqualTo">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            end of the index that is less than or equal to an index entry
+            that would exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.MatchCriteria.GreaterThanOrEqualTo">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            start of the index that is greater than or equal to an index
+            entry that would exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.MatchCriteria.GreaterThan">
+            <summary>
+            The cursor will be positioned at the index entry closest to the
+            start of the index that is greater than an index entry that
+            would exactly match the search criteria.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Win32.NativeMethods">
+            <summary>
+            P/Invoke methods for Win32 functions.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Win32.NativeMethods.WinCoreProcessThreads">
+            <summary>
+            The name of the DLL that holds the Core process/threads API set.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Position">
+            <summary>
+            Describes an (approximate) ordinal position in a table
+            </summary>
+            <remarks>
+            A Position can be viewed as a non-simplified fractional position
+            </remarks>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Position.entry">
+            <summary>
+            The entry
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Position.totalEntries">
+            <summary>
+            The total entries
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Position.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.Position" /> class.
+            </summary>
+            <param name="entry">The entry.</param>
+            <param name="totalEntries">The total number of entries.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Position.Entry">
+            <summary>
+            Gets the position in the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Position.TotalEntries">
+            <summary>
+            Gets the total number of records in the table.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.RecordEnumerator">
+            <summary>
+            Enumerates the fields for a given record.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.RecordEnumerator.enumerator">
+            <summary>
+            The enumerator
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.RecordEnumerator.#ctor(System.Collections.IDictionaryEnumerator)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.RecordEnumerator"/> class.
+            </summary>
+            <param name="enumerator">The enumerator.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.RecordEnumerator.Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.RecordEnumerator.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.RecordEnumerator.Reset">
+            <summary>
+            Sets the enumerator to its initial position, which is before the first element in the collection.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.RecordEnumerator.MoveNext">
+            <summary>
+            Advances the enumerator to the next element of the collection.
+            </summary>
+            <returns>
+            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IsamSession">
+            <summary>
+            A Session is the transactional context for the ISAM.  It can be used to
+            begin, commit, or abort transactions that influence when changes made
+            to databases are kept or discarded.
+            <para>
+            The session object currently also controls which databases can be
+            accessed by the ISAM.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSession.isamInstance">
+            <summary>
+            The instance
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSession.sesid">
+            <summary>
+            The sesid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSession.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSession.disposed">
+            <summary>
+            The disposed
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSession.temporaryDatabase">
+            <summary>
+            The temporary database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSession.transactionLevel">
+            <summary>
+            The transaction level
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSession.transactionLevelID">
+            <summary>
+            The transaction level identifier
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.#ctor(Microsoft.Database.Isam.IsamInstance)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamSession"/> class.
+            </summary>
+            <param name="isamInstance">The instance.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.Finalize">
+            <summary>
+            Finalizes an instance of the IsamSession class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSession.IsamInstance">
+            <summary>
+            Gets the instance that created this session.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSession.TransactionID">
+            <summary>
+            Gets the ID of the session's current transaction.
+            </summary>
+            <remarks>
+            The transaction ID is incremented every time the session's current
+            transaction save point (level) reaches zero such that the session
+            is no longer considered to be in a transaction.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSession.TransactionLevel">
+            <summary>
+            Gets the save point (level) of the session's current transaction.
+            </summary>
+            <remarks>
+            Every time a new transaction is begun, the save point (level) of
+            the session's current transaction is increased.  Every time a
+            transaction is successfully committed or aborted, the save point
+            (level) of the session's current transaction is decreased.  If the
+            save point (level) of the session's current transaction is zero
+            then the session is not considered to be in a transaction.
+            However, individual operations performed using the session will
+            still be in a transaction.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSession.Sesid">
+            <summary>
+            Gets the sesid.
+            </summary>
+            <value>
+            The sesid.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSession.Disposed">
+            <summary>
+            Gets or sets a value indicating whether [disposed].
+            </summary>
+            <value>
+              <c>true</c> if [disposed]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.CreateDatabase(System.String)">
+            <summary>
+            Creates a new database at the specified location
+            </summary>
+            <param name="databaseName">The file name (relative or absolute) at which the database will be created</param>
+            <remarks>
+            The new database will automatically be attached to the instance.
+            See Session.AttachDatabase for more information.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.AttachDatabase(System.String)">
+            <summary>
+            Attaches an existing database at the specified location
+            </summary>
+            <param name="databaseName">The file name (relative or absolute) at which the database will be attached</param>
+            <remarks>
+            Attaching a database to the instance enables that database to be
+            opened for access.  When a database is attached, its file is
+            opened and so must be available to be locked as required.  The
+            file will be held open until the database is detached or until the
+            instance is disposed.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.DetachDatabase(System.String)">
+            <summary>
+            Detaches an attached database at the specified location
+            </summary>
+            <param name="databaseName">The file name (relative or absolute) at which the database will be detached</param>
+            <remarks>
+            Detaching a database from the instance will close its file and
+            will make it no longer possible to open that database.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.Exists(System.String)">
+            <summary>
+            Determines if there is a database at the specified location
+            </summary>
+            <param name="databaseName">The file name (relative or absolute) at which the database may exist</param>
+            <returns>true if the database exists and is a valid database file, false otherwise</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.OpenDatabase(System.String)">
+            <summary>
+            Opens the database.
+            </summary>
+            <param name="databaseName">The file name (relative or absolute) at which the database will be opened</param>
+            <returns>
+            a Database object representing the database for this session
+            </returns>
+            <remarks>
+            A database must first be attached (or created) before it can be
+            opened successfully.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.OpenTemporaryDatabase">
+            <summary>
+            Opens the temporary database.
+            </summary>
+            <returns>
+            A TemporaryDatabase object representing the temporary database for this session
+            </returns>
+            <remarks>
+            Only one temporary database is supported per instance.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.BeginTransaction">
+            <summary>
+            Begins a new save point (level) for the current transaction on this
+            session.  Any changes made to the database for this save point
+            (level) may later be kept or discarded by committing or aborting the
+            save point (level).
+            </summary>
+            <remarks>
+            Currently, there is a limit to how many save points (levels) are
+            supported by the ISAM.  Approximately seven save points (levels)
+            are supported.  Some ISAM functions also use some of these so the
+            effective limit will vary with circumstance.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.CommitTransaction">
+            <summary>
+            Commits the current save point (level) of the current transaction
+            on this session.  All changes made to the database for this save
+            point (level) will be kept.
+            </summary>
+            <remarks>
+            <para>
+            It is illegal to call this method when the session is not currently
+            in a transaction.  Use Session.TransactionLevel to determine the
+            current transaction state of a session.
+            </para>
+            <para>
+            Changes made to the database will become permanent if and only if
+            those changes are committed to save point (level) zero.
+            </para>
+            <para>
+            A commit to save point (level) zero is guaranteed to be persisted
+            to the database upon completion of this method.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.CommitTransaction(System.Boolean)">
+            <summary>
+            Commits the current save point (level) of the current transaction
+            on this session.  All changes made to the database for this save
+            point (level) will be kept.
+            </summary>
+            <param name="durableCommit">
+            When true, a commit to save point (level) zero is guaranteed to be
+            persisted to the database upon completion of this method.
+            </param>
+            <remarks>
+            <para>
+            It is illegal to call this method when the session is not currently
+            in a transaction.  Use Session.TransactionLevel to determine the
+            current transaction state of a session.
+            </para>
+            <para>
+            A commit to save point (level) zero is guaranteed to be persisted
+            to the database upon completion of this method only if
+            durableCommit is true.  If durableCommit is false then the changes
+            will only be persisted to the database if their transaction log
+            entries happen to be written to disk before a crash or if the
+            database is shut down cleanly.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.RollbackTransaction">
+            <summary>
+            Aborts the current save point (level) of the current transaction on
+            this session.  All changes made to the database for this save point
+            (level) will be discarded.
+            </summary>
+            <remarks>
+            It is illegal to call this method when the session is not currently
+            in a transaction.  Use Session.TransactionLevel to determine the
+            current transaction state of a session.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.AbortTransaction">
+            <summary>
+            Aborts the current save point (level) of the current transaction on
+            this session.  All changes made to the database for this save point
+            (level) will be discarded.
+            </summary>
+            <remarks>
+            It is illegal to call this method when the session is not currently
+            in a transaction.  Use Session.TransactionLevel to determine the
+            current transaction state of a session.
+            <para>
+            Session.AbortTransaction is an alias for
+            <see cref="M:Microsoft.Database.Isam.IsamSession.RollbackTransaction"/>.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.System#IDisposable#Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.TransactionLevelID(System.Int64)">
+            <summary>Gets the Transaction ID at the specifed Transaction Level.
+            </summary>
+            <param name="level">The Transaction Level.</param>
+            <returns>The Transaction ID at the specifed Transaction Level.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSession.CheckDisposed">
+            <summary>
+            Checks whether this object is disposed.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">If the object has already been disposed.</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IsamSystemParameters">
+            <summary>
+            Properties for per-instance system parameters
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamSystemParameters.instance">
+            <summary>
+            The instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamSystemParameters.#ctor(Microsoft.Database.Isam.IsamInstance)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamSystemParameters"/> class.
+            </summary>
+            <param name="instance">The instance.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.SystemPath">
+            <summary>
+            Gets or sets system parameter which is a string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.TempPath">
+            <summary>
+            Gets or sets system parameter which is a string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.LogFilePath">
+            <summary>
+            Gets or sets system parameter which is a string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.BaseName">
+            <summary>
+            Gets or sets system parameter which is a string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.EventSource">
+            <summary>
+            Gets or sets system parameter which is a string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.MaxSessions">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.MaxOpenTables">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.MaxCursors">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.MaxVerPages">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.MaxTemporaryTables">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.LogFileSize">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.LogBuffers">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.CircularLog">
+            <summary>
+            Gets or sets a value indicating whether the underlying system parameter is true.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.DbExtensionSize">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.PageTempDBMin">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.CacheSizeMax">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.CheckpointDepthMax">
+            <summary>
+            Gets or sets a system parameter which is an integer type (long).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.OutstandingIOMax">
+            <summary>
+            Gets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.StartFlushThreshold">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.StopFlushThreshold">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.Recovery">
+            <summary>
+            Gets or sets system parameter which is a string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.EnableOnlineDefrag">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.CacheSize">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.EnableIndexChecking">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.EventSourceKey">
+            <summary>
+            Gets or sets system parameter which is a string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.NoInformationEvent">
+            <summary>
+            Gets or sets a value indicating whether the underlying system parameter is true.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.EventLoggingLevel">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.DeleteOutOfRangeLogs">
+            <summary>
+            Gets or sets a value indicating whether the underlying system parameter is true.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.EnableIndexCleanup">
+            <summary>
+            Gets or sets a value indicating whether the underlying system parameter is true.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.CacheSizeMin">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.PreferredVerPages">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.DatabasePageSize">
+            <summary>
+            Gets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.CleanupMismatchedLogFiles">
+            <summary>
+            Gets or sets a value indicating whether the underlying system parameter is true.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.ExceptionAction">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.CreatePathIfNotExist">
+            <summary>
+            Gets or sets a value indicating whether the underlying system parameter is true.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.OneDatabasePerSession">
+            <summary>
+            Gets or sets a value indicating whether the underlying system parameter is true.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.MaxInstances">
+            <summary>
+            Gets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.VersionStoreTaskQueueMax">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.Configuration">
+            <summary>
+            Gets or sets a system parameter which is an integer type (int).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamSystemParameters.KeyMost">
+            <summary>
+            Gets a system parameter which is an integer type (long).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TableCollection">
+            <summary>
+            Manages a collection of tables for a database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableCollection.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableCollection.readOnly">
+            <summary>
+            The read only
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableCollection.cachedTableDefinition">
+            <summary>
+            The cached table definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableCollection.tableDefinition">
+            <summary>
+            The table definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableCollection.tableUpdateID">
+            <summary>
+            The table update identifier
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TableCollection"/> class. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.#ctor(Microsoft.Database.Isam.IsamDatabase)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TableCollection"/> class.
+            </summary>
+            <param name="database">The database.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableCollection.IsFixedSize">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.
+            </summary>
+            <returns>true if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableCollection.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object is read-only.
+            </summary>
+            <returns>true if the <see cref="T:System.Collections.IDictionary" /> object is read-only; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableCollection.Names">
+            <summary>
+            Gets the names of the tables.
+            </summary>
+            <value>
+            The names.
+            </value>
+            <exception cref="T:System.InvalidOperationException">the names of the tables in this table collection cannot be enumerated in this manner when accessing the table collection of a database</exception>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableCollection.Item(System.String)">
+            <summary>
+            Fetches the Table Definition for the specified table name
+            </summary>
+            <value>
+            The <see cref="T:Microsoft.Database.Isam.TableDefinition"/>.
+            </value>
+            <param name="tableName">Name of the table.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.TableDefinition"/> object representing the specified table.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.Contains(System.String)">
+            <summary>
+            Determines if the database contains a table with the given name
+            </summary>
+            <param name="tableName">Name of the table.</param>
+            <returns>Whether the named table exists in this database.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the tables in this database.
+            </summary>
+            <returns>An enumerator containing all the tables in this database.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the tables in this database
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.Add(Microsoft.Database.Isam.TableDefinition)">
+            <summary>
+            Adds the specified table definition.
+            </summary>
+            <param name="tableDefinition">The table definition.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.Remove(System.String)">
+            <summary>
+            Removes the specified table name.
+            </summary>
+            <param name="tableName">Name of the table.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.OnClear">
+            <summary>
+            Performs additional custom processes before clearing the contents of the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.OnInsert(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before inserting a new element into the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to insert.</param>
+            <param name="value">The value of the element to insert.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.OnRemove(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before removing an element from the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to remove.</param>
+            <param name="value">The value of the element to remove.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.OnSet(System.Object,System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes before setting a value in the <see cref="T:System.Collections.DictionaryBase" /> instance.
+            </summary>
+            <param name="key">The key of the element to locate.</param>
+            <param name="oldValue">The old value of the element associated with <paramref name="key" />.</param>
+            <param name="newValue">The new value of the element associated with <paramref name="key" />.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.OnValidate(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes when validating the element with the specified key and value.
+            </summary>
+            <param name="key">The key of the element to validate.</param>
+            <param name="value">The value of the element to validate.</param>
+            <exception cref="T:System.ArgumentException">
+            key must be of type System.String;key
+            or
+            value must be of type TableDefinition;value
+            or
+            key must match value.Name;key
+            </exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableCollection.CheckReadOnly">
+            <summary>
+            Checks the read only.
+            </summary>
+            <exception cref="T:System.NotSupportedException">this table collection cannot be changed</exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TableDefinition">
+            <summary>
+            A Table Definition contains the schema for a single table.  It can be
+            used to explore the schema for an existing table, modify the schema
+            for an existing table, and to create the definition for a new table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableDefinition.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableDefinition.name">
+            <summary>
+            The name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableDefinition.tableType">
+            <summary>
+            The table type
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableDefinition.columnCollection">
+            <summary>
+            The column collection
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableDefinition.indexCollection">
+            <summary>
+            The index collection
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TableDefinition"/> class. 
+            For use when defining a new table.
+            </summary>
+            <param name="name">the name of the table to be defined</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.#ctor(System.String,Microsoft.Database.Isam.TableType)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TableDefinition" /> class.
+            For use when defining a new table.
+            </summary>
+            <param name="name">the name of the table to be defined</param>
+            <param name="tableType">Type of the table.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TableDefinition"/> class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableDefinition.Name">
+            <summary>
+            Gets the name of the table.
+            </summary>
+            <value>
+            The name.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableDefinition.Type">
+            <summary>
+            Gets the type of the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableDefinition.Columns">
+            <summary>
+            Gets a collection containing the table's columns.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableDefinition.Indices">
+            <summary>
+            Gets a collection containing the tables indices.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableDefinition.IsamSession">
+            <summary>
+            Gets the session.
+            </summary>
+            <value>
+            The session.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableDefinition.Database">
+            <summary>
+            Gets the database.
+            </summary>
+            <value>
+            The database.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.AddColumn(Microsoft.Database.Isam.ColumnDefinition)">
+            <summary>
+            Creates a single column with the specified definition in the table
+            underlying this table definition
+            </summary>
+            <param name="columnDefinition">The column definition.</param>
+            <returns>The <see cref="T:Microsoft.Database.Isam.Columnid"/> object corresponding to the
+            newly-added column.</returns>
+            <remarks>
+            It is currently not possible to add an AutoIncrement column to a
+            table that is being used by a Cursor.  All such Cursors must be
+            disposed before the column can be successfully added.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.DropColumn(System.String)">
+            <summary>
+            Deletes a single column from the table underlying this table
+            definition
+            </summary>
+            <param name="columnName">Name of the column.</param>
+            <remarks>
+            It is not possible to delete a column that is currently referenced
+            by an index over this table.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.CreateIndex(Microsoft.Database.Isam.IndexDefinition)">
+            <summary>
+            Creates a single index with the specified definition in the table
+            underlying this table definition
+            </summary>
+            <param name="indexDefinition">The index definition.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.DropIndex(System.String)">
+            <summary>
+            Deletes a single index from the table underlying this table
+            </summary>
+            <param name="name">The name.</param>
+            <remarks>
+            It is currently not possible to delete an index that is being used
+            by a Cursor as its CurrentIndex.  All such Cursors must either be
+            disposed or set to a different index before the index can be
+            successfully deleted.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.Load(Microsoft.Database.Isam.IsamDatabase,Microsoft.Isam.Esent.Interop.JET_OBJECTLIST)">
+            <summary>
+            Loads the specified table specified in the <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTLIST"/> object.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="objectList">The object list.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.TableDefinition"/> corresponding to the table specified in <paramref name="objectList"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableDefinition.Load(Microsoft.Database.Isam.IsamDatabase,System.String,Microsoft.Isam.Esent.Interop.JET_OBJECTINFO)">
+            <summary>
+            Loads the specified table specified in the <see cref="T:Microsoft.Isam.Esent.Interop.JET_OBJECTINFO"/> object.
+            </summary>
+            <param name="database">The database.</param>
+            <param name="tableName">Name of the table.</param>
+            <param name="objectInfo">The object information.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.TableDefinition"/> corresponding to the table specified in <paramref name="objectInfo"/>.</returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TableEnumerator">
+            <summary>
+            Enumerates the tables in a given database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.database">
+            <summary>
+            The database
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.enumerator">
+            <summary>
+            The enumerator
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.objectList">
+            <summary>
+            The object list
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.moved">
+            <summary>
+            The moved
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.current">
+            <summary>
+            The current
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.tableDefinition">
+            <summary>
+            The table definition
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableEnumerator.tableUpdateID">
+            <summary>
+            The table update identifier
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableEnumerator.#ctor(Microsoft.Database.Isam.IsamDatabase)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TableEnumerator"/> class.
+            </summary>
+            <param name="database">The database.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableEnumerator.#ctor(System.Collections.IDictionaryEnumerator)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TableEnumerator"/> class.
+            </summary>
+            <param name="enumerator">The enumerator.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableEnumerator.Finalize">
+            <summary>
+            Finalizes an instance of the TableEnumerator class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableEnumerator.Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <exception cref="T:System.InvalidOperationException">
+            after last table in database
+            or
+            before first table in database
+            </exception>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TableEnumerator.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableEnumerator.Reset">
+            <summary>
+            Sets the enumerator to its initial position, which is before the first element in the collection.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableEnumerator.MoveNext">
+            <summary>
+            Advances the enumerator to the next element of the collection.
+            </summary>
+            <returns>
+            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TableEnumerator.MoveNext_">
+            <summary>
+            Moves the next_.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TableType">
+            <summary>
+            Table types enumeration
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableType.None">
+            <summary>
+            The empty value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableType.Base">
+            <summary>
+            An ordinary database table.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableType.Sort">
+            <summary>
+            A temporary table that can only be used to sort rows.  A sort is used
+            in two phases:  insert phase and extraction phase.  In the insert
+            phase, rows can only be inserted into the table.  In the extraction
+            phase, rows can only be extracted in order from first to last.  Once
+            all rows have been extracted, the sort can only be dropped.  Temporary
+            tables are volatile.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableType.PreSortTemporary">
+            <summary>
+            A temporary table that is initially created by using a sort.  This
+            table is used in two phases:  insert phase and main phase.  In
+            the insert phase, rows can only be inserted into the table.  When
+            the insert phase is ended by performing any non-insert operation,
+            the rows created during the insert phase are sorted and pushed into
+            the temporary table.  The table then enters the main phase where any
+            operation is allowed.  Temporary tables are volatile.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TableType.Temporary">
+            <summary>
+            An ordinary temporary table.  Any operation is allowed at any time.
+            Temporary tables are volatile.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TemporaryDatabase">
+            <summary>
+            A Database is a file used by the ISAM to store data. It is organized
+            into tables which are in turn comprised of columns and indices and
+            contain data in the form of records. The database's schema can be
+            enumerated and manipulated by this object. Also, the database's
+            tables can be opened for access by this object.
+            <para>
+            A <see cref="T:Microsoft.Database.Isam.TemporaryDatabase"/> is used to access the temporary database. There
+            is one temporary database per instance and its location is configured
+            by Instance.IsamSystemParameters.TempPath. The temporary database is used
+            to store temporary tables.
+            </para>
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TemporaryDatabase.tableCollection">
+            <summary>
+            The table collection
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TemporaryDatabase.tempTableHandleCollection">
+            <summary>
+            The temporary table handle collection
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TemporaryDatabase.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TemporaryDatabase.disposed">
+            <summary>
+            The disposed
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.#ctor(Microsoft.Database.Isam.IsamSession)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TemporaryDatabase"/> class.
+            </summary>
+            <param name="isamSession">The session.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.Finalize">
+            <summary>
+            Finalizes an instance of the TemporaryDatabase class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TemporaryDatabase.Tables">
+            <summary>
+            Gets a collection of tables in the database.
+            </summary>
+            <returns>a collection of tables in the database</returns>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TemporaryDatabase.Disposed">
+            <summary>
+            Gets or sets a value indicating whether [disposed].
+            </summary>
+            <value>
+              <c>true</c> if [disposed]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TemporaryDatabase.TempTableHandles">
+            <summary>
+            Gets the temporary table handles.
+            </summary>
+            <value>
+            The temporary table handles.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.CreateTable(Microsoft.Database.Isam.TableDefinition)">
+            <summary>
+            Creates a single table with the specified definition in the database
+            </summary>
+            <param name="tableDefinition">The table definition.</param>
+            <exception cref="T:Microsoft.Isam.Esent.Interop.EsentTableDuplicateException">
+            Thrown when the table definition overlaps with an already existing table.
+            </exception>
+            <exception cref="T:System.ArgumentException">A MaxKeyLength &gt; 255 is not supported for indices over a temporary table on this version of the database engine.;tableDefinition</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.DropTable(System.String)">
+            <summary>
+            Deletes a single table in the database
+            </summary>
+            <param name="tableName">Name of the table.</param>
+            <exception cref="T:Microsoft.Isam.Esent.Interop.EsentObjectNotFoundException">
+            Thrown when the specified table can't be found.
+            </exception>
+            <exception cref="T:Microsoft.Isam.Esent.Interop.EsentTableInUseException">
+            Thrown when the specified table still has cursors open.
+            </exception>
+            <remarks>
+            It is currently not possible to delete a table that is being used
+            by a Cursor.  All such Cursors must be disposed before the
+            table can be successfully deleted.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.Exists(System.String)">
+            <summary>
+            Determines if a given table exists in the database
+            </summary>
+            <param name="tableName">Name of the table.</param>
+            <returns>
+            true if the table was found, false otherwise
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.OpenCursor(System.String)">
+            <summary>
+            Opens a cursor over the specified table.
+            </summary>
+            <param name="tableName">the name of the table to be opened</param>
+            <returns>a cursor over the specified table in this database</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.System#IDisposable#Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.ReleaseTempTable(System.String,System.Boolean)">
+            <summary>
+            Releases the temporary table.
+            </summary>
+            <param name="tableName">Name of the table.</param>
+            <param name="inInsertMode">if set to <c>true</c> [in insert mode].</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.MakeTableDefinitionToCache(Microsoft.Database.Isam.TableDefinition,Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Database.Isam.TableDefinition"/> object from a <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE"/>
+            object, suitable for caching.
+            </summary>
+            <param name="tableDefinition">The table definition.</param>
+            <param name="openTemporaryTable">The open temporary table.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.TableDefinition"/> object suitable for caching.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.MakeOpenTemporaryTable(Microsoft.Database.Isam.TableDefinition)">
+            <summary>
+            Makes the <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE"/> object to later open it.
+            </summary>
+            <param name="tableDefinition">The table definition.</param>
+            <returns>The newly created <see cref="T:Microsoft.Isam.Esent.Interop.Vista.JET_OPENTEMPORARYTABLE"/> object.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.CheckDisposed">
+            <summary>
+            Checks whether this object is disposed.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">If the object has already been disposed.</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TemporaryDatabase.ValidateTableDefinition(Microsoft.Database.Isam.TableDefinition)">
+            <summary>
+            Validates the table definition.
+            </summary>
+            <param name="tableDefinition">The table definition.</param>
+            <exception cref="T:System.ArgumentException">
+            Illegal name for a temporary table.;tableDefinition
+            or
+            Illegal TableType for a temporary table.;tableDefinition
+            or
+            Temporary tables must have at least one column.;tableDefinition
+            or
+            Illegal name for a column in a temporary table.;tableDefinition
+            or
+            Illegal ColumnFlags for a column in a temporary table.;tableDefinition
+            or
+            Default values are not supported for temporary table columns.;tableDefinition
+            or
+            Temporary tables of type TableType.Sort and TableType.PreSortTemporary must have an index defined.;tableDefinition
+            or
+            Temporary tables may only have a single index defined.;tableDefinition
+            or
+            Illegal name for an index in a temporary table.;tableDefinition
+            or
+            Illegal IndexFlags for an index in a temporary table.;tableDefinition
+            or
+            Illegal or unsupported MaxKeyLength for an index in a temporary table.;tableDefinition
+            or
+            No KeyColumns for an index in a temporary table.;tableDefinition
+            or
+            Too many KeyColumns for an index in a temporary table.;tableDefinition
+            or
+            A KeyColumn for an index in the temporary table refers to a column that doesn't exist.;tableDefinition
+            or
+            Conditional columns are not supported for temporary table indices.;tableDefinition
+            or
+            Temporary tables of type TableType.PreSortTemporary and TableType.Temporary must have a primary index defined.;tableDefinition
+            </exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TempTableHandle">
+            <summary>
+            A wrapper class around Temp Tables.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandle.guid">
+            <summary>
+            The unique identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandle.name">
+            <summary>
+            The name
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandle.sesid">
+            <summary>
+            The sesid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandle.tableid">
+            <summary>
+            The tableid
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandle.inInsertMode">
+            <summary>
+            The in insert mode
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandle.cursorCount">
+            <summary>
+            The cursor count
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandle.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TempTableHandle"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandle.#ctor(System.String,Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TempTableHandle"/> class.
+            </summary>
+            <param name="name">The name.</param>
+            <param name="sesid">The sesid.</param>
+            <param name="tableid">The tableid.</param>
+            <param name="inInsertMode">if set to <c>true</c> [in insert mode].</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandle.Name">
+            <summary>
+            Gets the name of the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandle.Sesid">
+            <summary>
+            Gets the <see cref="T:Microsoft.Isam.Esent.Interop.JET_SESID"/> used to open and access the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandle.Handle">
+            <summary>
+            Gets the handle of the table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandle.InInsertMode">
+            <summary>
+            Gets or sets a value indicating whether the table handle is in insert mode.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandle.CursorCount">
+            <summary>
+            Gets or sets the count of cursors open on this table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandle.Guid">
+            <summary>
+            Gets the GUID of the table.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TempTableHandleCollection">
+            <summary>
+            A class used to store the table handles in this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandleCollection.isKeyGuid">
+            <summary>
+            The is key unique identifier
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleCollection.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TempTableHandleCollection"/> class.
+            </summary>
+            <param name="useGuid">if set to <c>true</c> [use unique identifier].</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandleCollection.IsKeyGuid">
+            <summary>
+            Gets a value indicating whether [is key unique identifier].
+            </summary>
+            <value>
+            <c>true</c> if [is key unique identifier]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandleCollection.Names">
+            <summary>
+            Gets the names.
+            </summary>
+            <value>
+            The names.
+            </value>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandleCollection.Item(System.String)">
+            <summary>
+            Gets or sets the <see cref="T:Microsoft.Database.Isam.TempTableHandle"/> for the specified table name
+            </summary>
+            <value>
+            The <see cref="T:Microsoft.Database.Isam.TempTableHandle"/>.
+            </value>
+            <param name="tableName">Name of the table to get or set.</param>
+            <returns>A <see cref="T:Microsoft.Database.Isam.TempTableHandle"/> for the specified table name.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleCollection.GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the table handles in this database.
+            </summary>
+            <returns>An enumerator containing all the table handles in this database.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Fetches an enumerator containing all the tables in this database
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleCollection.Add(Microsoft.Database.Isam.TempTableHandle)">
+            <summary>
+            Adds the specified temporary table handle.
+            </summary>
+            <param name="tempTableHandle">The temporary table handle.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleCollection.Contains(System.String)">
+            <summary>
+            Determines if the database contains a table with the given name.
+            </summary>
+            <param name="tableName">Name of the table.</param>
+            <returns>Whether the database contains a table with the given name.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleCollection.Remove(System.String)">
+            <summary>
+            Removes the specified table name.
+            </summary>
+            <param name="tableName">Name of the table.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleCollection.OnValidate(System.Object,System.Object)">
+            <summary>
+            Performs additional custom processes when validating the element with the specified key and value.
+            </summary>
+            <param name="key">The key of the element to validate.</param>
+            <param name="value">The value of the element to validate.</param>
+            <exception cref="T:System.ArgumentException">
+            key must be of type System.String;key
+            or
+            value must be of type TempTableHandle;value
+            or
+            key must match value.Guid.ToString();key
+            or
+            key must match value.Name;key
+            </exception>
+        </member>
+        <member name="T:Microsoft.Database.Isam.TempTableHandleEnumerator">
+            <summary>
+            A class used to enumerate all the table handles in this database.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.TempTableHandleEnumerator.enumerator">
+            <summary>
+            The enumerator
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleEnumerator.#ctor(System.Collections.IDictionaryEnumerator)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.TempTableHandleEnumerator"/> class.
+            </summary>
+            <param name="enumerator">The enumerator.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleEnumerator.Finalize">
+            <summary>
+            Finalizes an instance of the TempTableHandleEnumerator class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandleEnumerator.Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the type safe version that may not work in other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.TempTableHandleEnumerator.System#Collections#IEnumerator#Current">
+            <summary>
+            Gets the current element in the collection.
+            </summary>
+            <returns>The current element in the collection.</returns>
+            <remarks>
+            This is the standard version that will work with other CLR
+            languages.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleEnumerator.Reset">
+            <summary>
+            Sets the enumerator to its initial position, which is before the first element in the collection.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.TempTableHandleEnumerator.MoveNext">
+            <summary>
+            Advances the enumerator to the next element of the collection.
+            </summary>
+            <returns>
+            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+            </returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.IsamTransaction">
+             <summary>
+             A IsamTransaction object represents a single save point of a transaction
+             that is begun on a Session object.  This object is not required to
+             begin, commit, or abort a transaction as this can be done directly
+             on the Session object.  However, this object is very useful for making
+             convenient code constructs involving transactions with the "using"
+             keyword in C# like this:
+             <code>
+                 using( IsamTransaction t = new IsamTransaction( session ) )
+                 {
+                     /* do some work */
+            
+                     /* save the work */
+                     t.Commit();
+                 }
+             </code>
+             </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamTransaction.isamSession">
+            <summary>
+            The session
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamTransaction.transactionLevel">
+            <summary>
+            The transaction level
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamTransaction.transactionLevelID">
+            <summary>
+            The transaction level identifier
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamTransaction.cleanup">
+            <summary>
+            The cleanup
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.IsamTransaction.disposed">
+            <summary>
+            The disposed
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.#ctor(Microsoft.Database.Isam.IsamSession)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamTransaction"/> class. 
+            Begin a transaction on the given session.
+            </summary>
+            <param name="isamSession">
+            The session we will use for the transaction.
+            </param>
+            <remarks>
+            If this transaction is not committed before this object is disposed
+            then the transaction will automatically be aborted.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.#ctor(Microsoft.Database.Isam.IsamSession,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Database.Isam.IsamTransaction"/> class. 
+            Joins the current transaction on the given session.  If the session
+            is not currently in a transaction then a new transaction will be
+            begun.
+            </summary>
+            <param name="isamSession">
+            The session we will use for the transaction.
+            </param>
+            <param name="join">
+            If true, the current transaction on the session will be joined.  If false or if there is no current transaction then a new transaction will be begun.
+            </param>
+            <remarks>
+            If an existing transaction is joined, then committing or aborting
+            this transaction will have no effect on the joined transaction.  If
+            a new transaction was begun then these actions will work normally.
+            <para>
+            If this transaction is not committed before this object is disposed
+            then the transaction will automatically be aborted.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.Finalize">
+            <summary>
+            Finalizes an instance of the IsamTransaction class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamTransaction.TransactionLevel">
+            <summary>
+            Gets the save point (level) for this transaction.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.IsamTransaction.Disposed">
+            <summary>
+            Gets or sets a value indicating whether [disposed].
+            </summary>
+            <value>
+              <c>true</c> if [disposed]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.Commit">
+            <summary>
+            Commits the save point (level) represented by this transaction on
+            this session.  All changes made to the database for this save point
+            (level) will be kept.
+            </summary>
+            <remarks>
+            Changes made to the database will become permanent if and only if
+            those changes are committed to save point (level) zero.
+            <para>
+            A commit to save point (level) zero is guaranteed to be persisted
+            to the database upon completion of this method.
+            </para>
+            <para>
+            The transaction object will be disposed as a side effect of this
+            call.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.Commit(System.Boolean)">
+            <summary>
+            Commits the save point (level) represented by this transaction on
+            this session.  All changes made to the database for this save point
+            (level) will be kept.
+            </summary>
+            <param name="durableCommit">When true, a commit to save point (level) zero is guaranteed to be persisted to the database upon completion of this method.</param>
+            <remarks>
+            Changes made to the database will become permanent if and only if
+            those changes are committed to save point (level) zero.
+            <para>
+            A commit to save point (level) zero is guaranteed to be persisted
+            to the database upon completion of this method only if
+            durableCommit is true.  If durableCommit is false then the changes
+            will only be persisted to the database if their transaction log
+            entries happen to be written to disk before a crash or if the
+            database is shut down cleanly.
+            </para>
+            <para>
+            The transaction object will be disposed as a side effect of this
+            call.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.Rollback">
+            <summary>
+            Aborts the save point (level) represented by this transaction on
+            this session.  All changes made to the database for this save point
+            (level) will be discarded.
+            </summary>
+            <remarks>
+            The transaction object will be disposed as a side effect of this
+            call.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.Abort">
+            <summary>
+            Aborts the save point (level) represented by this transaction on
+            this session.  All changes made to the database for this save point
+            (level) will be discarded.
+            </summary>
+            <remarks>
+            The transaction object will be disposed as a side effect of this
+            call.
+            <para>
+            IsamTransaction.Abort is an alias for <see cref="M:Microsoft.Database.Isam.IsamTransaction.Rollback"/>.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.System#IDisposable#Dispose">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.CheckDisposed">
+            <summary>
+            Checks whether this object is disposed.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">If the object has already been disposed.</exception>
+        </member>
+        <member name="M:Microsoft.Database.Isam.IsamTransaction.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="T:Microsoft.Database.Isam.UnicodeIndexFlags">
+            <summary>
+            Flags for unicode index creation
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.UnicodeIndexFlags.None">
+            <summary>
+            No options.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.UnicodeIndexFlags.CaseInsensitive">
+            <summary>
+            Ignore case.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.UnicodeIndexFlags.AccentInsensitive">
+            <summary>
+            Ignore nonspacing chars.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.UnicodeIndexFlags.IgnoreSymbols">
+            <summary>
+            Ignore symbols.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.UnicodeIndexFlags.KanaInsensitive">
+            <summary>
+            Ignore kanatype.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.UnicodeIndexFlags.WidthInsensitive">
+            <summary>
+            Ignore width.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.UnicodeIndexFlags.StringSort">
+            <summary>
+            Treat punctuation the same as symbols.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Config.TryGetParamDelegate">
+            <summary>
+            A delegate type that is used by the config classes to change the parameter get behaviour when the config set is alive (is associated with a container).
+            </summary>
+            <param name="key">The parameter id.</param>
+            <param name="value">The parameter value.</param>
+            <returns>True if the parameter's value was read and returned. False otherwise.</returns>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Config.ConfigSetBase">
+            <summary>
+            Base class for a config set.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.#ctor">
+            <summary>
+            Initializes a new instance of the ConfigSetBase class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.ConfigSetBase.ParamStore">
+            <summary>
+            Gets or sets the dictionary containing all config parameters.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.ConfigSetBase.SetParamDelegate">
+            <summary>
+            Gets or sets the delegate used by config sets to update parameters.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.ConfigSetBase.GetParamDelegate">
+            <summary>
+            Gets or sets the delegate used by config sets to get parameter values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.ConfigSetBase.Item(System.Int32)">
+            <summary>
+            Gets a particular config parameter's value.
+            </summary>
+            <param name="key">The parameter to get.</param>
+            <returns>The requested parameter's value.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.TryGetValue(System.Int32,System.Object@)">
+            <summary>
+            Gets a particular config parameter's value.
+            </summary>
+            <param name="key">The parameter to get.</param>
+            <param name="value">The requested parameter's value.</param>
+            <returns>true if the value was found, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.Merge(Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Merges two config sets into one and throws an exception if there are any conflicts.
+            </summary>
+            <param name="source">The source config set to user.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.Merge(Microsoft.Database.Isam.Config.IConfigSet,Microsoft.Database.Isam.Config.MergeRules)">
+            <summary>
+            Merges two config sets into one.
+            </summary>
+            <param name="source">The source config set to user.</param>
+            <param name="mergeRule">The merge rule to use.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.GetEnumerator">
+            <summary>
+            Returns an enumerator over the config set.
+            </summary>
+            <returns>The enumerator.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator over the config set.
+            </summary>
+            <returns>The enumerator.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.GetValueOrDefault``1(Microsoft.Database.Isam.Config.TryGetParamDelegate,System.Int32)">
+            <summary>
+            Gets the value from a IDictionary.TryGetValue style method, or returns the default value for the give type.
+            </summary>
+            <typeparam name="T">The value type.</typeparam>
+            <param name="getParamMethod">Method to call for getting the value.</param>
+            <param name="key">The key identifying the value.</param>
+            <returns>The value or the default value of type T.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.MergeThrowOnConflicts(Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Merges two config sets into one and throws an exception if there are any conflicts.
+            </summary>
+            <param name="source">The source config set to user.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.GetParam``1(System.Int32)">
+            <summary>
+            Helper method to get a config parameter.
+            </summary>
+            <typeparam name="T">The type of the config parameter.</typeparam>
+            <param name="key">The config parameter.</param>
+            <returns>The config parameter, or the default value of type T if the parameter isn't specifed.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetBase.SetParam(System.Int32,System.Object)">
+            <summary>
+            Helper method to set a config parameter.
+            </summary>
+            <param name="key">The config parameter.</param>
+            <param name="value">Value of the config parameter.</param>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Config.ParamDef">
+            <summary>
+            Represents a subset of JET_param definitions required for config classes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.ParamDef.Id">
+            <summary>
+            JET_param Id.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.ParamDef.StaticAfterGlobalInit">
+            <summary>
+            Can be set after global init?
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.ParamDef.ParamType">
+            <summary>
+            Managed type of the parameter.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ParamDef.#ctor(System.Int32,System.Boolean,System.Type)">
+            <summary>
+            Initializes a new instance of the ParamDef struct.
+            </summary>
+            <param name="id"><see cref="T:Microsoft.Isam.Esent.Interop.JET_param"/> Id.</param>
+            <param name="staticAfterGlobalInit">Can be set after global init?</param>
+            <param name="paramType">Managed type of the param.</param>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Config.DatabaseConfig">
+            <summary>
+            A class that contains all engine wide Ese parameters.
+            </summary>
+            <summary>
+            A class that contains all engine wide Ese parameters.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.DatabaseConfig.ParamTable">
+            <summary>
+            A table of JET_param definitions used by config classes.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.DatabaseConfig.MaxStringParamSize">
+            <summary>
+            Passed to JetGetSystemParameter for retrieving string parameters.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.DatabaseConfig.GlobalParamsMutex">
+            <summary>
+            A per-process lock to synchronize calls to SetGlobalParams()
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.#cctor">
+            <summary>
+            Initializes static members of the <see cref="T:Microsoft.Database.Isam.Config.DatabaseConfig" /> class.
+            Used to initialize the param table.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.Identifier">
+            <summary>
+            Gets or sets a string identifier that uniquely identifies an instance of Database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DisplayName">
+            <summary>
+            Gets or sets a user-friendly name that is used to identify an instance of Database in system diagnostics (event log, etc).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EngineFlags">
+            <summary>
+            Gets or sets flags used to select optional Engine behaviour at initialization. See <see cref ="T:Microsoft.Isam.Esent.Interop.CreateInstanceGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateInstance2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,System.String,System.String,Microsoft.Isam.Esent.Interop.CreateInstanceGrbit)"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DatabaseRecoveryFlags">
+            <summary>
+            Gets or sets flags used to select optional behaviour while initializing an instance in the Engine and recovering the database from the log stream. See <see cref ="T:Microsoft.Isam.Esent.Interop.InitGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit2(Microsoft.Isam.Esent.Interop.JET_INSTANCE@,Microsoft.Isam.Esent.Interop.InitGrbit)"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DatabaseFilename">
+            <summary>
+            Gets or sets a path to use for creating or opening the database file.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DatabaseCreationFlags">
+            <summary>
+            Gets or sets flags used to select optional behaviour while creating a new database file. See <see cref ="T:Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DatabaseAttachFlags">
+            <summary>
+            Gets or sets flags used to select optional behaviour while attaching a database file to the Engine. See <see cref ="T:Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DatabaseStopFlags">
+            <summary>
+            Gets or sets flags used to select optional behaviour while terminating an instance in the Engine. See <see cref ="T:Microsoft.Isam.Esent.Interop.TermGrbit"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetTerm2(Microsoft.Isam.Esent.Interop.JET_INSTANCE,Microsoft.Isam.Esent.Interop.TermGrbit)"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DatabaseMaxPages">
+            <summary>
+            Gets or sets the maximum size of the database in pages. Zero means there is no maximum. See maxPages parameter for <see cref ="M:Microsoft.Isam.Esent.Interop.Api.JetCreateDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.JET_DBID@,Microsoft.Isam.Esent.Interop.CreateDatabaseGrbit)"/> or <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetAttachDatabase2(Microsoft.Isam.Esent.Interop.JET_SESID,System.String,System.Int32,Microsoft.Isam.Esent.Interop.AttachDatabaseGrbit)"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.SetGlobalParams">
+            <summary>
+            Sets global parameters before an Ese instance is created.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.SetInstanceParams(Microsoft.Isam.Esent.Interop.JET_INSTANCE)">
+            <summary>
+            Sets instance specific parameters after an Ese instance has been created.
+            </summary>
+            <param name="instance">The instance handle to use.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Database.Isam.Config.DatabaseConfig"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:Microsoft.Database.Isam.Config.DatabaseConfig"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.TryGetParamFromInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.Int32,System.Object@)">
+            <summary>
+            Get a <see cref="T:Microsoft.Isam.Esent.Interop.JET_param"/> from a particular instance.
+            </summary>
+            <param name="instance">The instance handle to use.</param>
+            <param name="param">The param id.</param>
+            <param name="value">The param value.</param>
+            <returns>True for all instance params. False otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.SetParamOnInstance(Microsoft.Isam.Esent.Interop.JET_INSTANCE,System.Int32,System.Object)">
+            <summary>
+            Sets a <see cref="T:Microsoft.Isam.Esent.Interop.JET_param"/> on a particular instance.
+            </summary>
+            <param name="instance">The instance handle to use.</param>
+            <param name="param">The param id.</param>
+            <param name="value">The param value.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.FillParamTable">
+            <summary>
+            Fills the param table from auto-generated code.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.GetEngineParam``1(Microsoft.Database.Isam.DatabaseParams)">
+            <summary>
+            Helper method to get a custom defined engine param.
+            </summary>
+            <typeparam name="T">The type of the engine param.</typeparam>
+            <param name="param">The engine param to get.</param>
+            <returns>The engine param value.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.DatabaseConfig.SetEngineParam(Microsoft.Database.Isam.DatabaseParams,System.Object)">
+            <summary>
+            Helper method to set a custom defined engine param.
+            </summary>
+            <param name="param">The engine param to set.</param>
+            <param name="value">The engine param value.</param>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.DatabaseConfig.ParamMaxValueInvalid">
+            <summary>
+            The exclusive upper bound on JET_param*.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.SystemPath">
+            <summary>
+            This parameter indicates the relative or absolute file system path of the
+            folder that will contain the checkpoint file for the instance. The path
+            must be terminated with a backslash character, which indicates that the
+            target path is a folder.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TempPath">
+            <summary>
+            This parameter indicates the relative or absolute file system path of
+            the folder or file that will contain the temporary database for the instance.
+            If the path is to a folder that will contain the temporary database then it
+            must be terminated with a backslash character.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LogFilePath">
+            <summary>
+            This parameter indicates the relative or absolute file system path of the
+            folder that will contain the transaction logs for the instance. The path must
+            be terminated with a backslash character, which indicates that the target path
+            is a folder.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.BaseName">
+            <summary>
+            This parameter sets the three letter prefix used for many of the files used by
+            the database engine. For example, the checkpoint file is called EDB.CHK by
+            default because EDB is the default base name.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EventSource">
+            <summary>
+            This parameter supplies an application specific string that will be added to
+            any event log messages that are emitted by the database engine. This allows
+            easy correlation of event log messages with the source application. By default
+            the host application executable name will be used.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxSessions">
+            <summary>
+            This parameter reserves the requested number of session resources for use by an
+            instance. A session resource directly corresponds to a JET_SESID data type.
+            This setting will affect how many sessions can be used at the same time.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxOpenTables">
+            <summary>
+            This parameter reserves the requested number of B+ Tree resources for use by
+            an instance. This setting will affect how many tables can be used at the same time.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxCursors">
+            <summary>
+            This parameter reserves the requested number of version store pages for use by an instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxVerPages">
+            <summary>
+            This parameter reserves the requested number of version store pages for use by an instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxTemporaryTables">
+            <summary>
+            This parameter reserves the requested number of temporary table resources for use
+            by an instance. This setting will affect how many temporary tables can be used at
+            the same time. If this system parameter is set to zero then no temporary database
+            will be created and any activity that requires use of the temporary database will
+            fail. This setting can be useful to avoid the I/O required to create the temporary
+            database if it is known that it will not be used.
+            </summary>
+            <remarks>
+            The use of a temporary table also requires a cursor resource.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LogFileSize">
+            <summary>
+            This parameter will configure the size of the transaction log files. Each
+            transaction log file is a fixed size. The size is equal to the setting of
+            this system parameter in units of 1024 bytes.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LogBuffers">
+            <summary>
+            This parameter will configure the amount of memory used to cache log records
+            before they are written to the transaction log file. The unit for this
+            parameter is the sector size of the volume that holds the transaction log files.
+            The sector size is almost always 512 bytes, so it is safe to assume that size
+            for the unit. This parameter has an impact on performance. When the database
+            engine is under heavy update load, this buffer can become full very rapidly.
+            A larger cache size for the transaction log file is critical for good update
+            performance under such a high load condition. The default is known to be too small
+            for this case.
+            Do not set this parameter to a number of buffers that is larger (in bytes) than
+            half the size of a transaction log file.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CommitDefault">
+            <summary>
+            This parameter sets the default grbits for committing transactions.
+            See <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetCommitTransaction(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCommitTransaction2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.CommitTransactionGrbit,System.TimeSpan,Microsoft.Isam.Esent.Interop.Windows8.JET_COMMIT_ID@)"/>L
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CircularLog">
+            <summary>
+            This parameter configures how transaction log files are managed by the database
+            engine. When circular logging is off, all transaction log files that are generated
+            are retained on disk until they are no longer needed because a full backup of the
+            database has been performed. When circular logging is on, only transaction log files
+            that are younger than the current checkpoint are retained on disk. The benefit of
+            this mode is that backups are not required to retire old transaction log files.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DbExtensionSize">
+            <summary>
+            This parameter controls the amount of space that is added to a database file each
+            time it needs to grow to accommodate more data. The size is in database pages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PageTempDBMin">
+            <summary>
+            This parameter controls the initial size of the temporary database. The size is in
+            database pages. A size of zero indicates that the default size of an ordinary
+            database should be used. It is often desirable for small applications to configure
+            the temporary database to be as small as possible. Setting this parameter to
+            SystemParameters.PageTempDBSmallest will achieve the smallest temporary database possible.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PageFragment">
+            <summary>
+            Gets or sets PageFragment of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CacheSizeMax">
+            <summary>
+            This parameter configures the maximum size of the database page cache. The size
+            is in database pages. If this parameter is left to its default value, then the
+            maximum size of the cache will be set to the size of physical memory when JetInit
+            is called.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CheckpointDepthMax">
+            <summary>
+            This parameter controls how aggressively database pages are flushed from the
+            database page cache to minimize the amount of time it will take to recover from a
+            crash. The parameter is a threshold in bytes for about how many transaction log
+            files will need to be replayed after a crash. If circular logging is enabled using
+            JET_param.CircularLog then this parameter will also control the approximate amount
+            of transaction log files that will be retained on disk.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LRUKCorrInterval">
+            <summary>
+            This parameter controls the correlation interval of ESE's LRU-K page replacement
+            algorithm.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LRUKHistoryMax">
+            <summary>
+            Gets or sets LRUKHistoryMax of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LRUKPolicy">
+            <summary>
+            Gets or sets LRUKPolicy of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LRUKTimeout">
+            <summary>
+            This parameter controls the timeout interval of ESE's LRU-K page replacement
+            algorithm.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.OutstandingIOMax">
+            <summary>
+            This parameter controls how many database file I/Os can be queued
+            per-disk in the host operating system at one time. A larger value
+            for this parameter can significantly help the performance of a large
+            database application.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.StartFlushThreshold">
+            <summary>
+            This parameter controls when the database page cache begins evicting pages from the
+            cache to make room for pages that are not cached. When the number of page buffers in the cache
+            drops below this threshold then a background process will be started to replenish that pool
+            of available buffers. This threshold is always relative to the maximum cache size as set by
+            JET_paramCacheSizeMax. This threshold must also always be less than the stop threshold as
+            set by JET_paramStopFlushThreshold.
+            <para>
+            The distance height of the start threshold will determine the response time that the database
+            page cache must have to produce available buffers before the application needs them. A high
+            start threshold will give the background process more time to react. However, a high start
+            threshold implies a higher stop threshold and that will reduce the effective size of the
+            database page cache for modified pages (Windows 2000) or for all pages (Windows XP and later).
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.StopFlushThreshold">
+            <summary>
+            This parameter controls when the database page cache ends evicting pages from the cache to make
+            room for pages that are not cached. When the number of page buffers in the cache rises above
+            this threshold then the background process that was started to replenish that pool of available
+            buffers is stopped. This threshold is always relative to the maximum cache size as set by
+            JET_paramCacheSizeMax. This threshold must also always be greater than the start threshold
+            as set by JET_paramStartFlushThreshold.
+            <para>
+            The distance between the start threshold and the stop threshold affects the efficiency with
+            which database pages are flushed by the background process. A larger gap will make it
+            more likely that writes to neighboring pages may be combined. However, a high stop
+            threshold will reduce the effective size of the database page cache for modified
+            pages (Windows 2000) or for all pages (Windows XP and later).
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.Recovery">
+            <summary>
+            This parameter is the master switch that controls crash recovery for an instance.
+            If this parameter is set to "On" then ARIES style recovery will be used to bring all
+            databases in the instance to a consistent state in the event of a process or machine
+            crash. If this parameter is set to "Off" then all databases in the instance will be
+            managed without the benefit of crash recovery. That is to say, that if the instance
+            is not shut down cleanly using JetTerm prior to the process exiting or machine shutdown
+            then the contents of all databases in that instance will be corrupted.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableOnlineDefrag">
+            <summary>
+            This parameter controls the behavior of online defragmentation when initiated using
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.DefragGrbit)"/> and <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetDefragment2(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_DBID,System.String,System.Int32@,System.Int32@,Microsoft.Isam.Esent.Interop.JET_CALLBACK,Microsoft.Isam.Esent.Interop.DefragGrbit)"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PrintFunction">
+            <summary>
+            Gets PrintFunction of type IntPtr
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TransactionLevel">
+            <summary>
+            Gets TransactionLevel of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.RFS2IOsPermitted">
+            <summary>
+            Gets or sets RFS2IOsPermitted of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.RFS2AllocsPermitted">
+            <summary>
+            Gets or sets RFS2AllocsPermitted of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CacheSize">
+            <summary>
+            This parameter can be used to control the size of the database page cache at run time.
+            Ordinarily, the cache will automatically tune its size as a function of database and
+            machine activity levels. If the application sets this parameter to zero, then the cache
+            will tune its own size in this manner. However, if the application sets this parameter
+            to a non-zero value then the cache will adjust itself to that target size.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CacheRequests">
+            <summary>
+            Gets CacheRequests of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CacheHits">
+            <summary>
+            Gets CacheHits of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableIndexChecking">
+            <summary>
+            When this parameter is true, every database is checked at JetAttachDatabase time for
+            indexes over Unicode key columns that were built using an older version of the NLS
+            library in the operating system. This must be done because the database engine persists
+            the sort keys generated by LCMapStringW and the value of these sort keys change from release to release.
+            If a primary index is detected to be in this state then JetAttachDatabase will always fail with
+            JET_err.PrimaryIndexCorrupted.
+            If any secondary indexes are detected to be in this state then there are two possible outcomes.
+            If AttachDatabaseGrbit.DeleteCorruptIndexes was passed to JetAttachDatabase then these indexes
+            will be deleted and JET_wrnCorruptIndexDeleted will be returned from JetAttachDatabase. These
+            indexes will need to be recreated by your application. If AttachDatabaseGrbit.DeleteCorruptIndexes
+            was not passed to JetAttachDatabase then the call will fail with JET_errSecondaryIndexCorrupted.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableTempTableVersioning">
+            <summary>
+            Gets or sets EnableTempTableVersioning of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EventSourceKey">
+            <summary>
+            This parameter can be used to control which event log the database engine uses for its event log
+            messages. By default, all event log messages will go to the Application event log. If the registry
+            key name for another event log is configured then the event log messages will go there instead.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.NoInformationEvent">
+            <summary>
+            When this parameter is true, informational event log messages that would ordinarily be generated by
+            the database engine will be suppressed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EventLoggingLevel">
+            <summary>
+            Configures the detail level of eventlog messages that are emitted
+            to the eventlog by the database engine. Higher numbers will result
+            in more detailed eventlog messages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DeleteOutOfRangeLogs">
+            <summary>
+            Delete the log files that are not matching (generation wise) during soft recovery.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.AccessDeniedRetryPeriod">
+            <summary>
+            Gets or sets AccessDeniedRetryPeriod of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableIndexCleanup">
+            <summary>
+            <para>
+            After Windows 7, it was discovered that JET_paramEnableIndexCleanup had some implementation limitations, reducing its effectiveness.
+            Rather than update it to work with locale names, the functionality is removed altogether.
+            </para>
+            <para>
+            Unfortunately JET_paramEnableIndexCleanup can not be ignored altogether. JET_paramEnableIndexChecking defaults to false, so if
+            JET_paramEnableIndexCleanup were to be removed entirely, then by default there were would be no checks for NLS changes!
+            </para>
+            <para>
+            The current behavious (when enabled) is to track the language sort versions for the indices, and when the sort version for that
+            particular locale changes, the engine knows which indices are now invalid. For example, if the sort version for only "de-de" changes,
+            then the "de-de" indices are invalid, but the "en-us" indices will be fine.
+            </para>
+            <para>
+            Post-Windows 8:
+            JET_paramEnableIndexChecking accepts JET_INDEXCHECKING (which is an enum). The values of '0' and '1' have the same meaning as before,
+            but '2' is JET_IndexCheckingDeferToOpenTable, which means that the NLS up-to-date-ness is NOT checked when the database is attached.
+            It is deferred to JetOpenTable(), which may now fail with JET_errPrimaryIndexCorrupted or JET_errSecondaryIndexCorrupted (which
+            are NOT actual corruptions, but instead reflect an NLS sort change).
+            </para>
+            <para>
+            IN SUMMARY:
+            New code should explicitly set both IndexChecking and IndexCleanup to the same value.
+            </para>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CacheSizeMin">
+            <summary>
+            This parameter configures the minimum size of the database page cache. The size is in database pages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PreferredVerPages">
+            <summary>
+            This parameter represents a threshold relative to <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.MaxVerPages"/> that controls
+            the discretionary use of version pages by the database engine. If the size of the version store exceeds
+            this threshold then any information that is only used for optional background tasks, such as reclaiming
+            deleted space in the database, is instead sacrificed to preserve room for transactional information.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DatabasePageSize">
+            <summary>
+            This parameter configures the page size for the database. The page
+            size is the smallest unit of space allocation possible for a database
+            file. The database page size is also very important because it sets
+            the upper limit on the size of an individual record in the database.
+            </summary>
+            <remarks>
+            Only one database page size is supported per process at this time.
+            This means that if you are in a single process that contains different
+            applications that use the database engine then they must all agree on
+            a database page size.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DisableCallbacks">
+            <summary>
+            Gets or sets DisableCallbacks of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LogFileCreateAsynch">
+            <summary>
+            Gets or sets LogFileCreateAsynch of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.ZeroDatabaseDuringBackup">
+            <summary>
+            Gets or sets ZeroDatabaseDuringBackup of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.UnicodeIndexDefault">
+            <summary>
+            This parameter configures the default LCMapString() lcid and flags to use for indexing unicode data.
+            See <see cref="M:Microsoft.Isam.Esent.Interop.Windows8.Windows8Api.JetCreateIndex4(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_INDEXCREATE[],System.Int32)"/> for more details.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.RuntimeCallback">
+            <summary>
+            Configures the engine with a <see cref="T:Microsoft.Isam.Esent.Interop.JET_CALLBACK"/> delegate.
+            This callback may be called for the following reasons:
+            <see cref="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.FreeCursorLS"/>, <see cref="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.FreeTableLS"/>
+            or <see cref="F:Microsoft.Isam.Esent.Interop.JET_cbtyp.Null"/>. See <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetSetLS(Microsoft.Isam.Esent.Interop.JET_SESID,Microsoft.Isam.Esent.Interop.JET_TABLEID,Microsoft.Isam.Esent.Interop.JET_LS,Microsoft.Isam.Esent.Interop.LsGrbit)"/>
+            for more information. This parameter cannot currently be retrieved.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CleanupMismatchedLogFiles">
+            <summary>
+            This parameter controls the outcome of JetInit when the database
+            engine is configured to start using transaction log files on disk
+            that are of a different size than what is configured. Normally,
+            <see cref="M:Microsoft.Isam.Esent.Interop.Api.JetInit(Microsoft.Isam.Esent.Interop.JET_INSTANCE@)"/> will successfully recover the databases
+            but will fail with <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.LogFileSizeMismatchDatabasesConsistent"/>
+            to indicate that the log file size is misconfigured. However, when
+            this parameter is set to true then the database engine will silently
+            delete all the old log files, start a new set of transaction log files
+            using the configured log file size. This parameter is useful when the
+            application wishes to transparently change its transaction log file
+            size yet still work transparently in upgrade and restore scenarios.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.RecoveryCurrentLogfile">
+            <summary>
+            Gets RecoveryCurrentLogfile of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.GlobalMinVerPages">
+            <summary>
+            Gets or sets GlobalMinVerPages of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.OSSnapshotTimeout">
+            <summary>
+            Gets or sets OSSnapshotTimeout of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.ExceptionAction">
+            <summary>
+            This parameter controls what happens when an exception is thrown by the
+            database engine or code that is called by the database engine. When set
+            to JET_ExceptionMsgBox, any exception will be thrown to the Windows unhandled
+            exception filter. This will result in the exception being handled as an
+            application failure. The intent is to prevent application code from erroneously
+            trying to catch and ignore an exception generated by the database engine.
+            This cannot be allowed because database corruption could occur. If the application
+            wishes to properly handle these exceptions then the protection can be disabled
+            by setting this parameter to JET_ExceptionNone.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EventLogCache">
+            <summary>
+            Gets or sets EventLogCache of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CreatePathIfNotExist">
+            <summary>
+            When this parameter is set to true then any folder that is missing in a file system path in use by
+            the database engine will be silently created. Otherwise, the operation that uses the missing file system
+            path will fail with JET_err.InvalidPath.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PageHintCacheSize">
+            <summary>
+            Gets or sets PageHintCacheSize of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.OneDatabasePerSession">
+            <summary>
+            When this parameter is true then only one database is allowed to
+            be opened using JetOpenDatabase by a given session at one time.
+            The temporary database is excluded from this restriction.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxInstances">
+            <summary>
+            This parameter controls the maximum number of instances that can be created in a single process.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.VersionStoreTaskQueueMax">
+            <summary>
+            This parameter controls the number of background cleanup work items that
+            can be queued to the database engine thread pool at any one time.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DisablePerfmon">
+            <summary>
+            Gets or sets DisablePerfmon of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.IndexTuplesLengthMin">
+            <summary>
+            Gets or sets IndexTuplesLengthMin of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.IndexTuplesLengthMax">
+            <summary>
+            Gets or sets IndexTuplesLengthMax of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.IndexTuplesToIndexMax">
+            <summary>
+            Gets or sets IndexTuplesToIndexMax of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.AlternateDatabaseRecoveryPath">
+            <summary>
+            The full path to each database is persisted in the transaction logs
+            at run time. Ordinarily, these databases must remain at the original
+            location for transaction replay to function correctly. This
+            parameter can be used to force crash recovery or a restore operation
+            to look for the databases referenced in the transaction log in the
+            specified folder.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CachedClosedTables">
+            <summary>
+            This parameter controls the number of B+ Tree resources cached by
+            the instance after the tables they represent have been closed by
+            the application. Large values for this parameter will cause the
+            database engine to use more memory but will increase the speed
+            with which a large number of tables can be opened randomly by
+            the application. This is useful for applications that have a
+            schema with a very large number of tables.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableFileCache">
+            <summary>
+            Enable the use of the OS file cache for all managed files.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableViewCache">
+            <summary>
+            Enable the use of memory mapped file I/O for database files.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.VerPageSize">
+            <summary>
+            This parameter sets the page size used by the version store.
+            This page size is a runtime parameter and has no effect on the database format.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.Configuration">
+            <summary>
+            This parameter exposes multiple sets of default values for the
+            entire set of system parameters. When this parameter is set to
+            a specific configuration, all system parameter values are reset
+            to their default values for that configuration. If the
+            configuration is set for a specific instance then global system
+            parameters will not be reset to their default values.
+            Small Configuration (0): The database engine is optimized for memory use.
+            Legacy Configuration (1): The database engine has its traditional defaults.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableAdvanced">
+            <summary>
+            This parameter is used to control when the database engine accepts
+            or rejects changes to a subset of the system parameters. This
+            parameter is used in conjunction with ><see cref="P:Microsoft.Database.Isam.Config.DatabaseConfig.Configuration"/> to
+            prevent some system parameters from being set away from the selected
+            configuration's defaults.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxColtyp">
+            <summary>
+            Gets MaxColtyp of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.IndexTupleIncrement">
+            <summary>
+            Gets or sets IndexTupleIncrement of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.IndexTupleStart">
+            <summary>
+            Gets or sets IndexTupleStart of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.KeyMost">
+            <summary>
+            This read-only parameter indicates the maximum allowable index key
+            length that can be selected for the current database page size
+            (as configured by <see cref="F:Microsoft.Isam.Esent.Interop.JET_param.DatabasePageSize"/>).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CheckpointIOMax">
+            <summary>
+            This parameter is used to control the maxiumum number of pending flush writes generated by checkpoint advancement.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LegacyFileNames">
+            <summary>
+            This parameter provides backwards compatibility with the file naming conventions of earlier releases of the database engine.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass1Name">
+            <summary>
+            Set the name associated with table class 1.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass2Name">
+            <summary>
+            Set the name associated with table class 2.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass3Name">
+            <summary>
+            Set the name associated with table class 3.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass4Name">
+            <summary>
+            Set the name associated with table class 4.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass5Name">
+            <summary>
+            Set the name associated with table class 5.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass6Name">
+            <summary>
+            Set the name associated with table class 6.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass7Name">
+            <summary>
+            Set the name associated with table class 7.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass8Name">
+            <summary>
+            Set the name associated with table class 8.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass9Name">
+            <summary>
+            Set the name associated with table class 9.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass10Name">
+            <summary>
+            Set the name associated with table class 10.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass11Name">
+            <summary>
+            Set the name associated with table class 11.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass12Name">
+            <summary>
+            Set the name associated with table class 12.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass13Name">
+            <summary>
+            Set the name associated with table class 13.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass14Name">
+            <summary>
+            Set the name associated with table class 14.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.TableClass15Name">
+            <summary>
+            Set the name associated with table class 15.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.IOPriority">
+            <summary>
+            Gets or sets IOPriority of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.WaypointLatency">
+            <summary>
+            This parameter sets the number of logs that esent will defer database
+            flushes for. This can be used to increase database recoverability if
+            failures cause logfiles to be lost.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DisableBlockVerification">
+            <summary>
+            Gets or sets DisableBlockVerification of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnablePersistedCallbacks">
+            <summary>
+            Gets or sets EnablePersistedCallbacks of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PeriodicLogRolloverLLR">
+            <summary>
+            Gets or sets PeriodicLogRolloverLLR of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DefragmentSequentialBTrees">
+            <summary>
+            Gets or sets DefragmentSequentialBTrees of type bool
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DefragmentSequentialBTreesDensityCheckFrequency">
+            <summary>
+            Gets or sets DefragmentSequentialBTreesDensityCheckFrequency of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.IOThrottlingTimeQuanta">
+            <summary>
+            Gets or sets IOThrottlingTimeQuanta of type int
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.LVChunkSizeMost">
+            <summary>
+            This parameter is used to retrieve the chunk size of long-value
+            (blob) data. Setting and retrieving data in multiples of this
+            size increases efficiency.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxCoalesceReadSize">
+            <summary>
+            Maximum number of bytes that can be grouped for a coalesced read operation.
+            </summary>
+            <remarks>
+            max = 10MB
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxCoalesceWriteSize">
+            <summary>
+            Maximum number of bytes that can be grouped for a coalesced write operation.
+            </summary>
+            <remarks>
+            max = 10MB
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxCoalesceReadGapSize">
+            <summary>
+            Maximum number of bytes that can be gapped for a coalesced read operation.
+            </summary>
+            <remarks>
+            max = 10MB
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxCoalesceWriteGapSize">
+            <summary>
+            Maximum number of bytes that can be gapped for a coalesced write operation.
+            </summary>
+            <remarks>
+            max = 10MB
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableDBScanInRecovery">
+            <summary>
+            This parameter enables or disables Database Maintenance during recovery.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DbScanThrottle">
+            <summary>
+            This parameter sets the throttling interval for database scan, in milliseconds.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DbScanIntervalMinSec">
+            <summary>
+            The minimum amount of time to wait between two consecutive database scans.
+            This parameter can be used to control how soon a database scan restarts after it has finished scanning the full database.
+            </summary>
+            <remarks>
+            min = 0 sec, max = 3 weeks, default = 1 day
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DbScanIntervalMaxSec">
+            <summary>
+            The maximum amount of time allowed between two consecutive database scans.
+            This parameter can be used to control the maximum allowed time a database scan can take.
+            The engine writes a warning message to the event log if a database scan can't finish in the specifed time.
+            </summary>
+            <remarks>
+            min = 1 sec, max = 50 years, default = 1 week
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.CachePriority">
+            <summary>
+            Per-instance property for relative cache priorities (default = 100).
+            </summary>
+            <remarks>
+            min = 0, max = 1000, default = 100
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MaxTransactionSize">
+            <summary>
+            Percentage of version store that can be used by oldest transaction
+            before <see cref="F:Microsoft.Isam.Esent.Interop.JET_err.VersionStoreOutOfMemory"/> (default = 100).
+            </summary>
+            <remarks>
+            min = 0, max = 100, default = 100
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PrereadIOMax">
+            <summary>
+            Maximum number of I/O operations dispatched for a given preread operation.
+            </summary>
+            <remarks>
+            min = 0, max = 256, default = 8
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableDBScanSerialization">
+            <summary>
+            Setting this parameter to true forces database maintenance/scan related IOs to be
+            issued one at a time if they share the same disk.
+            </summary>
+            <remarks>
+            default = false
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.HungIOThreshold">
+            <summary>
+            The threshold in milliseconds for what is considered a hung IO that should be acted upon.
+            </summary>
+            <remarks>
+            min = 11 sec (see Reasonable Period in http://www.microsoft.com/whdc/driver/kernel/iocancel.mspx), max = 30 min, default = 30 seconds
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.HungIOActions">
+            <summary>
+            A set of actions to be taken on IOs that appear hung.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.MinDataForXpress">
+            <summary>
+            Smallest amount of data that should be compressed with xpress compression.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EnableShrinkDatabase">
+            <summary>
+            Whether to free space back to the OS after deleting data. This may free space
+            in the middle of files (done in the units of database extents). This uses Sparse Files,
+            which is available on NTFS and ReFS (not FAT). The exact method of releasing space is an
+            implementation detail and is subject to change.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.ProcessFriendlyName">
+            <summary>
+            Friendly name for this instance of the process.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.DurableCommitCallback">
+            <summary>
+            Callback for when log is flushed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.ConfigStoreSpec">
+            <summary>
+            This allows the client to specify a registry path preceded by a reg: to optionally configure
+            loading or overriding parameters from the registry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.PersistedLostFlushDetection">
+            <summary>
+            Configures persisted lost flush detection for databases while attached to an instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.DatabaseConfig.EngineFormatVersion">
+            <summary>
+            Engine format version - specifies the maximum format version the engine should allow, ensuring no format features are used beyond this (allowing the DB / logs to be forward compatible).
+            </summary>
+            <remarks>
+            Note: It is generally expected that most consumers will for simplicity set this even before the
+            JetInit call to affect both log and database formats.
+            However to support some complex consumer scenarios, while this param may seem like it can be set
+            after instance init / JetInit(), we actually maintain a slight more complicated lifecycle. We
+            allow it to be set after inst init as long as there are zero attached databases.
+            </remarks>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Config.MergeRules">
+            <summary>
+            Merge rules for merging config sets.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.MergeRules.ThrowOnConflicts">
+            <summary>
+            Throw an exception if a merge causes a parameter to be overwritten with a different value in the destination config set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.MergeRules.Overwrite">
+            <summary>
+            Overwrite destination config set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Database.Isam.Config.MergeRules.KeepExisting">
+            <summary>
+            Keep existing values of the destination config set intact while performing the merge.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Config.IConfigSet">
+            <summary>
+            Interface definition for a config set.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.IConfigSet.Item(System.Int32)">
+            <summary>
+            Gets a particular config parameter's value.
+            </summary>
+            <param name="key">The parameter to get.</param>
+            <returns>The requested parameter's value.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.IConfigSet.TryGetValue(System.Int32,System.Object@)">
+            <summary>
+            Gets a particular config parameter's value.
+            </summary>
+            <param name="key">The parameter to get.</param>
+            <param name="value">The requested parameter's value.</param>
+            <returns>true if the value was found, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.IConfigSet.Merge(Microsoft.Database.Isam.Config.IConfigSet)">
+            <summary>
+            Merges two config sets into one and throws an exception if there are any conflicts.
+            </summary>
+            <param name="source">The MergeSource config set to user.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.IConfigSet.Merge(Microsoft.Database.Isam.Config.IConfigSet,Microsoft.Database.Isam.Config.MergeRules)">
+            <summary>
+            Merges two config sets into one.
+            </summary>
+            <param name="source">The MergeSource config set to user.</param>
+            <param name="mergeRule">The merge rule to use.</param>
+        </member>
+        <member name="T:Microsoft.Database.Isam.Config.ConfigSetMergeException">
+            <summary>
+            Represents exceptions thrown while merging two config sets.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetMergeException.#ctor(Microsoft.Database.Isam.Config.IConfigSet,Microsoft.Database.Isam.Config.IConfigSet,System.String)">
+            <summary>
+            Initializes a new instance of the ConfigSetMergeException class.
+            </summary>
+            <param name="mergeSource">The MergeSource config set.</param>
+            <param name="mergeDest">The destination config set.</param>
+            <param name="message">The exception message.</param>
+        </member>
+        <member name="M:Microsoft.Database.Isam.Config.ConfigSetMergeException.#ctor(Microsoft.Database.Isam.Config.IConfigSet,Microsoft.Database.Isam.Config.IConfigSet,System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the ConfigSetMergeException class.
+            </summary>
+            <param name="mergeSource">The MergeSource config set.</param>
+            <param name="mergeDest">The destination config set.</param>
+            <param name="message">The exception message.</param>
+            <param name="inner">The inner exception.</param>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.ConfigSetMergeException.MergeSource">
+            <summary>
+            Gets the MergeSource config set used during the merge operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Database.Isam.Config.ConfigSetMergeException.MergeDest">
+            <summary>
+            Gets the destination config set used during the merge operation.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Configuration/BuildAssembler.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Configuration/BuildAssembler.config
new file mode 100644
index 0000000000000000000000000000000000000000..3599e85956c663742172b68a1e78a957662bbc6f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Configuration/BuildAssembler.config
@@ -0,0 +1,432 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration verbosity="{@BuildAssemblerVerbosity}">
+	<dduetools>
+		<builder>
+			<componentLocations>
+				{@ComponentLocations}
+			</componentLocations>
+
+			<components>
+				<component id="Switch Component">
+					<switch value="string(/document/@type)" />
+
+					<case value="MAML">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\SkeletonConceptual.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in the topic content-->
+						<component id="Copy From Files Component">
+							<copy base=".\ddueXml" file="concat($key,'.xml')" source="/topic" target="/document" />
+						</component>
+
+						<!-- Resolve tokens -->
+						<component id="Shared Content Component">
+							<context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+							<content file="HelpFileBuilderTokens.tokens" />
+							{@TokenFiles}
+							<replace elements="/*//ddue:token" item="string(.)" />
+						</component>
+
+						<!-- Copy in metadata attributes -->
+						<component id="Copy From Index Component">
+							<index name="metadata" value="/metadata/topic" key="@id">
+								<data files="_ContentMetadata_.xml" />
+							</index>
+							<copy name="metadata" source="*" target="/document/metadata" />
+						</component>
+
+						<!-- Resolve code snippets -->
+						<component id="Example Component">
+							{@CodeSnippetsFiles}
+							<colors language="VisualBasic">
+								<color pattern="^\s*'[^\r\n]*" class="Comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="Keyword" />
+							</colors>
+							<colors language="CSharp">
+								<color pattern="/\*(.|\n)+?\*/" class="Comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="//[^\r\n]*" class="Comment" />
+								<color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(vield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="Keyword" />
+							</colors>
+							<colors language="ManagedCPlusPlus">
+								<color pattern="/\*(.|\n)+?\*/" class="Comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="//[^\r\n]*" class="Comment" />
+								<color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="Keyword" />
+							</colors>
+							<colors language="FSharp">
+								<color pattern="\(\*(.|\n)+?\*\)" class="Comment" />"
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="//[^\r\n]*" class="Comment" />
+								<color pattern="\b((abstract)|(and)|(as)|(asr)|(assert)|(atomic)|(base)|(begin)|(break)|(checked)|(class)|(component)|(const)|(constraint)|(constructor)|(continue)|(default)|(delegate)|(do)|(done)|(downcast)|(downto)|(eager)|(elif)|(else)|(end)|(event)|(exception)|(extern)|(external)|(false)|(finally)|(fixed)|(for)|(fun)|(function)|(functor)|(global)|(if)|(in)|(include)|(inherit)|(inline)|(interface)|(internal)|(land)|(lazy)|(let)|(lor)|(lsl)|(lsr)|(lxor)|(match)|(member)|(method)|(mixin)|(mod)|(module)|(mutable)|(namespace)|(new)|(null)|(object)|(of)|(open)|(or)|(override)|(parallel)|(private)|(process)|(protected)|(public)|(pure)|(rec)|(return)|(sealed)|(sig)|(static)|(struct)|(tailcall)|(then)|(to)|(trait)|(true)|(try)|(type)|(upcast)|(use)|(val)|(virtual)|(void)|(volatile)|(when)|(while)|(with)|(yield))\b" class="Keyword" />
+							</colors>
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+							 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+							 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+							 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+							 Attributes:
+									Language syntax configuration file (required, not used by Markdown)
+									XSLT style sheet file (required, not used by Markdown)
+									CSS style sheet file (not used for Markdown)
+									Script file (not used for Markdown)
+									Disabled (always disabled for Markdown, leading whitespace normalization only)
+									Default language (optional)
+									Enable line numbering (optional)
+									Enable outlining (optional)
+									Keep XML comment "see" tags within the code (optional)
+									Tab size override (optional, 0 = Use syntax file setting)
+									Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight.xsl"
+									stylesheet="{@CoreComponentsFolder}Colorizer\highlight.css"
+									scriptFile="{@CoreComponentsFolder}Colorizer\highlight.js"
+									disabled="true" language="cs" numberLines="false" outlining="false"
+									keepSeeTags="false" tabSize="0" defaultTitle="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\MainConceptual.xsl">
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- Resolve shared content -->
+						<component id="Shared Content Component">
+							<content file="{@ResourceItemsFolder}SharedContent.xml" />
+							<content file="{@ResourceItemsFolder}ConceptualContent.xml" />
+							<!-- These must be last in order to override other elements! -->
+							<content file="SHFBContent.xml" />
+							{@ResourceItemFiles}
+						</component>
+
+						<!-- Resolve art links -->
+						<component id="Resolve Art Links Component">
+							<targets input="Media" baseOutput=".\Output\Markdown" outputPath="string('media')" link="media"
+								map="_MediaContent_.xml" />
+						</component>
+
+						<!-- Resolve conceptual links -->
+						<component id="Resolve Conceptual Links Component">
+							<showBrokenLinkText value="true" />
+							<targets base="xmlComp" type="Local" url="{@MarkdownConceptualUrlSelector}" />
+						</component>
+
+						<!-- Resolve reference links -->
+						<component id="Resolve Reference Links Component">
+							<locale value="{@Locale}" />
+							<hrefFormat value="{@MarkdownApiUrlFormat}" />
+							<linkTarget value="{@SdkLinkTarget}" />
+							<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+							<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+								type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+								{@ReferenceLinkNamespaceFiles}
+							</targets>
+							<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+						</component>
+
+						<!-- Save the result -->
+						<component id="Save Component">
+							<save base="Output\Markdown\" path="concat($key,'.md')" indent="{@IndentHtml}"
+								omit-xml-declaration="true" add-xhtml-namespace="false"
+								groupId="Markdown MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+						</component>
+					</case>
+
+					<case value="API">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\SkeletonAPI.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in reflection data -->
+						<component id="Copy From Index Component">
+							<index name="reflection" value="/reflection/apis/api" key="@id" cache="15">
+								<data base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml" duplicateWarning="false">
+									{@ReferenceLinkNamespaceFiles}
+								</data>
+								<data files="reflection.xml" />
+							</index>
+							<copy name="reflection" source="*" target="/document/reference" />
+						</component>
+
+						<!-- Copy in container data -->
+						<component id="Copy From Index Component">
+							<copy name="reflection" key="string(/document/reference/containers/namespace/@api)"
+								source="*[not(local-name()='elements')]" target="/document/reference/containers/namespace" />
+						</component>
+
+						<component id="For Each Component">
+							<variable expression="/document/reference/containers//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="topicdata|apidata|typedata|family|templates|attributes"
+										target="/document/reference/containers//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in explicitInterfaceImplemented reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in extension method template/type data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element[@source='extension']/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in parameter data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/parameters/parameter//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in templates type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/templates//type[@api=$key]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/templates//type[@api=$key and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in return type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/returns//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/returns//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in event handler type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/eventhandler/type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/eventhandler/type[@api=$key]"/>
+								</component>
+							</components>
+						</component>
+
+						<!-- Generate syntax -->
+						<component id="Syntax Component">
+							<syntax input="/document/reference" output="/document/syntax" />
+							<generators>
+								{@SyntaxFilters}
+							</generators>
+						</component>
+
+						<!-- Copy in comments -->
+						<component id="Copy From Index Component">
+							<index name="comments" value="/doc/members/member" key="@name" cache="30">
+								{@FrameworkCommentList}
+								{@CommentFileList}
+							</index>
+							<copy name="comments" source="*" target="/document/comments" />
+							<!-- Propagate the parent type's preliminary element to the members too if present -->
+							<copy name="comments" key="string(/document/reference/containers/type/@api)"
+								source="preliminary" target="/document/comments" />
+						</component>
+
+						<!-- Copy in reflection data and comments for members -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element/@api" />
+							<components>
+								<component id="If Then Component">
+									<if condition="not(/document/reference/elements//element[@api=$key]/apidata)" />
+									<then>
+										<component id="Copy From Index Component">
+											<copy name="reflection" source="*[not(self::elements)]"
+												target="/document/reference/elements//element[@api=$key]" />
+										</component>
+									</then>
+								</component>
+								<component id="Copy From Index Component">
+									<copy name="comments" source="summary|overloads|example"
+										target="/document/reference/elements//element[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in comments for the member's declaring type. -->
+						<component id="Copy From Index Component">
+							<copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary"
+								target="/document/reference/containers" />
+						</component>
+
+						<!-- Show missing documentation component configuration.  This must appear before the TransformComponent. -->
+						<component id="Show Missing Documentation Component">
+							<!-- All elements are optional. -->
+
+							<!-- Auto-document constructors (true by default) -->
+							<AutoDocumentConstructors value="{@AutoDocumentConstructors}" />
+
+							<!-- Auto-document dispose methods (true by default) -->
+							<AutoDocumentDisposeMethods value="{@AutoDocumentDisposeMethods}" />
+
+							<!-- Show missing param tags (true by default) -->
+							<ShowMissingParams value="{@ShowMissingParams}" />
+
+							<!-- Show missing typeparam tags (true by default) -->
+							<ShowMissingTypeParams value="{@ShowMissingTypeParams}" />
+
+							<!-- Show missing remarks tags (false by default) -->
+							<ShowMissingRemarks value="{@ShowMissingRemarks}" />
+
+							<!-- Show missing returns tags (true by default) -->
+							<ShowMissingReturns value="{@ShowMissingReturns}" />
+
+							<!-- Show missing summary tags (true by default) -->
+							<ShowMissingSummaries value="{@ShowMissingSummaries}" />
+
+							<!-- Show missing value tags (false by default) -->
+							<ShowMissingValues value="{@ShowMissingValues}" />
+
+							<!-- Show missing namespace comments (true by default) -->
+							<ShowMissingNamespaces value="{@ShowMissingNamespaces}" />
+
+							<!-- Show missing include targets (true by default) -->
+							<ShowMissingIncludeTargets value="{@ShowMissingIncludeTargets}" />
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+							 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+							 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+							 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+							 Attributes:
+									Language syntax configuration file (required, not used by Markdown)
+									XSLT style sheet file (required, not used by Markdown)
+									CSS style sheet file (not used for Markdown)
+									Script file (not used for Markdown)
+									Disabled (always disabled for Markdown, leading whitespace normalization only)
+									Default language (optional)
+									Enable line numbering (optional)
+									Enable outlining (optional)
+									Keep XML comment "see" tags within the code (optional)
+									Tab size override (optional, 0 = Use syntax file setting)
+									Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight.xsl"
+									stylesheet="{@CoreComponentsFolder}Colorizer\highlight.css"
+									scriptFile="{@CoreComponentsFolder}Colorizer\highlight.js"
+									disabled="true" language="cs" numberLines="false" outlining="false"
+									keepSeeTags="false" tabSize="0" defaultTitle="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\MainSandcastle.xsl">
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- Resolve shared content -->
+						<component id="Shared Content Component">
+							<content file="{@ResourceItemsFolder}SharedContent.xml" />
+							<content file="{@ResourceItemsFolder}ReferenceContent.xml" />
+							<!-- These must be last in order to override other elements! -->
+							<content file="SHFBContent.xml" />
+							{@ResourceItemFiles}
+						</component>
+
+						<!-- Resolve conceptual links -->
+						<component id="Resolve Conceptual Links Component">
+							<showBrokenLinkText value="true" />
+							<targets base="xmlComp" type="Local" url="{@MarkdownConceptualUrlSelector}" />
+						</component>
+
+						<!-- Resolve reference links -->
+						<component id="Resolve Reference Links Component">
+							<locale value="{@Locale}" />
+							<hrefFormat value="{@MarkdownApiUrlFormat}" />
+							<linkTarget value="{@SdkLinkTarget}" />
+							<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+							<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+								type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+								{@ReferenceLinkNamespaceFiles}
+							</targets>
+							<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+						</component>
+
+						<!-- Save the result -->
+						<component id="Save Component">
+							<save base="Output\Markdown\" path="concat(/*/file/@name,'.md')" indent="{@IndentHtml}"
+								omit-xml-declaration="true" add-xhtml-namespace="false"
+								groupId="Markdown API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+						</component>
+					</case>
+				</component>
+			</components>
+
+		</builder>
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..48496d5c145f1470004a88502c357c70a5fba11d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ConceptualContent.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Section titles -->
+	<item id="title_inThisSection">In This Section</item>
+	<item id="title_buildInstructions">Compiling the Code</item>
+	<item id="title_nextSteps">Next Steps</item>
+	<item id="title_requirements">Requirements</item>
+	<item id="title_relatedSections">Related Sections</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_returnValue">Return Value</item>
+	<item id="title_attributesAndElements">Attributes and Elements</item>
+	<item id="title_attributes">Attributes</item>
+	<item id="title_childElement">Child Elements</item>
+	<item id="title_parentElement">Parent Elements</item>
+	<item id="title_elementInformation">Element Information</item>
+	<item id="title_textValue">Text Value</item>
+	<item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+	<item id="title_prerequisites">Prerequisites</item>
+	<item id="title_robustProgramming">Robust Programming</item>
+	<item id="title_securitySection">Security</item>
+	<item id="title_externalResources">External Resources</item>
+	<item id="title_demonstrates">Demonstrates</item>
+	<item id="title_appliesTo">Applies To</item>
+	<item id="title_conclusion">Conclusion</item>
+	<item id="title_background">Background</item>
+	<item id="title_whatsNew">What's New</item>
+	<item id="title_reference">Reference</item>
+	<item id="title_errorMessage">Error Message</item>
+	<item id="title_example">Example</item>
+
+	<!-- AutoOutline boilerplate -->
+	<item id="boilerplate_autoOutlineTopLevelIntro">This topic contains the following sections:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">This section contains the following subsections:</item>
+
+	<!-- Resolve the autoOutline token -->
+	<item id="autoOutline">
+		<autoOutline />
+	</item>
+
+	<!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+	<item id="boilerplate_copyrightNotice">
+		<p>{0} &#169;{1}{2}. All rights reserved.</p>
+	</item>
+
+	<!-- Glossary related entries -->
+	<item id="text_relatedEntries">See Also:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1087aebffb7dcaa5a9c0f14c42dd0ffa6529033c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ReferenceContent.xml
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- Note text -->
+  <item id="notDocumented">This API is not documented.</item>
+  <item id="preliminaryText">This API is preliminary and subject to change.</item>
+	
+	<!-- Inserted boilerplate -->
+  <item id="definedBy">(Defined by {0}.)</item>
+	<item id="inheritedFrom">(Inherited from {0}.)</item>
+	<item id="overridesMember">(Overrides {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Module: {1})</item>
+ 
+  <item id="derivedClasses">Derived Classes</item>
+  <item id="explicitInterfaceImplementation">Explicit Interface Implementations</item>
+  <item id="returnValue">Return Value</item>
+  <item id="propertyValue">Property Value</item>
+  <item id="fieldValue">Field Value</item>
+  <item id="example">Example</item>
+
+  <!-- Topic titles -->
+  <item id="topicTitle_root">Namespaces</item>
+	<item id="topicTitle_namespace">{0} Namespace</item>
+	<item id="topicTitle_namespaceGroup">{0} Namespaces</item>
+	<item id="topicTitle_class">{0} Class</item>
+	<item id="topicTitle_structure">{0} Structure</item>
+	<item id="topicTitle_interface">{0} Interface</item>
+	<item id="topicTitle_derivedTypeList">{0} Derived Classes</item>
+  
+	<item id="topicTitle_delegate">{0} Delegate</item>
+	<item id="topicTitle_enumeration">{0} Enumeration</item>
+	<item id="topicTitle_field">{0} Field</item>
+	<item id="topicTitle_method">{0} Method {1}</item>
+	<item id="topicTitle_constructor">{0} Constructor {1}</item>
+	<item id="topicTitle_property">{0} Property {1}</item>
+	<item id="topicTitle_event">{0} Event</item>
+  
+  <!-- Title for operator members -->
+	<item id="topicTitle_operator">{0} Operator {1}</item>
+
+  <!-- Title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Conversion {1}</item>
+  <!-- Title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Conversion Operators</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Attached Property</item>
+	<item id="topicTitle_attachedEvent">{0} Attached Event</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} Generic Class</item>
+  <item id="topicTitle_generic_structure">{0} Generic Structure</item>
+  <item id="topicTitle_generic_interface">{0} Generic Interface</item>
+  <item id="topicTitle_generic_delegate">{0} Generic Delegate</item>
+  <item id="topicTitle_generic_method">{0} Generic Method {1}</item>
+  
+	<!-- List topic titles -->
+	<item id="topicTitle_fields">{0} Fields</item>
+	<item id="topicTitle_methods">{0} Methods</item>
+	<item id="topicTitle_enumMembers">Members</item>
+  
+  <!-- Title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operators</item>
+  <!-- Title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operators and Type Conversions</item>
+  <!-- Title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Type Conversions</item>
+  
+	<item id="topicTitle_constructors">{0} Constructors</item>
+	<item id="topicTitle_properties">{0} Properties</item>
+	<item id="topicTitle_events">{0} Events</item>
+	<item id="topicTitle_attachedProperties">{0} Attached Properties</item>
+ 	<item id="topicTitle_attachedEvents">{0} Attached Events</item>
+	<item id="topicTitle_members">{0} Members</item>
+
+	<!-- Section titles -->
+	<item id="title_syntax">Syntax</item>
+	<item id="title_templates">Type Parameters</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_value">Value</item>
+	<item id="title_delegateValue">Return Value</item>
+	<item id="title_methodValue">Return Value</item>
+	<item id="title_propertyValue">Property Value</item>
+	<item id="title_fieldValue">Field Value</item>
+	<item id="title_implements">Implements</item>
+	<item id="title_examples">Examples</item>
+	<item id="title_threadSafety">Thread Safety</item>
+	<item id="title_permissions">.NET Framework Security</item>
+	<item id="title_namespaces">Namespaces</item>
+	<item id="title_types">Types</item>
+	<item id="title_family">Inheritance Hierarchy</item>
+	<item id="title_versions">Version Information</item>
+	<item id="title_platforms">Platforms</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_extensionUsage">Usage Note</item>
+	<item id="text_extensionUsage">In Visual Basic and C#, you can call this method as an instance method on any object of type {0}. When you use instance method syntax to call this method, omit the first parameter. For more information, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (Visual Basic)</a> or <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (C# Programming Guide)</a>.</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- Table headers -->
+	<item id="header_namespaceName">Namespace</item>
+	<item id="header_namespaceDescription">Description</item>
+	<item id="header_typeIcon">Icon</item>
+  <item id="header_className">Class</item>
+  <item id="header_structureName">Structure</item>
+  <item id="header_interfaceName">Interface</item>
+  <item id="header_delegateName">Delegate</item>
+  <item id="header_enumerationName">Enumeration</item>
+  
+	<item id="header_typeName">Name</item>
+	<item id="header_typeDescription">Description</item>
+	<item id="header_memberIcon">Icon</item>
+	<item id="header_memberName">Member name</item>
+	<item id="header_memberValue">Value</item>
+	<item id="header_memberDescription">Description</item>
+	<item id="header_eventType">Event Type</item>
+	<item id="header_eventReason">Reason</item>
+	<item id="header_exceptionName">Exception</item>
+	<item id="header_exceptionCondition">Condition</item>
+	<item id="header_permissionName">Permission</item>
+	<item id="header_permissionDescription">Description</item>
+  <item id="header_requiresName">Requires</item>
+  <item id="header_ensuresName">Ensures</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariants</item>
+  
+  <!-- Member list table titles -->
+  <item id="tableTitle_namespace">Namespaces</item>
+	<item id="tableTitle_class">Classes</item>
+	<item id="tableTitle_structure">Structures</item>
+	<item id="tableTitle_interface">Interfaces</item>
+	<item id="tableTitle_delegate">Delegates</item>
+	<item id="tableTitle_enumeration">Enumerations</item>
+  <item id="tableTitle_constructor">Constructors</item>
+  <item id="tableTitle_method">Methods</item>
+  <item id="tableTitle_operator">Operators</item>
+  <item id="tableTitle_field">Fields</item>
+  <item id="tableTitle_property">Properties</item>
+  <item id="tableTitle_event">Events</item>
+  <item id="tableTitle_attachedEvent">Attached Events</item>
+  <item id="tableTitle_attachedProperty">Attached Properties</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Explicit Interface Implementations</item>
+	<item id="tableTitle_overloadMembers">Overload List</item>
+  <item id="tableTitle_extensionMethod">Extension Methods</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Thread Safety</item>
+  <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/>  members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+  <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+  <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+  <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+  <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+  
+  <!-- Boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">The {0} generic type exposes the following members.</item>
+  <item id="exposedMembersTableText">The {0} type exposes the following members.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+  <item id="routedEventInfoHeading">Routed Event Information</item>
+
+  <item id="Overloaded">Overloaded. </item>	
+  <item id="defaultNamespace">( Default Namespace )</item>
+  
+  <item id="typeLink">Type: {0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter">**{0}** type parameter of {1}.</item>
+  
+	<!-- Internal only boilerplate text -->
+  <item id="internalOnly">This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.</item>
+  <item id="infraStructure">Infrastructure. </item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort">**Obsolete. **</item>
+  <item id="boilerplate_obsoleteLong">**Note: This API is now obsolete.**</item>
+
+	<!-- Group and SubGroup text -->
+  <item id="text_classUpper">Class</item>
+  <item id="text_structureUpper">Structure</item>
+  <item id="text_interfaceUpper">Interface</item>
+  <item id="text_delegateUpper">Delegate</item>
+  <item id="text_enumerationUpper">Enumeration</item>
+
+  <item id="text_membersUpper">Members</item>
+  <item id="text_methodsUpper">Methods</item>
+  <item id="text_propertiesUpper">Properties</item>
+  <item id="text_eventsUpper">Events</item>
+  <item id="text_fieldsUpper">Fields</item>
+  <item id="text_operatorsUpper">Operators</item>
+  <item id="text_attachedPropertiesUpper">Attached Properties</item>
+  <item id="text_attachedEventsUpper">Attached Events</item>
+
+	<!-- Alt text for images -->
+	<item id="altText_pubClass">Public class</item>
+	<item id="altText_pubStructure">Public structure</item>
+	<item id="altText_pubInterface">Public interface</item>
+	<item id="altText_pubDelegate">Public delegate</item>
+	<item id="altText_pubEnumeration">Public enumeration</item>
+	<item id="altText_protClass">Protected class</item>
+	<item id="altText_protStructure">Protected structure</item>
+	<item id="altText_protInterface">Protected interface</item>
+	<item id="altText_protDelegate">Protected delegate</item>
+	<item id="altText_protEnumeration">Protected enumeration</item>
+	<item id="altText_privClass">Private class</item>
+	<item id="altText_privStructure">Private structure</item>
+	<item id="altText_privInterface">Private interface</item>
+	<item id="altText_privDelegate">Private delegate</item>
+	<item id="altText_privEnumeration">Private enumeration</item>
+
+	<item id="altText_pubConstructor">Public constructor</item>
+	<item id="altText_pubMethod">Public method</item>
+	<item id="altText_pubField">Public field</item>
+	<item id="altText_pubProperty">Public property</item>
+	<item id="altText_pubEvent">Public event</item>
+	<item id="altText_pubOperator">Public operator</item>
+	<item id="altText_pubAttachedProperty">Public attached property</item>
+	<item id="altText_pubAttachedEvent">Public attached event</item>
+	<item id="altText_protConstructor">Protected constructor</item>
+	<item id="altText_protMethod">Protected method</item>
+	<item id="altText_protField">Protected field</item>
+	<item id="altText_protProperty">Protected property</item>
+	<item id="altText_protEvent">Protected event</item>
+	<item id="altText_protOperator">Protected operator</item>
+	<item id="altText_protAttachedProperty">Protected attached property</item>
+	<item id="altText_protAttachedEvent">Protected attached event</item>
+	<item id="altText_privConstructor">Private constructor</item>
+	<item id="altText_privMethod">Private method</item>
+	<item id="altText_privField">Private field</item>
+	<item id="altText_privProperty">Private property</item>
+	<item id="altText_privEvent">Private event</item>
+	<item id="altText_privOperator">Private operator</item>
+	<item id="altText_privtAttachedProperty">Private attached property</item>
+	<item id="altText_privAttachedEvent">Private attached event</item>
+	<item id="altText_static">Static member</item>
+	<item id="altText_pubextension">Public Extension Method</item>
+	<item id="altText_protextension">Protected Extension Method</item>
+	<item id="altText_privextension">Private Extension Method</item>
+
+  <item id="altText_CompactFramework">Supported by the .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Supported by the XNA Framework</item>
+  <item id="altText_SilverlightMobile">Supported by <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Explicit interface implementation</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Namespace</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Members</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Overload</item>
+
+  <item id="boilerplate_requirementsNamespace">**Namespace:**</item>
+
+  <item id="boilerplate_requirementsPlatforms">**Platforms:** {0}</item>
+
+  <item id="boilerplate_requirementsAssemblies">**Assemblies:**</item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">**Assembly:**</item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">**Assembly:** {0} (in {1}.dll)</item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Supported in: {0}</item>
+  <item id="supportedIn_2">Supported in: {0}, {1}</item>
+  <item id="supportedIn_3">Supported in: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Supported in: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Supported in: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Supported in: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="obsoleteWarning">Obsolete (compiler warning) in {0}</item>
+  <item id="obsoleteError">Obsolete (does not compile) in {0} and later</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+  <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+  <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+  <!-- Non CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+  <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+  <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">This member is overloaded. For complete information about this member, including syntax, usage, and examples, click a name in the overload list.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>The <include item="netfw"/> and <include item="netcfw"/> do not support all versions of every platform. For a list of the supported versions, see <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds -->
+  <item id="boilerplate_silverlightPlatforms">For information on the operating systems and browsers supported by <include item="silverlight"/>, see <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.</item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+			 in sync with the platform/@name values used in the manifold platformFilters.xml filter files.  These
+			 values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- Silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements">**XMLNS for XAML:** {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Not mapped to an xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br /><br />In <include item="{0}"/>, this member is overridden by {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br /><br />In <include item="{0}"/>&#160;<include item="{1}"/>, this member is inherited from {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br /><br />In <include item="{0}"/>&#160;<include item="{1}"/>, this member is {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">This member overrides {0}.</item>
+  <item id="boilerplate_useBaseSee">See {0}.</item>
+  <item id="boilerplate_useBase">This member overrides {0}, and more complete documentation might be available in that topic.</item>
+
+  <item id="boilerplate_flagsSummary">This enumeration has a {0} attribute that allows a bitwise combination of its member values.</item>
+	
+	<!-- Contracts -->
+	<item id="contracts_PureMethod">This method is pure.</item>
+	<item id="contracts_LearnMore">Learn more about contracts</item>
+	<item id="contracts_Description">Description: </item>
+	<item id="contracts_InheritedFrom">Inherited From: </item>
+	<item id="contracts_Exception">Exception: </item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+  <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+  <item id="SMCMissingTag">\[Missing &lt;{0}&gt; documentation for "{1}"\]</item>
+  <item id="SMCMissingParamTag">\[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"\]</item>
+  <item id="SMCMissingIncludeTarget">\[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}'\]</item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cb9108371cf14d2f71f555cd2a738bf46a162acd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/SharedContent.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Media file path -->
+	<item id="mediaPath">media/{0}</item>
+
+	<!-- Topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+	<item id="header"></item>
+
+	<!-- Alert titles -->
+	<item id="alert_title_tip">Tip</item>
+	<item id="alert_title_caution">Caution</item>
+	<item id="alert_title_security">Security Note</item>
+	<item id="alert_title_note">Note</item>
+	<item id="alert_title_important">Important</item>
+	<item id="alert_title_visualBasic">Visual Basic Note</item>
+	<item id="alert_title_visualC#">C# Note</item>
+	<item id="alert_title_visualC++">C++ Note</item>
+	<item id="alert_title_visualJ#">J# Note</item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">Tip</item>
+	<item id="alert_altText_caution">Caution note</item>
+	<item id="alert_altText_security">Security note</item>
+	<item id="alert_altText_note">Note</item>
+	<item id="alert_altText_important">Important note</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>
+
+	<!-- Section titles -->
+	<item id="title_remarks">Remarks</item>
+	<item id="title_changeHistory">Change History</item>
+	<item id="title_events">Events</item>
+	<item id="title_exceptions">Exceptions</item>
+	<item id="title_contracts">Contracts</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tasks</item>
+	<item id="title_seeAlso_reference">Reference</item>
+	<item id="title_seeAlso_concepts">Concepts</item>
+	<item id="title_seeAlso_otherResources">Other Resources</item>
+
+	<item id="inline_dynamicLink_prefixText">For more information, see </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> and </item>
+
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic and C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<!-- Language keywords -->
+	<item id="devlang_nullKeyword">a null reference (`Nothing` in Visual Basic)</item>
+	<item id="devlang_staticKeyword">`static` (`Shared` in Visual Basic)</item>
+	<item id="devlang_virtualKeyword">`virtual` (`Overridable` in Visual Basic)</item>
+	<item id="devlang_trueKeyword">`true` (`True` in Visual Basic)</item>
+	<item id="devlang_falseKeyword">`false` (`False` in Visual Basic)</item>
+	<item id="devlang_abstractKeyword">`abstract` (`MustInherit` in Visual Basic)</item>
+	<item id="devlang_sealedKeyword">`sealed` (`NotInheritable` in Visual Basic)</item>
+	<item id="devlang_asyncKeyword">`async` (`Async` in Visual Basic)</item>
+	<item id="devlang_awaitKeyword">`await` (`Await` in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword">`async`/`await` (`Async`/`Await` in Visual Basic)</item>
+
+	<!-- Back to Top link text -->
+	<item id="top">Back to Top</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6f5b445d1c55090a0f92abd5b38818482b1c4f5b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/ConceptualContent.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Section titles -->
+	<item id="title_inThisSection">セクションの内容</item>
+	<item id="title_buildInstructions">コードのコンパイル</item>
+	<item id="title_nextSteps">次の手順</item>
+	<item id="title_requirements">å¿…é ˆ</item>
+	<item id="title_relatedSections">関連するセクション</item>
+	<item id="title_relatedTopics">参照</item>
+	<item id="title_syntax">構文</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_returnValue">戻り値</item>
+	<item id="title_attributesAndElements">属性と要素</item>
+	<item id="title_attributes">属性</item>
+	<item id="title_childElement">子要素</item>
+	<item id="title_parentElement">親要素</item>
+	<item id="title_elementInformation">要素情報</item>
+	<item id="title_textValue">テキスト値</item>
+	<item id="title_dotNetFrameworkEquivalent">.NET Framework と等価</item>
+	<item id="title_prerequisites">前提条件</item>
+	<item id="title_robustProgramming">ロバストなプログラミング</item>
+	<item id="title_securitySection">セキュリティ</item>
+	<item id="title_externalResources">外部リソース</item>
+	<item id="title_demonstrates">デモ</item>
+	<item id="title_appliesTo">適用対象</item>
+	<item id="title_conclusion">結論</item>
+	<item id="title_background">背景</item>
+	<item id="title_whatsNew">新着情報</item>
+	<item id="title_reference">参照</item>
+	<item id="title_errorMessage">エラーメッセージ</item>
+	<item id="title_example">例</item>
+
+	<!-- AutoOutline boilerplate -->
+	<item id="boilerplate_autoOutlineTopLevelIntro">このトピックは下記のセクションを含みます:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">このトピックは下記のサブセクションを含みます:</item>
+
+	<!-- Resolve the autoOutline token -->
+	<item id="autoOutline">
+    <autoOutline />
+  </item>
+
+	<!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+	<item id="boilerplate_copyrightNotice"><p>{0} ©{1}{2}. All rights reserved.</p></item>
+
+	<!-- Glossary related entries -->
+	<item id="text_relatedEntries">参照:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bd5d8fb7505eb5528134e026e7c6babea99c2096
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/ReferenceContent.xml
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- Note text -->
+  <item id="notDocumented">このAPIはドキュメント化されていません。</item>
+  <item id="preliminaryText">このAPIは暫定的なものであり、変更される可能性があります。</item>
+	
+	<!-- Inserted boilerplate -->
+  <item id="definedBy">({0}により定義)</item>
+	<item id="inheritedFrom">({0}から継承)</item>
+	<item id="overridesMember">({0}をオーバーライド)</item>
+	<item id="locationInformation">アセンブリ: {0} (モジュール: {1})</item>
+ 
+  <item id="derivedClasses">派生クラス</item>
+  <item id="explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+  <item id="returnValue">戻り値</item>
+  <item id="propertyValue">プロパティ値</item>
+  <item id="fieldValue">フィールド値</item>
+  <item id="example">例</item>
+
+  <!-- Topic titles -->
+  <item id="topicTitle_root">名前空間</item>
+	<item id="topicTitle_namespace">{0} 名前空間</item>
+	<item id="topicTitle_namespaceGroup">{0} 名前空間</item>
+	<item id="topicTitle_class">{0} クラス</item>
+	<item id="topicTitle_structure">{0} 構造体</item>
+	<item id="topicTitle_interface">{0} インターフェイス</item>
+	<item id="topicTitle_derivedTypeList">{0} 派生クラス</item>
+  
+	<item id="topicTitle_delegate">{0} デリゲート</item>
+	<item id="topicTitle_enumeration">{0} 列挙体</item>
+	<item id="topicTitle_field">{0} フィールド</item>
+	<item id="topicTitle_method">{0} メソッド {1}</item>
+	<item id="topicTitle_constructor">{0} コンストラクター {1}</item>
+	<item id="topicTitle_property">{0} プロパティ {1}</item>
+	<item id="topicTitle_event">{0} イベント</item>
+  
+  <!-- Title for operator members -->
+	<item id="topicTitle_operator">{0} 演算子 {1}</item>
+
+  <!-- Title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} 変換 {1}</item>
+  <!-- Title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} 変換演算子</item>
+      
+	<item id="topicTitle_attachedProperty">{0} 添付プロパティ</item>
+	<item id="topicTitle_attachedEvent">{0} 添付イベント</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} ジェネリッククラス</item>
+  <item id="topicTitle_generic_structure">{0} ジェネリック構造体</item>
+  <item id="topicTitle_generic_interface">{0} ジェネリックインターフェイス</item>
+  <item id="topicTitle_generic_delegate">{0} ジェネリックデリゲート</item>
+  <item id="topicTitle_generic_method">{0} ジェネリックメソッド {1}</item>
+  
+	<!-- List topic titles -->
+	<item id="topicTitle_fields">{0} フィールド</item>
+	<item id="topicTitle_methods">{0} メソッド</item>
+	<item id="topicTitle_enumMembers">メンバー</item>
+  
+  <!-- Title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} 演算子</item>
+  <!-- Title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} 演算子と型変換</item>
+  <!-- Title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} 型変換</item>
+  
+	<item id="topicTitle_constructors">{0} コンストラクター</item>
+	<item id="topicTitle_properties">{0} プロパティ</item>
+	<item id="topicTitle_events">{0} イベント</item>
+	<item id="topicTitle_attachedProperties">{0} 添付プロパティ</item>
+ 	<item id="topicTitle_attachedEvents">{0} 添付イベント</item>
+	<item id="topicTitle_members">{0} メンバー</item>
+
+	<!-- Section titles -->
+	<item id="title_syntax">構文</item>
+	<item id="title_templates">型パラメーター</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_value">値</item>
+	<item id="title_delegateValue">戻り値</item>
+	<item id="title_methodValue">戻り値</item>
+	<item id="title_propertyValue">プロパティ値</item>
+	<item id="title_fieldValue">フィールド値</item>
+	<item id="title_implements">実装</item>
+	<item id="title_examples">例</item>
+	<item id="title_threadSafety">スレッドセーフ</item>
+	<item id="title_permissions">.NET Framework セキュリティ</item>
+	<item id="title_namespaces">名前空間</item>
+	<item id="title_types">åž‹</item>
+	<item id="title_family">継承階層</item>
+	<item id="title_versions">バージョン情報</item>
+	<item id="title_platforms">プラットフォーム</item>
+	<item id="title_relatedTopics">関連項目</item>
+	<item id="title_extensionUsage">使用上の注意</item>
+	<item id="text_extensionUsage">Visual Basic と C#では、{0}型のオブジェクトのインスタンスメソッドのようにこのメソッドを呼び出せます。このメソッドを呼び出すためにインスタンスメソッド構文を使う場合、最初のパラメーターを省略します。詳細は、<a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(Visual Basic)</a>または<a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(C# プログラミング ガイド)</a>を参照してください。</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- Table headers -->
+	<item id="header_namespaceName">名前空間</item>
+	<item id="header_namespaceDescription">説明</item>
+	<item id="header_typeIcon">アイコン</item>
+  <item id="header_className">クラス</item>
+  <item id="header_structureName">構造体</item>
+  <item id="header_interfaceName">インターフェイス</item>
+  <item id="header_delegateName">デリゲート</item>
+  <item id="header_enumerationName">列挙体</item>
+  
+	<item id="header_typeName">名前</item>
+	<item id="header_typeDescription">説明</item>
+	<item id="header_memberIcon">アイコン</item>
+	<item id="header_memberName">メンバー</item>
+	<item id="header_memberValue">値</item>
+	<item id="header_memberDescription">説明</item>
+	<item id="header_eventType">イベント型</item>
+	<item id="header_eventReason">原因</item>
+	<item id="header_exceptionName">例外</item>
+	<item id="header_exceptionCondition">条件</item>
+	<item id="header_permissionName">パーミッション</item>
+	<item id="header_permissionDescription">説明</item>
+  <item id="header_requiresName">事前条件</item>
+  <item id="header_ensuresName">事後条件</item>
+  <item id="header_ensuresOnThrowName">例外発生時の事後条件</item>
+  <item id="header_invariantsName">不変条件</item>
+  
+  <!-- Member list table titles -->
+  <item id="tableTitle_namespace">名前空間</item>
+	<item id="tableTitle_class">クラス</item>
+	<item id="tableTitle_structure">構造体</item>
+	<item id="tableTitle_interface">インターフェイス</item>
+	<item id="tableTitle_delegate">デリゲート</item>
+	<item id="tableTitle_enumeration">列挙体</item>
+  <item id="tableTitle_constructor">コンストラクター</item>
+  <item id="tableTitle_method">メソッド</item>
+  <item id="tableTitle_operator">演算子</item>
+  <item id="tableTitle_field">フィールド</item>
+  <item id="tableTitle_property">プロパティ</item>
+  <item id="tableTitle_event">イベント</item>
+  <item id="tableTitle_attachedEvent">添付イベント</item>
+  <item id="tableTitle_attachedProperty">添付プロパティ</item>
+  <item id="tableTitle_explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+	<item id="tableTitle_overloadMembers">オーバーロードの一覧</item>
+  <item id="tableTitle_extensionMethod">拡張メソッド</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">スレッドセーフ</item>
+  <item id="boilerplate_threadSafety">この型の公開<include item="devlang_staticKeyword" />メンバーはすべてスレッドセーフです。インスタンスメンバーはスレッドセーフである保証はありません。</item>
+
+  <item id="text_staticThreadSafe">この型のstaticメンバーはスレッドセーフです。</item>
+  <item id="text_staticNotThreadSafe">この型のstaticメンバーはスレッドセーフではありません。</item>
+  <item id="text_instanceThreadSafe">この型のインスタンスメンバーはスレッドセーフです。</item>
+  <item id="text_instanceNotThreadSafe">この型のインスタンスメンバーはスレッドセーフではありません。</item>
+  
+  <!-- Boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">{0} ジェネリック型は下記のメンバーを公開します。</item>
+  <item id="exposedMembersTableText">{0} 型は下記のメンバーを公開します。</item>	
+
+  <item id="dependencyPropertyInfoHeading">依存関係プロパティの情報</item>
+  <item id="routedEventInfoHeading">ルーティングイベントの情報</item>
+
+  <item id="Overloaded">オーバーロード。</item>	
+  <item id="defaultNamespace">(既定の名前空間)</item>
+  
+  <item id="typeLink">åž‹: {0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter">{1}の型パラメーター<strong>{0}</strong></item>
+  
+	<!-- Internal only boilerplate text -->
+  <item id="internalOnly">このAPIは.NET Frameworkインフラストラクチャをサポートしており、ユーザーコードから直接使われることを意図していません。</item>
+  <item id="infraStructure">インフラストラクチャ</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>廃止予定。</strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>注意: このAPIは廃止予定です。</strong></item>
+
+	<!-- Group and SubGroup text -->
+  <item id="text_classUpper">クラス</item>
+  <item id="text_structureUpper">構造体</item>
+  <item id="text_interfaceUpper">インターフェイス</item>
+  <item id="text_delegateUpper">デリゲート</item>
+  <item id="text_enumerationUpper">列挙体</item>
+
+  <item id="text_membersUpper">メンバー</item>
+  <item id="text_methodsUpper">メソッド</item>
+  <item id="text_propertiesUpper">プロパティ</item>
+  <item id="text_eventsUpper">イベント</item>
+  <item id="text_fieldsUpper">フィールド</item>
+  <item id="text_operatorsUpper">演算子</item>
+  <item id="text_attachedPropertiesUpper">添付プロパティ</item>
+  <item id="text_attachedEventsUpper">添付イベント</item>
+
+	<!-- Alt text for images -->
+	<item id="altText_pubClass">Public クラス</item>
+	<item id="altText_pubStructure">Public 構造体</item>
+	<item id="altText_pubInterface">Public インターフェイス</item>
+	<item id="altText_pubDelegate">Public デリゲート</item>
+	<item id="altText_pubEnumeration">Public 列挙体</item>
+	<item id="altText_protClass">Protected クラス</item>
+	<item id="altText_protStructure">Protected 構造体</item>
+	<item id="altText_protInterface">Protected インターフェイス</item>
+	<item id="altText_protDelegate">Protected デリゲート</item>
+	<item id="altText_protEnumeration">Protected 列挙体</item>
+	<item id="altText_privClass">Private クラス</item>
+	<item id="altText_privStructure">Private 構造体</item>
+	<item id="altText_privInterface">Private インターフェイス</item>
+	<item id="altText_privDelegate">Private デリゲート</item>
+	<item id="altText_privEnumeration">Private 列挙体</item>
+
+	<item id="altText_pubConstructor">Public コンストラクター</item>
+	<item id="altText_pubMethod">Public メソッド</item>
+	<item id="altText_pubField">Public フィールド</item>
+	<item id="altText_pubProperty">Public プロパティ</item>
+	<item id="altText_pubEvent">Public イベント</item>
+	<item id="altText_pubOperator">Public 演算子</item>
+	<item id="altText_pubAttachedProperty">Public 添付プロパティ</item>
+	<item id="altText_pubAttachedEvent">Public 添付イベント</item>
+	<item id="altText_protConstructor">Protected コンストラクター</item>
+	<item id="altText_protMethod">Protected メソッド</item>
+	<item id="altText_protField">Protected フィールド</item>
+	<item id="altText_protProperty">Protected プロパティ</item>
+	<item id="altText_protEvent">Protected イベント</item>
+	<item id="altText_protOperator">Protected 演算子</item>
+	<item id="altText_protAttachedProperty">Protected 添付プロパティ</item>
+	<item id="altText_protAttachedEvent">Protected 添付イベント</item>
+	<item id="altText_privConstructor">Private コンストラクター</item>
+	<item id="altText_privMethod">Private メソッド</item>
+	<item id="altText_privField">Private フィールド</item>
+	<item id="altText_privProperty">Private プロパティ</item>
+	<item id="altText_privEvent">Private イベント</item>
+	<item id="altText_privOperator">Private 演算子</item>
+	<item id="altText_privtAttachedProperty">Private 添付プロパティ</item>
+	<item id="altText_privAttachedEvent">Private 添付イベント</item>
+	<item id="altText_static">静的メンバー</item>
+	<item id="altText_pubextension">Public 拡張メソッド</item>
+	<item id="altText_protextension">Protected 拡張メソッド</item>
+	<item id="altText_privextension">Private 拡張メソッド</item>
+
+  <item id="altText_CompactFramework">.NET Compact Frameworkによってサポートされています。</item>
+  <item id="altText_XNAFramework">XNA Frameworkによってサポートされています。</item>
+  <item id="altText_SilverlightMobile"><include item="silverlight_mobile" />によってサポートされています。</item>
+  <item id="altText_ExplicitInterface">明示的なインターフェイスの実装</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} 名前空間</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper" /></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} メンバー</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} オーバーロード</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>名前空間:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>プラットフォーム:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>アセンブリ:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>アセンブリ:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) バージョン: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>アセンブリ:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">サポートされるバージョン: {0}</item>
+  <item id="supportedIn_2">サポートされるバージョン: {0}, {1}</item>
+  <item id="supportedIn_3">サポートされるバージョン: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">サポートされるバージョン: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="obsoleteWarning">廃止予定になった (コンパイル時警告) バージョン: {0}</item>
+  <item id="obsoleteError">廃止された (コンパイル不可) バージョン: {0}</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">直前の呼び出し元に対する完全な信頼。このメンバーは、部分信頼コードからは使えません。詳細は、<a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">部分信頼コードからのライブラリの使用</a>を参照してください。</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">この型パラメーターは共変です。つまり、指定した型か、その型から派生した任意の型が使えます。</item>
+  <item id="text_contravariant">この型パラメーターは反変です。つまり、指定した型か、その型が継承する任意の型が使えます。</item>
+  <item id="text_variance">共変と反変についての詳細は、<a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">共変性と反変性 (C# および Visual Basic)</a>を参照してください。</item>
+
+  <!-- Non CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">このAPIはCLS準拠ではありません。</item>
+  <item id="boilerplate_AltClsCompliant">CLS準拠の代替は{0}です。</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">この型は SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこの型のメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="boilerplate_memberSecurityCritical">このメンバーは SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこのメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="text_securityCritical">[セキュリティ上の重要事項] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">このメンバーはオーバーロードされています。構文、使用法、例を含むこのメンバーについての完全な情報は、オーバーロード一覧の名前をクリックしてください。</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_systemRequirementsLink">
+	  <p><include item="netfw" />と<include item="netcfw" />では、各プラットフォームのすべてのバージョンはサポートしていません。サポートしているバージョンについては、<a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework システム要件</a>を参照してください。</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds -->
+  <item id="boilerplate_silverlightPlatforms">
+    <include item="silverlight" />によってサポートされているOSとブラウザーの詳細は、<a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">サポートされているオペレーティング システムとブラウザー</a>を参照してください。
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003" /></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">共通言語基盤(CLI)標準</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95" />, <include item="Win98" />, <include item="Win98Se" />, <include item="WinME" /></item>
+	<item id="WinNt4Family"><include item="WinNT4" /></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal" />, <include item="WinXPPro" />, <include item="WinXPSvr" /></item>
+	<item id="WinCE"><include item="WindowsCE" /></item>
+	<item id="Win2K"><include item="WinSvr2000" /></item>
+	<item id="Win2KSvr"><include item="Win2kServer" /></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter" /></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr" /></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks" /></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter" /></item>
+	<item id="Win2kServerApplianceKit" />
+	<item id="WinXpHome"><include item="WinXPPersonal" /></item>
+	<item id="WinXpProfessional"><include item="WinXPPro" /></item>
+	<item id="Win2003Server"><include item="WinXPSvr" /></item>
+	<item id="NETCF"><include item="PocketPC" />, <include item="SmartPhone" />, <include item="WindowsCE" /></item>
+  
+  <item id="XNA"><include item="Xbox360" />, <include item="Zune" /></item>
+       
+  <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+			 in sync with the platform/@name values used in the manifold platformFilters.xml filter files.  These
+			 values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- Silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XAML用XMLNS:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">xmlnsにマップされていません。</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br /><br />In <include item="{0}" />, このメンバーは{1}でオーバーライドされています。</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br /><br />In <include item="{0}" /> <include item="{1}" />, このメンバーは、{2}{3}{4}から継承されます。</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br /><br />In <include item="{0}" /> <include item="{1}" />, このメンバーは、{2}です。</item>
+  
+  <item id="boilerplate_useBaseSummary">このメンバーは{0}をオーバーライドしています。</item>
+  <item id="boilerplate_useBaseSee">{0}を参照してください。</item>
+  <item id="boilerplate_useBase">このメンバーは{0}をオーバーライドします。より完全なドキュメントはそのトピックで有効です。</item>
+
+  <item id="boilerplate_flagsSummary">この列挙体には、メンバーの値のビットごとの組み合わせを可能にする{0}属性があります。</item>
+	
+	<!-- Contracts -->
+	<item id="contracts_PureMethod">このメソッドは純粋です</item>
+	<item id="contracts_LearnMore">契約についてもっと学ぶ</item>
+	<item id="contracts_Description">説明: </item>
+	<item id="contracts_InheritedFrom">継承: </item>
+	<item id="contracts_Exception">例外: </item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor"><referenceLink target="T:{0}" />クラスの新しいインスタンスを初期化します</item>
+  <item id="SMCAutoDocStaticConstructor"><referenceLink target="T:{0}" />クラスの静的フィールドを初期化します</item>
+  <item id="SMCAutoDocDispose"><referenceLink target="T:{0}" />によって使われているすべてのリソースを解放します</item>
+  <item id="SMCAutoDocDisposeBool"><referenceLink target="T:{0}" />によって使われているアンマネージリソースを解放し、オプションでマネージリソースも解放します。</item>
+  <item id="SMCAutoDocDisposeParam">マネージリソースとアンマネージリソースの両方を解放する場合はtrue、アンマネージリソースのみを解放する場合はfalse</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{1}"に対する&lt;{0}&gt;がありません]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{2}"に対する&lt;{0} name="{1}"/&gt;がありません</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">['{0}'で使われている&lt;include&gt;ターゲットドキュメントがありません。File: '{1}' Path: '{2}']</p></item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3124f55a2b8bea081ec366113d4bdb83c3350b6b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ja-JP/SharedContent.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Media file path -->
+	<item id="mediaPath">media/{0}</item>
+
+	<!-- Topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+	<item id="header"></item>
+
+	<!-- Alert titles -->
+	<item id="alert_title_tip">ヒント</item>
+	<item id="alert_title_caution">注意</item>
+	<item id="alert_title_security">セキュリティ メモ</item>
+	<item id="alert_title_note">メモ</item>
+	<item id="alert_title_important">重要</item>
+	<item id="alert_title_visualBasic">Visual Basic メモ</item>
+	<item id="alert_title_visualC#">C# メモ</item>
+	<item id="alert_title_visualC++">C++ メモ</item>
+	<item id="alert_title_visualJ#">J# メモ</item>
+	<item id="text_NotesForImplementers">実装時の注意</item>
+	<item id="text_NotesForCallers">利用時の注意</item>
+	<item id="text_NotesForInheritors">継承する場合の注意</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">ヒント</item>
+	<item id="alert_altText_caution">注意 メモ</item>
+	<item id="alert_altText_security">セキュリティ メモ</item>
+	<item id="alert_altText_note">メモ</item>
+	<item id="alert_altText_important">重要 メモ</item>
+	<item id="alert_altText_visualBasic">Visual Basic メモ</item>
+	<item id="alert_altText_visualC#">C# メモ</item>
+	<item id="alert_altText_visualC++">C++ メモ</item>
+	<item id="alert_altText_visualJ#">J# メモ</item>
+
+	<!-- Section titles -->
+	<item id="title_remarks">解説</item>
+	<item id="title_changeHistory">変更履歴</item>
+	<item id="title_events">イベント</item>
+	<item id="title_exceptions">例外</item>
+	<item id="title_contracts">契約</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">タスク</item>
+	<item id="title_seeAlso_reference">参照</item>
+	<item id="title_seeAlso_concepts">コンセプト</item>
+	<item id="title_seeAlso_otherResources">その他のリソース</item>
+
+	<item id="inline_dynamicLink_prefixText">より詳しくは、</item>
+	<item id="inline_dynamicLink_postfixText">を参照してください。</item>
+	<item id="inline_dynamicLink_separatorText">と</item>
+
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic と C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<!-- Language keywords -->
+	<item id="devlang_nullKeyword">null 参照(Visual Basicでは`Nothing`)</item>
+	<item id="devlang_staticKeyword">`static` (Visual Basicでは`Shared`)</item>
+	<item id="devlang_virtualKeyword">`virtual` (Visual Basicでは`Overridable`)</item>
+	<item id="devlang_trueKeyword">`true` (Visual Basicでは`True`)</item>
+	<item id="devlang_falseKeyword">`false` (Visual Basicでは`False`)</item>
+	<item id="devlang_abstractKeyword">`abstract` (Visual Basicでは`MustInherit`)</item>
+	<item id="devlang_sealedKeyword">`sealed` (Visual Basicでは`NotInheritable`)</item>
+	<item id="devlang_asyncKeyword">`async` (Visual Basicでは`Async`)</item>
+	<item id="devlang_awaitKeyword">`await` (Visual Basicでは`Await`)</item>
+	<item id="devlang_asyncAwaitKeyword">`async`/`await` (Visual Basicでは`Async`/`Await`)</item>
+
+	<!-- Back to Top link text -->
+	<item id="top">トップ</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..64c05b64d71f23a90b405e785a4078bfbd305d39
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/ConceptualContent.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- Section titles -->
+	<item id="title_inThisSection">В этом подразделе</item>
+	<item id="title_buildInstructions">Компиляция кода</item>
+	<item id="title_nextSteps">Следующие шаги</item>
+	<item id="title_requirements">Требования</item>
+	<item id="title_relatedSections">Связанные разделы</item>
+	<item id="title_relatedTopics">См. также</item>
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_returnValue">Возвращаемое значение</item>
+	<item id="title_attributesAndElements">Атрибуты и элементы</item>
+	<item id="title_attributes">Атрибуты</item>
+	<item id="title_childElement">Дочерние элементы</item>
+	<item id="title_parentElement">Родительские элементы</item>
+	<item id="title_elementInformation">Сведения об элементе</item>
+	<item id="title_textValue">Текстовое значение</item>
+	<item id="title_dotNetFrameworkEquivalent">Эквивалент в платформе .NET Framework</item>
+	<item id="title_prerequisites">Предварительные условия</item>
+	<item id="title_robustProgramming">Отказоустойчивость</item>
+	<item id="title_securitySection">Безопасность</item>
+	<item id="title_externalResources">Внешние ресурсы</item>
+	<item id="title_demonstrates">Демонстрация</item>
+	<item id="title_appliesTo">Применимо к</item>
+	<item id="title_conclusion">Выводы</item>
+	<item id="title_background">Предпосылки</item>
+	<item id="title_whatsNew">Что нового</item>
+	<item id="title_reference">Ссылки</item>
+	<item id="title_errorMessage">Сообщение об ошибке</item>
+	<item id="title_example">Пример</item>
+
+	<!-- AutoOutline boilerplate -->
+	<item id="boilerplate_autoOutlineTopLevelIntro">Эта тема содержит следующие разделы:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">В этом разделе содержатся следующие подразделы:</item>
+
+	<!-- Resolve the autoOutline token -->
+	<item id="autoOutline">
+		<autoOutline />
+	</item>
+
+	<!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+	<item id="boilerplate_copyrightNotice">
+		<p>{0} &#169;{1}{2}. Все права защищены.</p>
+	</item>
+
+	<!-- Glossary related entries -->
+	<item id="text_relatedEntries">См. также:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9f9369a451a922a96a2bfa255eda404303644763
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/ReferenceContent.xml
@@ -0,0 +1,439 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- Note text -->
+	<item id="notDocumented">Это API не документировано.</item>
+	<item id="preliminaryText">Это предварительная документация, которая в будущем может измениться.</item>
+
+	<!-- Inserted boilerplate -->
+	<item id="definedBy">(Определяется {0}.)</item>
+	<item id="inheritedFrom">(Унаследован от {0}.)</item>
+	<item id="overridesMember">(Переопределяет {0}.)</item>
+	<item id="locationInformation">Сборка: {0} (Модуль: {1})</item>
+ 
+  <item id="derivedClasses">Производные классы</item>
+  <item id="explicitInterfaceImplementation">Явные реализации интерфейсов</item>
+  <item id="returnValue">Возвращаемое значение</item>
+  <item id="propertyValue">Значение свойства</item>
+  <item id="fieldValue">Значение поля</item>
+  <item id="example">Пример</item>
+
+  <!-- Topic titles -->
+  <item id="topicTitle_root">Пространства имён</item>
+	<item id="topicTitle_namespace">{0} - пространство имён</item>
+	<item id="topicTitle_namespaceGroup">{0} - пространства имён</item>
+	<item id="topicTitle_class">{0} - класс</item>
+	<item id="topicTitle_structure">{0} - структура</item>
+	<item id="topicTitle_interface">{0} - интерфейс</item>
+	<item id="topicTitle_derivedTypeList">{0} - производные классы</item>
+  
+	<item id="topicTitle_delegate">{0} - делегат</item>
+	<item id="topicTitle_enumeration">{0} - перечисление</item>
+	<item id="topicTitle_field">{0} - поле</item>
+	<item id="topicTitle_method">{0}{1} - метод</item>
+	<item id="topicTitle_constructor">{0}{1} - конструктор</item>
+	<item id="topicTitle_property">{0}{1} - свойство</item>
+	<item id="topicTitle_event">{0} - событие</item>
+  
+  <!-- Title for operator members -->
+	<item id="topicTitle_operator">{0}{1} - оператор</item>
+
+  <!-- Title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} - преобразование {1}</item>
+  <!-- Title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} - операторы преобразования</item>
+      
+	<item id="topicTitle_attachedProperty">{0} - вложенное свойство</item>
+	<item id="topicTitle_attachedEvent">{0} - вложенное событие</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} - универсальный класс</item>
+  <item id="topicTitle_generic_structure">{0} - универсальная структура</item>
+  <item id="topicTitle_generic_interface">{0} - универсальный интерфейс</item>
+  <item id="topicTitle_generic_delegate">{0} - универсальный делегат</item>
+  <item id="topicTitle_generic_method">{0}{1} - универсальный метод</item>
+  
+	<!-- List topic titles -->
+	<item id="topicTitle_fields">{0} - поля</item>
+	<item id="topicTitle_methods">{0} - методы</item>
+	<item id="topicTitle_enumMembers">Члены</item>
+  
+  <!-- Title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} - операторы</item>
+  <!-- Title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0}  - операторы и преобразования типов</item>
+  <!-- Title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} - преобразования типов</item>
+  
+	<item id="topicTitle_constructors">{0} - конструкторы</item>
+	<item id="topicTitle_properties">{0} - свойства</item>
+	<item id="topicTitle_events">{0} - события</item>
+	<item id="topicTitle_attachedProperties">{0} - вложенные свойства</item>
+ 	<item id="topicTitle_attachedEvents">{0} - вложенные события</item>
+	<item id="topicTitle_members">{0} - члены</item>
+
+	<!-- Section titles -->
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_templates">Параметры типа</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_value">Значение</item>
+	<item id="title_delegateValue">Возвращаемое значение</item>
+	<item id="title_methodValue">Возвращаемое значение</item>
+	<item id="title_propertyValue">Значение свойства</item>
+	<item id="title_fieldValue">Значение поля</item>
+  <item id="title_implements">Реализации</item>
+	<item id="title_examples">Примеры</item>
+	<item id="title_threadSafety">Потокобезопасность</item>
+	<item id="title_permissions">Безопасность платформы .NET Framework</item> 
+	<item id="title_namespaces">Пространства имён</item>
+	<item id="title_types">Типы</item>
+	<item id="title_family">Иерархия наследования</item>
+	<item id="title_versions">Сведения о версии</item>
+	<item id="title_platforms">Платформы</item>
+  <item id="title_relatedTopics">См. также</item>
+  <item id="title_extensionUsage">Примечание об использовании</item>
+  <item id="text_extensionUsage">В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа {0}. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Visual Basic)</a> или <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Руководство по программированию в C#)</a>.</item>
+	<item id="text_moreInheritance">Подробнее...</item>
+
+	<!-- Table headers -->
+	<item id="header_namespaceName">Пространство имён</item>
+	<item id="header_namespaceDescription">Описание</item>
+	<item id="header_typeIcon">Значок</item>
+  <item id="header_className">Класс</item>
+  <item id="header_structureName">Структура</item>
+  <item id="header_interfaceName">Интерфейс</item>
+  <item id="header_delegateName">Делегат</item>
+  <item id="header_enumerationName">Перечисление</item>
+  
+	<item id="header_typeName">Имя</item>
+	<item id="header_typeDescription">Описание</item>
+	<item id="header_memberIcon">Значок</item>
+	<item id="header_memberName">Имя члена</item>
+	<item id="header_memberValue">Значение</item>
+	<item id="header_memberDescription">Описание</item>
+	<item id="header_eventTypeHeader">Тип события</item>
+	<item id="header_eventReasonHeader">Причина события</item>
+	<item id="header_exceptionName">Исключение</item>
+	<item id="header_exceptionCondition">Условие</item>
+	<item id="header_permissionName">Разрешение</item>
+	<item id="header_permissionDescription">Описание</item>
+  <item id="header_requiresName">Предусловия</item>
+  <item id="header_ensuresName">Постусловия</item>
+  <item id="header_ensuresOnThrowName">Постусловия при возникновении исключений</item>
+  <item id="header_invariantsName">Инварианты</item>
+
+  <!-- Member list table titles -->
+  <item id="tableTitle_namespace">Пространства имён</item>
+	<item id="tableTitle_class">Классы</item>
+	<item id="tableTitle_structure">Структуры</item>
+	<item id="tableTitle_interface">Интерфейсы</item>
+	<item id="tableTitle_delegate">Делегаты</item>
+	<item id="tableTitle_enumeration">Перечисления</item>
+  <item id="tableTitle_constructor">Конструкторы</item>
+  <item id="tableTitle_method">Методы</item>
+  <item id="tableTitle_operator">Операторы</item>
+  <item id="tableTitle_field">Поля</item>
+  <item id="tableTitle_property">Свойства</item>
+  <item id="tableTitle_event">События</item>
+  <item id="tableTitle_attachedEvent">Вложенные события</item>
+  <item id="tableTitle_attachedProperty">Вложенные свойства</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Явные&#160;реализации&#160;интерфейсов</item>
+	<item id="tableTitle_overloadMembers">Список&#160;перегрузок</item>
+  <item id="tableTitle_extensionMethod">Методы&#160;расширения</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Потокобезопасность</item>
+  <item id="boilerplate_threadSafety">Любые открытые члены этого типа, объявленные как <include item="devlang_staticKeyword"/>, являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.</item>
+
+  <item id="text_staticThreadSafe">Статические члены этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_staticNotThreadSafe">Статические члены этого типа, являются небезопасными для многопоточных операций. </item>
+  <item id="text_instanceThreadSafe">Члены экземпляра этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_instanceNotThreadSafe">Члены экземпляра этого типа, являются небезопасными для многопоточных операций. </item>
+  
+  <!-- Boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Универсальный тип {0} предоставляет следующие члены.</item>
+  <item id="exposedMembersTableText">Тип {0} предоставляет следующие члены.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Информация о свойстве зависимостей</item>
+  <item id="routedEventInfoHeading">Информация о перенаправленном событии</item>
+
+  <item id="Overloaded">Перегружен. </item>
+  <item id="defaultNamespace">(пространство имён по-умолчанию)</item>
+  
+  <item id="typeLink">Тип:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter">**{0}** - параметр типа {1}.</item>
+
+
+
+	<!-- Internal only boilerplate text -->
+  <item id="internalOnly">Данный API разработан для поддержки инфраструктуры .NET Framework и не предназначен для использования непосредственно из кода.</item>
+  <item id="infraStructure">Инфраструктура. </item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort">**Устарело. **</item>
+  <item id="boilerplate_obsoleteLong">**Примечание: Данный API устарел.**</item>
+
+	<!-- Group and SubGroup text -->
+  <item id="text_classUpper">Класс</item>
+  <item id="text_structureUpper">Структура</item>
+  <item id="text_interfaceUpper">Интерфейс</item>
+  <item id="text_delegateUpper">Делегат</item>
+  <item id="text_enumerationUpper">Перечисление</item>
+
+  <item id="text_membersUpper">Члены</item>
+  <item id="text_methodsUpper">Методы</item>
+  <item id="text_propertiesUpper">Свойства</item>
+  <item id="text_eventsUpper">События</item>
+  <item id="text_fieldsUpper">Поля</item>
+  <item id="text_operatorsUpper">Операторы</item>
+  <item id="text_attachedPropertiesUpper">Вложенные свойства</item>
+  <item id="text_attachedEventsUpper">Вложенные события</item>
+
+	<!-- Alt text for images -->
+  <item id="altText_pubClass">Открытый класс</item>
+  <item id="altText_pubStructure">Открытая структура</item>
+  <item id="altText_pubInterface">Открытый интерфейс</item>
+  <item id="altText_pubDelegate">Открытый делегат</item>
+  <item id="altText_pubEnumeration">Открытое перечисление</item>
+  <item id="altText_protClass">Защищённый класс</item>
+  <item id="altText_protStructure">Защищённая структура</item>
+  <item id="altText_protInterface">Защищённый интерфейс</item>
+  <item id="altText_protDelegate">Защищённый делегат</item>
+  <item id="altText_protEnumeration">Защищённое перечисление</item>
+  <item id="altText_privClass">Закрытый класс</item>
+  <item id="altText_privStructure">Закрытая структура</item>
+  <item id="altText_privInterface">Закрытый интерфейс</item>
+  <item id="altText_privDelegate">Закрытый делегат</item>
+  <item id="altText_privEnumeration">Закрытое перечисление</item>
+
+  <item id="altText_pubConstructor">Открытый конструктор</item>
+  <item id="altText_pubMethod">Открытый метод</item>
+  <item id="altText_pubField">Открытое поле</item>
+  <item id="altText_pubProperty">Открытое свойство</item>
+  <item id="altText_pubEvent">Открытое событие</item>
+  <item id="altText_pubOperator">Открытый оператор</item>
+  <item id="altText_pubAttachedProperty">Открытое вложенное свойство</item>
+  <item id="altText_pubAttachedEvent">Открытое вложенное событие</item>
+  <item id="altText_protConstructor">Защищённый конструктор</item>
+  <item id="altText_protMethod">Защищённый метод</item>
+  <item id="altText_protField">Защищённое поле</item>
+  <item id="altText_protProperty">Защищённое свойство</item>
+  <item id="altText_protEvent">Защищённое событие</item>
+  <item id="altText_protOperator">Защищённый оператор</item>
+  <item id="altText_protAttachedProperty">Защищённое вложенное свойство</item>
+  <item id="altText_protAttachedEvent">Защищённое вложенное событие</item>
+  <item id="altText_privConstructor">Закрытый конструктор</item>
+  <item id="altText_privMethod">Закрытый метод</item>
+  <item id="altText_privField">Закрытое поле</item>
+  <item id="altText_privProperty">Закрытое свойство</item>
+  <item id="altText_privEvent">Закрытое событие</item>
+  <item id="altText_privOperator">Закрытый оператор</item>
+  <item id="altText_privtAttachedProperty">Закрытое вложенное свойство</item>
+  <item id="altText_privAttachedEvent">Закрытое вложенное событие</item>
+  <item id="altText_static">Статический член</item>
+  <item id="altText_pubextension">Открытый метод расширения</item>
+  <item id="altText_protextension">Защищённый метод расширения</item>
+  <item id="altText_privextension">Закрытый метод расширения</item>
+
+  <item id="altText_CompactFramework">Поддерживается платформой .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Поддерживается платформой XNA Framework</item>
+  <item id="altText_SilverlightMobile">Поддерживается платформой <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Явные реализации интерфейса</item>
+  <item id="altText_CodeExample">Пример кода</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} - пространство имён</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} - <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} - члены</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} - перегрузка</item>
+
+  <item id="boilerplate_requirementsNamespace">**Пространство имён:**</item>
+
+  <item id="boilerplate_requirementsPlatforms">**Платформы:** {0}</item>
+
+  <item id="boilerplate_requirementsAssemblies">**Сборки:**</item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">**Сборка:**</item>
+
+	<item id="assemblyNameAndModule">{0} (в {1}.{2}) Версия: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">**Сборка:** {0} (в {1}.dll)</item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Поддерживается в: {0}</item>
+  <item id="supportedIn_2">Поддерживается в: {0}, {1}</item>
+  <item id="supportedIn_3">Поддерживается в: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Поддерживается в: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Поддерживается в: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="obsoleteWarning">Устарело (предупреждение компилятора) в {0}</item>
+  <item id="obsoleteError">Устарело (не компилируется) в {0} и более поздних версиях</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Полное доверие для модуля немедленного вызова. Данный элемент не может использоваться кодом с частичным доверием. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Использование библиотек из не вполне надежного кода</a>.</item>
+  
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Этот параметр типа является ковариантным. Это означает, что можно использовать либо указанный тип, либо более производный тип. </item>
+  <item id="text_contravariant">Этот параметр типа является контрвариантным. Это означает, что можно использовать либо указанный тип, либо менее производный тип. </item>
+  <item id="text_variance">Дополнительные сведения о ковариации и контрвариации см. в разделе <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Ковариация и контравариация в универсальных шаблонах</a>.</item>
+  
+  <!-- Non CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Этот интерфейс API CLS-несовместим.</item>
+  <item id="boilerplate_AltClsCompliant">CLS-совместимая альтернатива - {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Этот тип имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к любому члену этого типа из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Этот член имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к этому члену из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="text_securityCritical">[ВАЖНЫЙ ЭЛЕМЕНТ БЕЗОПАСНОСТИ] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Этот член перегружен. Для получения полной информации о данном члене, включая синтаксис, использование и примеры, щелкните имя в списке перегрузок.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_systemRequirementsLink">
+	  <p><include item="netfw"/> и <include item="netcfw"/> поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">Требования к системе для .NET Framework</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds -->
+  <item id="boilerplate_silverlightPlatforms">Список операционных систем и браузеров, поддерживаемых <include item="silverlight"/>, см. в разделе <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Поддерживаемые операционные системы и браузеры</a>.</item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+       in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.  These
+       values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- Silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements">**XMLNS для XAML:** {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">не имеет соответствия в xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br /><br />В <include item="{0}"/>, этот член переопределён как {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br /><br />В <include item="{0}"/>&#160;<include item="{1}"/>, этот член унаследован от {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br /><br />В <include item="{0}"/>&#160;<include item="{1}"/>, этот метод является {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Этот член переопределяет {0}.</item>
+  <item id="boilerplate_useBaseSee">См. {0}.</item>
+  <item id="boilerplate_useBase">Этот член переопределяет {0}; по данной теме может быть доступна более полная документация.</item>
+
+  <item id="boilerplate_flagsSummary">Это перечисление имеет атрибут {0}, поддерживающий побитовое соединение составляющих его значений.</item>
+
+	<!-- Contracts -->
+	<item id="contracts_PureMethod">Этот метод является чистым.</item>
+	<item id="contracts_LearnMore">Узнать больше о контрактах</item>
+	<item id="contracts_Description">Описание: </item>
+	<item id="contracts_InheritedFrom">Унаследован от: </item>
+	<item id="contracts_Exception">Исключение: </item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Инициализирует новый экземпляр класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocStaticConstructor">Инициализирует статические члены класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDispose">Освобождает все ресурсы, используемые объектом <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Освобождает неуправляемые ресурсы, используемые объектом <referenceLink target="T:{0}" />, а при необходимости освобождает также управляемые ресурсы</item>
+  <item id="SMCAutoDocDisposeParam">Значение true позволяет освободить управляемые и неуправляемые ресурсы; значение false позволяет освободить только неуправляемые ресурсы.</item>
+  <item id="SMCMissingTag">\[&lt;{0}&gt; отсутствует в документации для "{1}"\]</item>
+  <item id="SMCMissingParamTag">\[&lt;{0} name="{1}"/&gt; отсутствует в документации для "{2}"\]</item>
+  <item id="SMCMissingIncludeTarget">\[&lt;include&gt; отсутствует в '{0}'.  Файл: '{1}' Путь: '{2}'\]</item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a725c8a2a57ef6372219da597c5fc1e43e2c5fae
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/ru-RU/SharedContent.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+  <!-- Topic title -->
+  <item id="boilerplate_pageTitle">{0}</item>
+	<item id="header"></item>
+
+	<!-- Alert titles -->
+	<item id="alert_title_tip">Подсказка</item>
+	<item id="alert_title_caution">Внимание</item>
+	<item id="alert_title_security">Примечание по безопасности</item>
+	<item id="alert_title_note">Примечание</item>
+	<item id="alert_title_important">Важно</item>
+	<item id="alert_title_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_title_visualC#">Примечание для C#</item>
+	<item id="alert_title_visualC++">Примечание для C++</item>
+	<item id="alert_title_visualJ#">Примечание для J#</item>
+	<item id="text_NotesForImplementers">Примечания для реализующих объектов</item>
+	<item id="text_NotesForCallers">Примечания для вызывающих объектов</item>
+	<item id="text_NotesForInheritors">Примечания для наследников</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">Подсказка</item>
+	<item id="alert_altText_caution">Внимание</item>
+	<item id="alert_altText_security">Примечание по безопасности</item>
+	<item id="alert_altText_note">Примечание</item>
+	<item id="alert_altText_important">Важно</item>
+	<item id="alert_altText_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_altText_visualC#">Примечание для C#</item>
+	<item id="alert_altText_visualC++">Примечание для C++</item>
+	<item id="alert_altText_visualJ#">Примечание для J#</item>
+
+  <!-- Section titles -->
+  <item id="title_remarks">Заметки</item>
+  <item id="title_changeHistory">История изменений</item>
+  <item id="title_events">События</item>
+  <item id="title_exceptions">Исключения</item>
+  <item id="title_contracts">Контракты</item>
+  <item id="title_setter">Set</item>
+  <item id="title_getter">Get</item>
+  <item id="title_seeAlso_tasks">Задачи</item>
+  <item id="title_seeAlso_reference">Ссылки</item>
+  <item id="title_seeAlso_concepts">Основные понятия</item>
+  <item id="title_seeAlso_otherResources">Другие ресурсы</item>
+
+	<item id="inline_dynamicLink_prefixText">Для получения дополнительной информации см. </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> и </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">VB и C#</item>
+	<item id="devlang_XML">XML</item>
+
+  <!-- language keywords -->
+  <item id="devlang_nullKeyword">`null` (`Nothing` в Visual Basic)</item>
+  <item id="devlang_staticKeyword">`static` (`Shared` в Visual Basic)</item>
+  <item id="devlang_virtualKeyword">`virtual` (`Overridable` в Visual Basic)</item>
+  <item id="devlang_trueKeyword">`true` (`True` в Visual Basic)</item>
+  <item id="devlang_falseKeyword">`false` (`False` в Visual Basic)</item>
+  <item id="devlang_abstractKeyword">`abstract` (`MustInherit` в Visual Basic)</item>
+  <item id="devlang_sealedKeyword">`sealed` (`NotInheritable` в Visual Basic)</item>
+	<item id="devlang_asyncKeyword">`async` (`Async` в Visual Basic)</item>
+	<item id="devlang_awaitKeyword">`await` (`Await` в Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword">`async`/`await` (`Async`/`Await` в Visual Basic)</item>
+
+  <!-- Back to Top link text -->
+  <item id="top">В начало страницы</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f3ea90cbb0c6fec95073a926e5928adba6261ad8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/ConceptualContent.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+    <!-- Section titles -->
+    <item id="title_inThisSection">此节中</item>
+    <item id="title_buildInstructions">编译代码</item>
+    <item id="title_nextSteps">下一步</item>
+    <item id="title_requirements">要求</item>
+    <item id="title_relatedSections">相关内容</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_syntax">语法</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_returnValue">返回值</item>
+    <item id="title_attributesAndElements">特性和元素</item>
+    <item id="title_attributes">特性</item>
+    <item id="title_childElement">子元素</item>
+    <item id="title_parentElement">父元素</item>
+    <item id="title_elementInformation">元素信息</item>
+    <item id="title_textValue">文本值</item>
+    <item id="title_dotNetFrameworkEquivalent">.NET 框架等价项</item>
+    <item id="title_prerequisites">必备条件</item>
+    <item id="title_robustProgramming">鲁棒编程</item>
+    <item id="title_securitySection">安全性</item>
+    <item id="title_externalResources">外部资源</item>
+    <item id="title_demonstrates">演示</item>
+    <item id="title_appliesTo">应用到</item>
+    <item id="title_conclusion">结论</item>
+    <item id="title_background">背景资料</item>
+    <item id="title_whatsNew">新特性</item>
+    <item id="title_reference">参考</item>
+    <item id="title_errorMessage">错误消息</item>
+    <item id="title_example">示例</item>
+
+    <!-- AutoOutline boilerplate -->
+    <item id="boilerplate_autoOutlineTopLevelIntro">本页包含以下内容:</item>
+    <item id="boilerplate_autoOutlineSubsectionIntro">本节包含以下子节内容:</item>
+
+    <!-- Resolve the autoOutline token -->
+    <item id="autoOutline">
+        <autoOutline />
+    </item>
+
+    <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+    <item id="boilerplate_copyrightNotice">
+        <p>{0} &#169;{1}{2}。保留所有权力</p>
+    </item>
+
+    <!-- Glossary related entries -->
+    <item id="text_relatedEntries">参见:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..468d7cab06b8415e33e6c8a08502f1ce140544fe
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/ReferenceContent.xml
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+    <!-- Note text -->
+    <item id="notDocumented">此API没有对应的文档。</item>
+    <item id="preliminaryText">此API尚未最终确定,随时可能调整。</item>
+
+    <!-- Inserted boilerplate -->
+    <item id="definedBy">(由 {0} 定义。)</item>
+    <item id="inheritedFrom">(继承自 {0}。)</item>
+    <item id="overridesMember">(重写 {0}.)</item>
+    <item id="locationInformation">程序集:{0} (模块:{1})</item>
+
+    <item id="derivedClasses">派生类</item>
+    <item id="explicitInterfaceImplementation">显式的接口实现</item>
+    <item id="returnValue">返回值</item>
+    <item id="propertyValue">属性值</item>
+    <item id="fieldValue">字段值</item>
+    <item id="example">示例</item>
+
+    <!-- Topic titles -->
+    <item id="topicTitle_root">命名空间</item>
+    <item id="topicTitle_namespace">{0} 命名空间</item>
+    <item id="topicTitle_namespaceGroup">{0} 命名空间</item>
+    <item id="topicTitle_class">{0} ç±»</item>
+    <item id="topicTitle_structure">{0} 结构</item>
+    <item id="topicTitle_interface">{0} 接口</item>
+    <item id="topicTitle_derivedTypeList">{0} 派生类</item>
+
+    <item id="topicTitle_delegate">{0} 委托</item>
+    <item id="topicTitle_enumeration">{0} 枚举</item>
+    <item id="topicTitle_field">{0} 字段</item>
+    <item id="topicTitle_method">{0} 方法 {1}</item>
+    <item id="topicTitle_constructor">{0} 构造函数 {1}</item>
+    <item id="topicTitle_property">{0} 属性 {1}</item>
+    <item id="topicTitle_event">{0} 事件</item>
+
+    <!-- title for operator members -->
+    <item id="topicTitle_operator">{0} 运算符 {1}</item>
+
+    <!-- title for op_explicit and op_implicit members -->
+    <item id="topicTitle_typeConversion">{0} 转换 {1}</item>
+    <!-- title for overload op_explicit and op_implicit topics -->
+    <item id="topicTitle_conversionOperator">{0} 转换运算符</item>
+
+    <item id="topicTitle_attachedProperty">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvent">{0} 附加事件</item>
+
+    <item id="generic"> 泛型</item>
+    <item id="topicTitle_generic_class">{0} 泛型类</item>
+    <item id="topicTitle_generic_structure">{0} 泛型结构</item>
+    <item id="topicTitle_generic_interface">{0} 泛型接口</item>
+    <item id="topicTitle_generic_delegate">{0} 泛型委托</item>
+    <item id="topicTitle_generic_method">{0} 泛型方法 {1}</item>
+
+    <!-- list topic titles -->
+    <item id="topicTitle_fields">{0} 字段</item>
+    <item id="topicTitle_methods">{0} 方法</item>
+    <item id="topicTitle_enumMembers">成员</item>
+
+    <!-- title for operator list topic that has [operators + no type conversions] -->
+    <item id="topicTitle_operators">{0} 运算符</item>
+    <!-- title for operator list topic that has [operators + type conversions] -->
+    <item id="topicTitle_operatorsAndTypeConversions">{0} 运算符与类型转换</item>
+    <!-- title for operator list topic that has [no operators + type conversions] -->
+    <item id="topicTitle_typeConversions">{0} 类型转换</item>
+
+    <item id="topicTitle_constructors">{0} 构造函数</item>
+    <item id="topicTitle_properties">{0} 属性</item>
+    <item id="topicTitle_events">{0} 事件</item>
+    <item id="topicTitle_attachedProperties">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvents">{0} 附加事件</item>
+    <item id="topicTitle_members">{0} 成员</item>
+
+    <!-- section titles -->
+    <item id="title_syntax">语法</item>
+    <item id="title_templates">类型参数</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_value">值</item>
+    <item id="title_delegateValue">返回值</item>
+    <item id="title_methodValue">返回值</item>
+    <item id="title_propertyValue">属性值</item>
+    <item id="title_fieldValue">字段值</item>
+    <item id="title_implements">实现</item>
+    <item id="title_examples">示例</item>
+    <item id="title_threadSafety">线程安全性</item>
+    <item id="title_permissions">权限</item>
+    <item id="title_namespaces">命名空间</item>
+    <item id="title_types">类型</item>
+    <item id="title_family">继承层次</item>
+    <item id="title_versions">版本信息</item>
+    <item id="title_platforms">平台</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_extensionUsage">备注</item>
+    <item id="text_extensionUsage">在 Visual Basic 和 C# 中,这个方法可以当成为类型{0}的实例方法来调用。在采用实例方法语法调用这个方法时,请省略第一个参数。请参考 <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (Visual Basic)</a> 或 <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (C# 编程指南)</a> 获取更多信息。</item>
+    <item id="text_moreInheritance">更多...</item>
+
+    <!-- table headers -->
+    <item id="header_namespaceName">命名空间</item>
+    <item id="header_namespaceDescription">说明</item>
+    <item id="header_typeIcon">图标</item>
+    <item id="header_className">ç±»</item>
+    <item id="header_structureName">结构</item>
+    <item id="header_interfaceName">接口</item>
+    <item id="header_delegateName">委托</item>
+    <item id="header_enumerationName">枚举</item>
+
+    <item id="header_typeName">名称</item>
+    <item id="header_typeDescription">说明</item>
+    <item id="header_memberIcon">图标</item>
+    <item id="header_memberName">成员名称</item>
+    <item id="header_memberValue">值</item>
+    <item id="header_memberDescription">说明</item>
+    <item id="header_eventType">事件类型</item>
+    <item id="header_eventReason">原因</item>
+    <item id="header_exceptionName">异常</item>
+    <item id="header_exceptionCondition">条件</item>
+    <item id="header_permissionName">权限</item>
+    <item id="header_permissionDescription">说明</item>
+    <item id="header_requiresName">Requires</item>
+    <item id="header_ensuresName">Ensures</item>
+    <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+    <item id="header_invariantsName">Invariants</item>
+
+    <!-- Member list table titles -->
+    <item id="tableTitle_namespace">命名空间</item>
+    <item id="tableTitle_class">ç±»</item>
+    <item id="tableTitle_structure">结构</item>
+    <item id="tableTitle_interface">接口</item>
+    <item id="tableTitle_delegate">委托</item>
+    <item id="tableTitle_enumeration">枚举</item>
+    <item id="tableTitle_constructor">构造函数</item>
+    <item id="tableTitle_method">方法</item>
+    <item id="tableTitle_operator">运算符</item>
+    <item id="tableTitle_field">字段</item>
+    <item id="tableTitle_property">属性</item>
+    <item id="tableTitle_event">事件</item>
+    <item id="tableTitle_attachedEvent">附加事件</item>
+    <item id="tableTitle_attachedProperty">附加属性</item>
+    <item id="tableTitle_explicitInterfaceImplementation">显式接口实现</item>
+    <item id="tableTitle_overloadMembers">重载列表</item>
+    <item id="tableTitle_extensionMethod">扩展方法</item>
+
+    <!-- Thread Safety -->
+    <item id="text_threadSafety">线程安全</item>
+    <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/>  members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+    <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+    <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+    <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+    <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+
+    <!-- Boilerplate intro to member list tables -->
+    <item id="genericExposedMembersTableText">The {0} generic type exposes the following members.</item>
+    <item id="exposedMembersTableText">The {0} type exposes the following members.</item>	
+
+    <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+    <item id="routedEventInfoHeading">Routed Event Information</item>
+
+    <item id="Overloaded">已重载。</item>	
+    <item id="defaultNamespace">( 默认命名空间 )</item>
+
+    <item id="typeLink">Type: {0}</item>
+    <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+    <item id="typeLinkToTypeParameter">**{0}** {1} 的类型参数。</item>
+
+    <!-- Internal only boilerplate text -->
+    <item id="internalOnly">This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.</item>
+    <item id="infraStructure">Infrastructure. </item>
+
+    <!-- Obsolete boilerplate text -->
+    <item id="boilerplate_obsoleteShort">**Obsolete. **</item>
+    <item id="boilerplate_obsoleteLong">**Note: This API is now obsolete.**</item>
+
+    <!-- Group and SubGroup text -->
+    <item id="text_classUpper">ç±»</item>
+    <item id="text_structureUpper">结构</item>
+    <item id="text_interfaceUpper">接口</item>
+    <item id="text_delegateUpper">委托</item>
+    <item id="text_enumerationUpper">枚举</item>
+
+    <item id="text_membersUpper">成员</item>
+    <item id="text_methodsUpper">方法</item>
+    <item id="text_propertiesUpper">属性</item>
+    <item id="text_eventsUpper">事件</item>
+    <item id="text_fieldsUpper">字段</item>
+    <item id="text_operatorsUpper">运算符</item>
+    <item id="text_attachedPropertiesUpper">附加属性</item>
+    <item id="text_attachedEventsUpper">附加事件</item>
+
+    <!-- Alt text for images -->
+    <item id="altText_pubClass">公共类</item>
+    <item id="altText_pubStructure">公共结构</item>
+    <item id="altText_pubInterface">公共接口</item>
+    <item id="altText_pubDelegate">公共委托</item>
+    <item id="altText_pubEnumeration">公共枚举</item>
+    <item id="altText_protClass">受保护的类</item>
+    <item id="altText_protStructure">受保护的结构</item>
+    <item id="altText_protInterface">受保护的接口</item>
+    <item id="altText_protDelegate">受保护的委托</item>
+    <item id="altText_protEnumeration">受保护的枚举</item>
+    <item id="altText_privClass">私有类</item>
+    <item id="altText_privStructure">私有结构</item>
+    <item id="altText_privInterface">私有接口</item>
+    <item id="altText_privDelegate">私有委托</item>
+    <item id="altText_privEnumeration">私有枚举</item>
+
+    <item id="altText_pubConstructor">公共构造函数</item>
+    <item id="altText_pubMethod">公共方法</item>
+    <item id="altText_pubField">公共字段</item>
+    <item id="altText_pubProperty">公共属性</item>
+    <item id="altText_pubEvent">公共事件</item>
+    <item id="altText_pubOperator">公共运算符</item>
+    <item id="altText_pubAttachedProperty">公共的附加属性</item>
+    <item id="altText_pubAttachedEvent">公共的附加事件</item>
+    <item id="altText_protConstructor">受保护的构造函数</item>
+    <item id="altText_protMethod">受保护的方法</item>
+    <item id="altText_protField">受保护的字段</item>
+    <item id="altText_protProperty">受保护的属性</item>
+    <item id="altText_protEvent">受保护的事件</item>
+    <item id="altText_protOperator">受保护的运算符</item>
+    <item id="altText_protAttachedProperty">受保护的附加属性</item>
+    <item id="altText_protAttachedEvent">受保护的附加事件</item>
+    <item id="altText_privConstructor">私有构造函数</item>
+    <item id="altText_privMethod">私有方法</item>
+    <item id="altText_privField">私有字段</item>
+    <item id="altText_privProperty">私有属性</item>
+    <item id="altText_privEvent">私有事件</item>
+    <item id="altText_privOperator">私有运算符</item>
+    <item id="altText_privtAttachedProperty">私有附加属性</item>
+    <item id="altText_privAttachedEvent">私有附加事件</item>
+    <item id="altText_static">静态成员</item>
+    <item id="altText_pubextension">公共扩展器方法</item>
+    <item id="altText_protextension">受保护的扩展器方法</item>
+    <item id="altText_privextension">私有扩展器方法</item>
+
+    <item id="altText_CompactFramework">支持 .NET Compact Framework</item>
+    <item id="altText_XNAFramework">支持 XNA Framework</item>
+    <item id="altText_SilverlightMobile">支持 <include item="silverlight_mobile"/>
+    </item>
+    <item id="altText_ExplicitInterface">显式接口实现</item>
+    <item id="altText_CodeExample">代码示例</item>
+
+    <item id="boilerplate_seeAlsoNamespaceLink">{0} 命名空间</item>
+    <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/>
+    </item>
+    <item id="boilerplate_seeAlsoMembersLink">{0} 成员</item>
+    <item id="boilerplate_seeAlsoOverloadLink">{0} 重载</item>
+
+    <item id="boilerplate_requirementsNamespace">**Namespace:**</item>
+
+    <item id="boilerplate_requirementsPlatforms">**Platforms:** {0}</item>
+
+    <item id="boilerplate_requirementsAssemblies">**Assemblies:**</item>
+
+    <item id="boilerplate_requirementsAssemblyLabel">**Assembly:**</item>
+
+    <item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+    <item id="boilerplate_requirementsAssembly">**Assembly:** {0} (in {1}.dll)</item>
+
+    <!-- Used for Version Information Section -->
+    <item id="supportedIn_1">支持版本:{0}</item>
+    <item id="supportedIn_2">支持版本:{0}, {1}</item>
+    <item id="supportedIn_3">支持版本:{0}, {1}, {2}</item>
+    <item id="supportedIn_4">支持版本:{0}, {1}, {2}, {3}</item>
+    <item id="supportedIn_5">支持版本:{0}, {1}, {2}, {3}, {4}</item>
+    <item id="supportedIn_6">支持版本:{0}, {1}, {2}, {3}, {4}, {5}</item>
+    <item id="supportedIn_7">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+    <item id="obsoleteWarning">已在 {0} 中过时 (编译器警告)</item>
+    <item id="obsoleteError">已在 {0} 及后续版本中过时 (无法编译)</item>
+
+
+    <!-- APTCA Boilerplate text -->
+    <item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+    <!-- Variance boilerplate text -->
+    <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+    <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+    <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+    <!-- Non CLS Compliant boilerplate text-->
+    <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+    <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+
+    <!-- Security Critical Boilerplate text-->
+    <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+    <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+    <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+
+    <!-- Overload page boilerplate -->
+    <item id="boilerplate_overloadSummary">此方法已被重载。请点击重载列表中的名称以获取该成员的完整信息,包括语法、使用方法以及示例。</item>
+
+    <!-- Platforms Information and Platform Notes --> 
+    <item id="boilerplate_systemRequirementsLink">
+        <p>The <include item="netfw"/> and <include item="netcfw"/> do not support all versions of every platform. For a list of the supported versions, see <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</p>
+    </item>
+
+    <!-- Platforms boilerplate for Silverlight mref builds -->
+    <item id="boilerplate_silverlightPlatforms">For information on the operating systems and browsers supported by <include item="silverlight"/>, see <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.</item>
+
+    <item id="Win95">Windows 95</item>
+    <item id="Win98Se">Windows 98 Second Edition</item>
+
+    <item id="WinNT4">Windows NT 4.0</item>
+    <item id="WinNT4Svr">Windows NT Server 4.0</item>
+    <item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+
+    <item id="Win2kFamily">Windows 2000</item>
+    <item id="Win2kProfessional">Windows 2000 Professional</item>
+    <item id="Win2kServer">Windows 2000 Server</item>
+    <item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+
+    <item id="WinXPPersonal">Windows XP Home Edition</item>
+    <item id="WinXPPro">Windows XP Professional x64 Edition</item>
+    <item id="WinXPSvr">
+        <include item="WinSvr2003"/>
+    </item>
+    <item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+    <item id="WinXpEmbedded">Windows XP Embedded</item>
+
+    <item id="ECMACLI">通用语言架构 (CLI) 标准</item>
+
+    <item id="MSTV">Microsoft TV</item>
+
+    <item id="Win9xFamily">
+        <include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/>
+    </item>
+    <item id="WinNt4Family">
+        <include item="WinNT4"/>
+    </item>
+    <item id="WinXpFamily">
+        <include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/>
+    </item>
+    <item id="WinCE">
+        <include item="WindowsCE"/>
+    </item>
+    <item id="Win2K">
+        <include item="WinSvr2000"/>
+    </item>
+    <item id="Win2KSvr">
+        <include item="Win2kServer"/>
+    </item>
+    <item id="Win2KADC">
+        <include item="Win2kDatacenter"/>
+    </item>
+
+    <item id="WinNt4Server">
+        <include item="WinNT4Svr"/>
+    </item>
+    <item id="WinNt4Workstation">
+        <include item="WinNT4Wks"/>
+    </item>
+    <item id="Win2kAdvanced">
+        <include item="Win2kDatacenter"/>
+    </item>
+    <item id="Win2kServerApplianceKit"/>
+    <item id="WinXpHome">
+        <include item="WinXPPersonal"/>
+    </item>
+    <item id="WinXpProfessional">
+        <include item="WinXPPro"/>
+    </item>
+    <item id="Win2003Server">
+        <include item="WinXPSvr"/>
+    </item>
+    <item id="NETCF">
+        <include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/>
+    </item>
+
+    <item id="XNA">
+        <include item="Xbox360"/>, <include item="Zune" />
+    </item>
+
+    <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+			 in sync with the platform/@name values used in the manifold platformFilters.xml filter files.  These
+			 values are also used in <platformNotes>
+  -->
+    <item id="Win98">Windows 98</item>
+    <item id="WinME">Windows Millennium Edition</item>
+    <item id="WinSvr2000">Windows Server 2000 SP4</item>
+    <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+    <item id="WinXP">Windows XP SP3</item>
+    <item id="WindowsCE">Windows CE</item>
+    <item id="PocketPC">Windows Mobile for Pocket PC</item>
+    <item id="SmartPhone">Windows Mobile for Smartphone</item>
+    <item id="WinSvr2003">Windows Server 2003</item>
+    <item id="WinSvr2008">Windows Server 2008</item>
+    <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+    <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+    <item id="WinXPSE">Windows XP Starter Edition</item>
+    <item id="WinVista">Windows Vista</item>
+    <item id="Win7">Windows 7</item>
+    <item id="Xbox360">Xbox 360</item>
+    <item id="Zune">Zune</item>
+
+    <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+    <item id="netfw">.NET Framework</item>
+    <item id="netcfw">.NET Compact Framework</item>
+    <item id="xnafw">XNA Framework</item>
+    <item id="silverlight">Silverlight</item>
+    <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+
+    <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+    <item id="netfw40">4.0</item>
+    <item id="netfw35_1">3.5 SP1</item>
+    <item id="netfw35">3.5</item>
+    <item id="netfw30_1">3.0 SP1</item>
+    <item id="netfw30">3.0</item>
+    <item id="netfw20_1">2.0 SP1</item>
+    <item id="netfw20">2.0</item>
+    <item id="netfw11">1.1</item>
+    <item id="netfw10">1.0</item>
+
+    <item id="netcfw37">3.7</item>
+    <item id="netcfw35">3.5</item>
+    <item id="netcfw20">2.0</item>
+    <item id="netcfw10">1.0</item>
+
+    <item id="xnafw10">1.0</item>
+
+    <!-- Silverlight version ids used in Version Information section. -->
+    <item id="silverlight10">1.0</item>
+    <item id="silverlight20">2.0</item>
+    <item id="silverlight_v3">3.0</item>
+    <item id="silverlight_v4">4.0</item>
+    <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+    <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+    <item id="boilerplate_xamlXmlnsRequirements">**XMLNS for XAML:** {0}</item>
+    <item id="boilerplate_unmappedXamlXmlns">Not mapped to an xmlns.</item>
+
+    <item id="boilerplate_secondaryFrameworkOverride"><br /><br />In <include item="{0}"/>, this member is overridden by {1}.</item>
+    <item id="boilerplate_secondaryFrameworkInherited"><br /><br />In <include item="{0}"/><include item="{1}"/>, this member is inherited from {2}{3}{4}.</item>
+    <item id="boilerplate_secondaryFrameworkMember"><br /><br />In <include item="{0}"/><include item="{1}"/>, this member is {2}.</item>
+
+    <item id="boilerplate_useBaseSummary">This member overrides {0}.</item>
+    <item id="boilerplate_useBaseSee">See {0}.</item>
+    <item id="boilerplate_useBase">This member overrides {0}, and more complete documentation might be available in that topic.</item>
+
+    <item id="boilerplate_flagsSummary">This enumeration has a {0} attribute that allows a bitwise combination of its member values.</item>
+
+    <!-- Contracts -->
+    <item id="contracts_PureMethod">This method is pure.</item>
+    <item id="contracts_LearnMore">Learn more about contracts</item>
+    <item id="contracts_Description">Description: </item>
+    <item id="contracts_InheritedFrom">Inherited From: </item>
+    <item id="contracts_Exception">Exception: </item>
+
+    <!-- Show Missing Component messages -->
+    <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+    <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+    <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" />
+    </item>
+    <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+    <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+    <item id="SMCMissingTag">\[Missing &lt;{0}&gt; documentation for "{1}"\]</item>
+    <item id="SMCMissingParamTag">\[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"\]</item>
+    <item id="SMCMissingIncludeTarget">\[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}'\]</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ecd0fd128e03c4be549864f541e0157a6aed8077
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Content/zh-CN/SharedContent.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Media file path -->
+	<item id="mediaPath">media/{0}</item>
+
+	<!-- Topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+	<item id="header"></item>
+
+	<!-- Alert titles -->
+	<item id="alert_title_tip">Tip</item>
+	<item id="alert_title_caution">Caution</item>
+	<item id="alert_title_security">Security Note</item>
+	<item id="alert_title_note">Note</item>
+	<item id="alert_title_important">Important</item>
+	<item id="alert_title_visualBasic">Visual Basic Note</item>
+	<item id="alert_title_visualC#">C# Note</item>
+	<item id="alert_title_visualC++">C++ Note</item>
+	<item id="alert_title_visualJ#">J# Note</item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">Tip</item>
+	<item id="alert_altText_caution">Caution note</item>
+	<item id="alert_altText_security">Security note</item>
+	<item id="alert_altText_note">Note</item>
+	<item id="alert_altText_important">Important note</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>
+
+	<!-- Section titles -->
+	<item id="title_remarks">Remarks</item>
+	<item id="title_changeHistory">Change History</item>
+	<item id="title_events">Events</item>
+	<item id="title_exceptions">Exceptions</item>
+	<item id="title_contracts">Contracts</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tasks</item>
+	<item id="title_seeAlso_reference">Reference</item>
+	<item id="title_seeAlso_concepts">Concepts</item>
+	<item id="title_seeAlso_otherResources">Other Resources</item>
+
+	<item id="inline_dynamicLink_prefixText">For more information, see </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> and </item>
+
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic and C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<!-- Language keywords -->
+	<item id="devlang_nullKeyword">`null` (`Nothing` in Visual Basic)</item>
+	<item id="devlang_staticKeyword">`static` (`Shared` in Visual Basic)</item>
+	<item id="devlang_virtualKeyword">`virtual` (`Overridable` in Visual Basic)</item>
+	<item id="devlang_trueKeyword">`true` (`True` in Visual Basic)</item>
+	<item id="devlang_falseKeyword">`false` (`False` in Visual Basic)</item>
+	<item id="devlang_abstractKeyword">`abstract` (`MustInherit` in Visual Basic)</item>
+	<item id="devlang_sealedKeyword">`sealed` (`NotInheritable` in Visual Basic)</item>
+	<item id="devlang_asyncKeyword">`async` (`Async` in Visual Basic)</item>
+	<item id="devlang_awaitKeyword">`await` (`Await` in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword">`async`/`await` (`Async`/`Await` in Visual Basic)</item>
+
+	<!-- Back to Top link text -->
+	<item id="top">Back to Top</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Data/bibliography.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Data/bibliography.xml
new file mode 100644
index 0000000000000000000000000000000000000000..48792b15cd83df0ea07c0dd986e2a7b7dbce272c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Data/bibliography.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  The bibliography feature looks for <cite>name</cite> elements in XML documentation
+  and <ddue:cite>name</ddue:cite> elements in MAML and automatically generates links
+  to a bibliography section, which is generated at the bottom of each topic.
+
+  To use this feature in MAML you must also add the <ddue:bibliography/> element
+  somewhere in your topics; preferably, right before the <ddue:relatedTopics> section.
+
+  This file is used to describe the entries in the bibliographies for every topic
+  that is generated.  For example, add a remarks section such as the following to
+  the XMl documentation comments in one of your APIs.
+
+  <remarks>
+    <para>
+      Sandcastle is a popular download<cite>sandcastle activity</cite>.
+    </para>
+    <para>
+      I expect Sandcastle's popularity<cite>sandcastle activity</cite> to increase
+      as more community members become aware of its usefulness.
+    </para>
+  </remarks>
+
+  Then add the following reference element along with any others to this file to
+  describe those citations.
+
+  <reference name="sandcastle activity">
+    <title>Sandcastle Help File Builder Activity Statistics</title>
+    <author>Eric Woodruff</author>
+    <publisher>GitHub.com</publisher>
+    <link>https://GitHub.com/EWSoftware/SHFB/pulse/monthly</link>
+  </reference>
+
+  Building documentation now will produce your auto-generated reference topic with a
+  bibliography section near the bottom.  Each <cite>name</cite> is replaced in-line
+  with a hyperlink such as [1], [2], [3], [n]..., linking to the corresponding
+  entries in the bibliography section.
+
+  - The title element is required.
+  - The author element is required.
+  - The publisher element is optional.
+  - The link element is optional.
+  - Reference names are case-sensitive.
+  - If a matching reference is not found, the cite element is processed as regular
+    markup.  Currently, the transformations will remove the outer <cite> element but 
+    inner text and content may pass through to the topic.
+  -->
+<bibliography>
+  <!-- Add <reference> elements here -->
+</bibliography>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/MarkdownContent/_Footer.md b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/MarkdownContent/_Footer.md
new file mode 100644
index 0000000000000000000000000000000000000000..d450d5487b1e779c4f9fb97e199af5651d63c159
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/MarkdownContent/_Footer.md
@@ -0,0 +1,6 @@
+{@HtmlEncHelpTitle}
+
+{@FooterText}
+{@HtmlEncCopyrightInfo}
+
+Send comments on this topic to [{@HtmlEncFeedbackEMailAddress}](mailto:{@FeedbackEMailAddress}?Subject={@UrlEncHelpTitle})
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/en-US.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/en-US.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1f441d7c87b06bb99209a6ea9b7b2ac30b6067f8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/en-US.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+	<!-- This is used when a title is not specified in the project -->
+	<item id="rootTopicTitleLocalized">Namespaces</item>
+
+	<item id="header">{@HeaderText} {@Preliminary}</item>
+	<item id="preliminary">_**\[This is preliminary documentation and is subject to change.\]**_</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/ru-RU.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/ru-RU.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c2d8c6269d80ff2a92e7118f48d4838df6012387
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/ru-RU.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+	<!-- This is used when a title is not specified in the project -->
+	<item id="rootTopicTitleLocalized">Пространства имен</item>
+
+	<item id="header">{@HeaderText} {@Preliminary}</item>
+	<item id="preliminary">_**\[Это предварительная версия документации. API может измениться в будущем.\]**_</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/zh-CN.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/zh-CN.xml
new file mode 100644
index 0000000000000000000000000000000000000000..157d0c3bd04a2ede0a84f205e6282b6b0780afa8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/SHFBContent/zh-CN.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+	<!-- This is used when a title is not specified in the project -->
+	<item id="rootTopicTitleLocalized">命名空间</item>
+
+	<item id="header">{@HeaderText} {@Preliminary}</item>
+	<item id="preliminary">_**\[This is preliminary documentation and is subject to change.\]**_</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/Bibliography.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/Bibliography.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..4752788f03405b58c286a3cd55d97b3255d062c6
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/Bibliography.xsl
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+	<xsl:template name="bibliographyReference">
+		<xsl:param name="number" />
+		<xsl:param name="data" />
+
+		<xsl:if test="$data">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>###### </xsl:text>
+			<span>
+				<xsl:attribute name="id">
+					cite<xsl:value-of select="$number"/>
+				</xsl:attribute>
+				\[<xsl:value-of select="$number"/>\]
+			</span>
+			<xsl:text> **</xsl:text>
+			<xsl:value-of select="$data/author/text()" />
+			<xsl:text>**</xsl:text>
+			<xsl:text>, </xsl:text>
+			<xsl:text>*</xsl:text>
+			<xsl:value-of select="$data/title/text()" />
+			<xsl:text>*</xsl:text>
+			<xsl:if test="$data/publisher">
+				<xsl:text>, </xsl:text>
+				<xsl:value-of select="$data/publisher/text()" />
+			</xsl:if>
+			<xsl:if test="$data/link">
+				<xsl:text>, </xsl:text>
+				<a>
+					<xsl:attribute name="target">_blank</xsl:attribute>
+					<xsl:attribute name="href">
+						<xsl:value-of select="$data/link/text()" />
+					</xsl:attribute>
+					<xsl:attribute name="rel">
+						<xsl:text>noopener noreferrer</xsl:text>
+					</xsl:attribute>
+					<xsl:value-of select="$data/link/text()" />
+				</a>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/CodeTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/CodeTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..b254069f9585f145372159449bb087ef6c0b7a18
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/CodeTemplates.xsl
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	Code languages
+	============================================================================================= -->
+
+	<!-- This gets the language ID for syntax section and code example titles -->
+	<xsl:template name="t_codeLang">
+		<xsl:param name="p_codeLang"/>
+		<xsl:variable name="v_codeLangLC" select="translate($p_codeLang,$g_allUpperCaseLetters,$g_allLowerCaseLetters)"/>
+		<xsl:choose>
+			<!-- Languages without a syntax generator.  The presentation style content files will contain any required
+					 resource items for these (i.e. devlang_HTML). -->
+			<xsl:when test="$v_codeLangLC = 'html' or $v_codeLangLC = 'htm'">
+				<xsl:text>HTML</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'bat' or $v_codeLangLC = 'batch'">
+				<xsl:text>batch</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'pshell' or $v_codeLangLC = 'powershell' or $v_codeLangLC = 'ps1'">
+				<xsl:text>PShell</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'py'">
+				<xsl:text>Python</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'sql' or $v_codeLangLC = 'sqlserver' or $v_codeLangLC = 'sql server'">
+				<xsl:text>SQL</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vbs' or $v_codeLangLC = 'vbscript'">
+				<xsl:text>VBScript</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vb-c#' or $v_codeLangLC = 'visualbasicandcsharp'">
+				<xsl:text>VisualBasicAndCSharp</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'xml' or $v_codeLangLC = 'xmllang' or $v_codeLangLC = 'xsl'">
+				<xsl:text>XML</xsl:text>
+			</xsl:when>
+			<!-- Special case for XAML.  It has a syntax generator but we treat the code elements differently and must
+					 use a common ID. -->
+			<xsl:when test="$v_codeLangLC = 'xaml' or $v_codeLangLC = 'xamlusage'">
+				<xsl:text>XAML</xsl:text>
+			</xsl:when>
+			<!-- None/other.  No resource items are needed for these. -->
+			<xsl:when test="$v_codeLangLC = 'none' or $v_codeLangLC = 'other'">
+				<xsl:value-of select="$v_codeLangLC"/>
+			</xsl:when>
+			<!-- If none of the above, assume it is a language with a syntax generator.  The syntax generator content
+					 files will contain any required resource items for the language. -->
+			<xsl:otherwise>
+				<xsl:value-of select="$p_codeLang"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Code sections
+	============================================================================================= -->
+
+	<xsl:template name="t_putCodeSections">
+		<xsl:param name="p_codeNodes"/>
+		<xsl:param name="p_nodeCount"/>
+		<xsl:param name="p_codeLangAttr" select="''"/>
+
+		<xsl:for-each select="msxsl:node-set($p_codeNodes)">
+			<xsl:choose>
+				<xsl:when test="$p_codeLangAttr != ''">
+					<xsl:variable name="v_codeLang">
+						<xsl:call-template name="t_codeLang">
+							<xsl:with-param name="p_codeLang">
+								<xsl:for-each select="@*">
+									<xsl:if test="name() = $p_codeLangAttr">
+										<xsl:value-of select="."/>
+									</xsl:if>
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:variable>
+					<xsl:choose>
+						<xsl:when test="$v_codeLang = 'XAML'">
+							<xsl:call-template name="XamlSyntaxBlock"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_putCodeSection">
+								<xsl:with-param name="p_codeLang" select="$v_codeLang"/>
+							</xsl:call-template>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_putCodeSection" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="t_putCodeSection">
+		<xsl:param name="p_codeLang" />
+		<xsl:if test="(normalize-space(@title) != '') or (not(@title) and normalize-space($p_codeLang) != '' and $p_codeLang != 'other' and $p_codeLang != 'none')">
+			<xsl:choose>
+				<xsl:when test="@title">
+					<xsl:text>&#xa;**</xsl:text>
+					<xsl:value-of select="@title" />
+					<xsl:text>**</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>&#xa;**</xsl:text>
+					<include item="devlang_{$p_codeLang}" undefined="{$p_codeLang}"/>
+					<xsl:text>**</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+			<br />
+		</xsl:if>
+		<xsl:text>&#xa;```</xsl:text>
+		<xsl:if test="normalize-space($p_codeLang) != '' and $p_codeLang != 'other' and $p_codeLang != 'none'">
+			<xsl:text> </xsl:text>
+			<include item="devlang_{$p_codeLang}" undefined="{$p_codeLang}"/>
+		</xsl:if>
+		<xsl:text>&#xa;</xsl:text>
+		<!-- Use apply-templates rather than copy-of so ddue:codeFeaturedElement nodes are transformed -->
+		<xsl:apply-templates mode="preserveFormatting" />
+		<xsl:text>&#xa;```&#xa;</xsl:text>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	XAML Syntax
+	============================================================================================= -->
+
+	<xsl:template name="XamlSyntaxBlock">
+		<!-- Branch based on page type -->
+		<xsl:choose>
+			<!-- Display boilerplate for page types that cannot be used in XAML -->
+			<xsl:when test="$g_apiTopicSubGroup='method' or $g_apiTopicSubGroup='constructor' or
+                      $g_apiTopicSubGroup='interface' or $g_apiTopicSubGroup='delegate' or
+                      $g_apiTopicSubGroup='field'">
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate"/>
+			</xsl:when>
+
+			<!-- Class and structure -->
+			<xsl:when test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='structure'">
+				<xsl:choose>
+					<xsl:when test="div[@class='xamlObjectElementUsageHeading']">
+						<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+							<xsl:with-param name="autogenContent">
+								<xsl:copy-of select="div[@class='xamlObjectElementUsageHeading']"/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+							<xsl:with-param name="p_messageId">
+								<xsl:copy-of select="."/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Enumeration -->
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:choose>
+					<xsl:when test="div[@class='nonXamlAssemblyBoilerplate']"/>
+					<xsl:otherwise>
+						<include item="xamlAttributeUsageHeading"/>
+						<include item="enumerationOverviewXamlSyntax"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Property -->
+			<xsl:when test="$g_apiTopicSubGroup='property' or $g_apiTopicSubSubGroup='attachedProperty'">
+				<!-- Property Element Usage -->
+				<xsl:if test="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Attribute Usage -->
+				<xsl:if test="div[@class='xamlAttributeUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Show auto-generated boilerplate if no other content to override it -->
+				<xsl:if test="not(div[@class='xamlPropertyElementUsageHeading' or
+								@class='xamlContentElementUsageHeading' or @class='xamlAttributeUsageHeading'])">
+					<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+						<xsl:with-param name="p_messageId">
+							<xsl:copy-of select="div/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+			</xsl:when>
+
+			<!-- Event -->
+			<xsl:when test="$g_apiTopicSubGroup='event' or $g_apiTopicSubSubGroup='attachedEvent'">
+				<!-- If XamlSyntaxUsage component generated an Attribute Usage block, this template will show it -->
+				<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+					<xsl:with-param name="autogenContent">
+						<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+					</xsl:with-param>
+				</xsl:call-template>
+				<!-- If XamlSyntaxUsage component generated a boilerplate block, this template will show it -->
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+					<xsl:with-param name="p_messageId">
+						<xsl:copy-of select="div/*"/>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:when>
+
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- Displays one of the standard XAML boilerplate strings. -->
+	<xsl:template name="ShowXamlSyntaxBoilerplate">
+		<xsl:param name="p_messageId"/>
+
+		<!-- Do not show any XAML syntax boilerplate strings -->
+		<xsl:variable name="boilerplateId"/>
+
+		<!-- If future requirements call for showing one or more boilerplate strings for XAML, use the commented out
+				 code to specify the ids of the shared content items to include.
+         NOTE: The markup like div/@class='interfaceOverviewXamlSyntax' is added by XamlUsageSyntax.cs in
+				 BuildAssembler. -->
+		<!--
+    <xsl:variable name="boilerplateId">
+      <xsl:value-of select="div/@class[.='interfaceOverviewXamlSyntax' or
+                    .='propertyXamlSyntax_abstractType' or                    
+                    .='classXamlSyntax_abstract']"/>
+    </xsl:variable>
+    -->
+
+		<xsl:if test="$boilerplateId != ''">
+			<include item="{$boilerplateId}">
+				<xsl:choose>
+					<xsl:when test="$p_messageId !='' or (count(msxsl:node-set($p_messageId)/*) &gt; 0)">
+						<parameter><xsl:copy-of select="msxsl:node-set($p_messageId)"/></parameter>
+					</xsl:when>
+					<!-- Make sure we at least pass in an empty param because some boilerplates expect them -->
+					<xsl:otherwise>
+						<parameter/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</include>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Displays the auto-generated XAML syntax for page types other than enumerations -->
+	<xsl:template name="ShowAutogeneratedXamlSyntax">
+		<xsl:param name="autogenContent"/>
+		<xsl:if test="count(msxsl:node-set($autogenContent))>0">
+			<xsl:for-each select="msxsl:node-set($autogenContent)/div">
+				<xsl:text>&#xa;|</xsl:text><include item="{@class}"/>
+				<xsl:text>|</xsl:text>
+				<xsl:copy-of select="node()"/>
+				<xsl:text>|</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/ConceptualTopicTypes.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/ConceptualTopicTypes.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..32effac2e6940a26d7c4ef1e85adb0a539cb838e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/ConceptualTopicTypes.xsl
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+>
+	<xsl:variable name="g_topicTypes">
+		<topic guid="EF7DDB37-8ED3-4DFA-B38D-5A3CC1906034"
+					 name=""
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="1FE70836-AA7D-4515-B54B-E10C4B516E50"
+					 name="developerConceptualDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="68F07632-C4C5-4645-8DFA-AC87DCB4BD54"
+					 name="developerSDKTechnologyOverviewArchitectureDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="CDB8C120-888F-447B-8AF8-F9540562E7CA"
+					 name="developerSDKTechnologyOverviewOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="356C57C4-384D-4AF2-A637-FDD6F088A033"
+					 name="developerSDKTechnologyOverviewScenariosDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="19F1BB0E-F32A-4D5F-80A9-211D92A8A715"
+					 name="developerSDKTechnologyOverviewTechnologySummaryDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="56DB00EC-28BA-4C0D-8694-28E8B244E236"
+					 name="developerWhitePaperDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="DAC3A6A0-C863-4E5B-8F65-79EFC6A4BA09"
+					 name="developerHowToDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4779DD54-5D0C-4CC3-9DB3-BF1C90B721B3"
+					 name="developerWalkthroughDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+
+		<topic guid="A635375F-98C2-4241-94E7-E427B47C20B6"
+					 name="developerErrorMessageDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="95DADC4C-A2A6-447A-AA36-B6BE3A4F8DEC"
+					 name="developerReferenceWithSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="F9205737-4DEC-4A58-AA69-0E621B1236BD"
+					 name="developerReferenceWithoutSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="38C8E0D1-D601-4DBA-AE1B-5BEC16CD9B01"
+					 name="developerTroubleshootingDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="B8ED9F21-39A4-4967-928D-160CD2ED9DCE"
+					 name="developerUIReferenceDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="3272D745-2FFC-48C4-9E9D-CF2B2B784D5F"
+					 name="developerXmlReference"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="A689E19C-2687-4881-8CE1-652FF60CF46C"
+					 name="developerGlossaryDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="069EFD88-412D-4E2F-8848-2D5C3AD56BDE"
+					 name="developerSampleDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4BBAAF90-0E5F-4C86-9D31-A5CAEE35A416"
+					 name="developerSDKTechnologyOverviewCodeDirectoryDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="4A273212-0AC8-4D72-8349-EC11CD2FF8CD"
+					 name="codeEntityDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Other Resources"/>
+	</xsl:variable>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/GlobalTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/GlobalTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..9a4b95ba3b369f6d802c053b4f38eb8dc44c97ca
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/GlobalTemplates.xsl
@@ -0,0 +1,462 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+>
+
+	<!-- ============================================================================================
+	Globals
+	============================================================================================= -->
+
+	<xsl:variable name="g_allUpperCaseLetters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
+	<xsl:variable name="g_allLowerCaseLetters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
+
+	<!-- ============================================================================================
+	String formatting
+	============================================================================================= -->
+
+	<!-- indent by 2*n spaces -->
+	<xsl:template name="t_putIndent">
+		<xsl:param name="p_count" />
+		<xsl:if test="$p_count &gt; 1">
+			<xsl:text>&#160;&#160;</xsl:text>
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count" select="$p_count - 1" />
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Gets the substring after the last occurrence of a period in a given string -->
+	<xsl:template name="t_getTrimmedLastPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:choose>
+			<xsl:when test="contains($p_string, '.')">
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="substring-after($p_string, '.')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="$p_string" />
+			</xsl:otherwise>
+		</xsl:choose>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Text handling
+	============================================================================================= -->
+
+	<!-- This is used for most text which needs normalizing to remove extra whitespace -->
+	<xsl:template match="text()">
+		<xsl:call-template name="t_normalize"><xsl:with-param name="p_text" select="."/></xsl:call-template>
+	</xsl:template>
+
+	<!-- This is used to keep extra whitespace and line breaks intact for things like code blocks -->
+	<xsl:template match="text()" mode="preserveFormatting">
+		<xsl:value-of select="." />
+	</xsl:template>
+
+	<!-- Space normalization with handling for inserting a space before and/or after if there are preceding and/or
+			 following elements. -->
+	<xsl:template name="t_normalize">
+		<xsl:param name="p_text" />
+
+		<!-- If there is a preceding non-text sibling that isn't lineBreak and the text started with whitespace, add a leading space -->
+		<xsl:if test="preceding-sibling::* and not(preceding-sibling::node()[1][self::text()]) and starts-with(translate($p_text, '&#x20;&#x9;&#xD;&#xA;', '&#xFF;&#xFF;&#xFF;&#xFF;'), '&#xFF;')">
+			<xsl:if test="not(local-name(preceding-sibling::node()[1]) = 'lineBreak')">
+				<xsl:text> </xsl:text>
+			</xsl:if>
+		</xsl:if>
+
+		<xsl:value-of select="normalize-space($p_text)"/>
+
+		<!-- If there is a following non-text sibling and the text ended with whitespace, add a trailing space -->
+		<xsl:if test="following-sibling::* and not(following-sibling::node()[1][self::text()]) and substring(translate($p_text, '&#x20;&#x9;&#xD;&#xA;', '&#xFF;&#xFF;&#xFF;&#xFF;'), string-length($p_text)) = '&#xFF;'">
+			<xsl:text> </xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	SeeAlso links
+	============================================================================================= -->
+
+	<xsl:template match="referenceLink">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<xsl:template match="referenceLink" mode="preserveFormatting">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<xsl:template name="t_autogenSeeAlsoLinks">
+		<!-- A link to the containing type on all list and member topics -->
+		<xsl:if test="($g_apiTopicGroup='member' or $g_apiTopicGroup='list')">
+			<xsl:variable name="v_typeTopicId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/topicdata/@typeTopicId">
+						<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="/document/reference/containers/type/@api"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<referenceLink target="{$v_typeTopicId}" display-target="format">
+				<include item="boilerplate_seeAlsoTypeLink">
+					<parameter>{0}</parameter>
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/reference/topicdata/@typeTopicId">
+								<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</referenceLink>
+			<br />
+		</xsl:if>
+
+		<!-- A link to the type's All Members list -->
+		<xsl:variable name="v_allMembersId">
+			<xsl:choose>
+				<xsl:when test="/document/reference/topicdata/@allMembersTopicId">
+					<xsl:value-of select="/document/reference/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+				<xsl:when test="$g_apiTopicGroup='member' or ($g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload')">
+					<xsl:value-of select="/document/reference/containers/type/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_allMembersId) and not($v_allMembersId=$key)">
+			<referenceLink target="{$v_allMembersId}" display-target="format">
+				<include item="boilerplate_seeAlsoMembersLink">
+					<parameter>{0}</parameter>
+				</include>
+			</referenceLink>
+			<br />
+		</xsl:if>
+
+		<!-- A link to the overload topic -->
+		<xsl:variable name="v_overloadId">
+			<xsl:value-of select="/document/reference/memberdata/@overload"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_overloadId)">
+			<referenceLink target="{$v_overloadId}" display-target="format" show-parameters="false">
+				<include item="boilerplate_seeAlsoOverloadLink">
+					<parameter>{0}</parameter>
+				</include>
+			</referenceLink>
+			<br />
+		</xsl:if>
+
+		<!-- A link to the namespace topic -->
+		<xsl:variable name="v_namespaceId">
+			<xsl:value-of select="/document/reference/containers/namespace/@api"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_namespaceId)">
+			<referenceLink target="{$v_namespaceId}" display-target="format">
+				<include item="boilerplate_seeAlsoNamespaceLink">
+					<parameter>{0}</parameter>
+				</include>
+			</referenceLink>
+			<br />
+		</xsl:if>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Section headers
+	============================================================================================= -->
+
+	<xsl:template name="t_putSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+		<xsl:param name="p_toplink" select="false()" />
+		<xsl:param name="p_id" select="''" />
+
+		<xsl:if test="normalize-space($p_title)">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>## </xsl:text>
+			<xsl:copy-of select="$p_title" />
+			<xsl:if test="normalize-space($p_id)">
+				<span>
+					<xsl:attribute name="id">
+						<xsl:value-of select="$p_id"/>
+					</xsl:attribute>
+					<xsl:text> </xsl:text>
+				</span>
+			</xsl:if>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+
+		<xsl:copy-of select="$p_content" />
+
+		<xsl:if test="boolean($p_toplink)">
+			<a href="#PageHeader">
+				<include item="top"/>
+			</a>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putSectionInclude">
+		<xsl:param name="p_titleInclude" />
+		<xsl:param name="p_content" />
+		<xsl:param name="p_toplink" select="false()" />
+		<xsl:param name="p_id" select="''" />
+
+		<xsl:if test="normalize-space($p_titleInclude)">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>## </xsl:text>
+			<include item="{$p_titleInclude}"/>
+			<xsl:if test="normalize-space($p_id)">
+				<span>
+					<xsl:attribute name="id">
+						<xsl:value-of select="$p_id"/>
+					</xsl:attribute>
+					<xsl:text> </xsl:text>
+				</span>
+			</xsl:if>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+
+		<xsl:copy-of select="$p_content" />
+
+		<xsl:if test="boolean($p_toplink)">
+			<a href="#PageHeader">
+				<include item="top"/>
+			</a>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putSubSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>#### </xsl:text>
+		<xsl:copy-of select="$p_title" />
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:copy-of select="$p_content" />
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template name="t_putAlert">
+		<xsl:param name="p_alertClass" select="@class"/>
+		<xsl:param name="p_alertContent" select="''"/>
+		<xsl:variable name="v_title">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note'">
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_title_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_title_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_title_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_title_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_title_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_title_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_title_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_title_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='implement'">
+					<xsl:text>text_NotesForImplementers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caller'">
+					<xsl:text>text_NotesForCallers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='inherit'">
+					<xsl:text>text_NotesForInheritors</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_altTitle">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_altText_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_altText_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_altText_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_altText_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_altText_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_altText_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_altText_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_altText_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_noteImg">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='tip' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>AlertCaution.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>AlertSecurity.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>AlertCaution.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<table>
+			<tr>
+				<th>
+					<xsl:text>![</xsl:text>
+					<include item="{$v_title}"/>
+					<xsl:text>](</xsl:text>
+					<include item="mediaPath">
+						<parameter>
+							<xsl:value-of select="$v_noteImg"/>
+						</parameter>
+					</include>
+					<xsl:text>) </xsl:text>
+					<include item="{$v_title}"/>
+				</th>
+			</tr>
+			<tr>
+				<td>
+					<xsl:choose>
+						<xsl:when test="$p_alertContent=''">
+							<xsl:apply-templates/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:copy-of select="$p_alertContent"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</td>
+			</tr>
+		</table>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Pass through HTML tags
+	============================================================================================= -->
+
+	<xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|a|img|b|i|strong|em|del|sub|sup|br|hr|h1|h2|h3|h4|h5|h6|pre|div|span|blockquote|abbr|acronym|u|font|map|area">
+		<xsl:copy>
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates/>
+		</xsl:copy>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Debugging template for showing an element in comments
+	============================================================================================= -->
+
+	<xsl:template name="t_dumpContent">
+		<xsl:param name="indent" select="''"/>
+		<xsl:param name="content" select="."/>
+		<xsl:for-each select="msxsl:node-set($content)">
+			<xsl:choose>
+				<xsl:when test="self::text()">
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="."/>
+					</xsl:comment>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="'«'"/>
+						<xsl:value-of select="name()"/>
+						<xsl:for-each select="@*">
+							<xsl:text xml:space="preserve"> </xsl:text>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'='"/>
+							<xsl:value-of select="."/>
+						</xsl:for-each>
+						<xsl:choose>
+							<xsl:when test="./node()">
+								<xsl:value-of select="'»'"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="'/»'"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:comment>
+					<xsl:for-each select="node()">
+						<xsl:call-template name="t_dumpContent">
+							<xsl:with-param name="indent"
+															select="concat($indent,'  ')"/>
+						</xsl:call-template>
+					</xsl:for-each>
+					<xsl:if test="./node()">
+						<xsl:comment>
+							<xsl:value-of select="$indent"/>
+							<xsl:value-of select="'«/'"/>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'»'"/>
+						</xsl:comment>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MAMLSeeAlsoTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MAMLSeeAlsoTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..10a589e17bdb053937c12d65f140f6db1526d73a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MAMLSeeAlsoTemplates.xsl
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="ConceptualTopicTypes.xsl"/>
+
+	<!-- ============================================================================================
+	Process relatedTopics
+	============================================================================================= -->
+
+	<xsl:template match="ddue:relatedTopics" mode="seeAlso">
+		<xsl:param name="p_autoGenerateLinks" select="false()"/>
+
+		<xsl:variable name="v_taskLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='tasks'">
+					<xsl:copy-of select="."/>
+					<br />
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_conceptLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='concepts'">
+					<xsl:copy-of select="."/>
+					<br />
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_referenceLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id] | ddue:codeEntityReference">
+				<xsl:choose>
+					<xsl:when test="self::ddue:codeEntityReference">
+						<xsl:copy-of select="."/>
+						<br />
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="$v_seeAlsoGroup='reference'">
+							<xsl:copy-of select="."/>
+							<br />
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_otherLinks">
+			<xsl:for-each select="ddue:link | ddue:legacyLink | ddue:dynamicLink[@type='inline'] | ddue:externalLink">
+				<xsl:choose>
+					<xsl:when test="self::ddue:dynamicLink">
+						<xsl:copy-of select="."/>
+						<br />
+					</xsl:when>
+					<xsl:when test="self::ddue:externalLink">
+						<xsl:copy-of select="."/>
+						<br />
+					</xsl:when>
+					<xsl:when test="@topicType_id">
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="($v_seeAlsoGroup!='tasks') and ($v_seeAlsoGroup!='concepts') and ($v_seeAlsoGroup!='reference')">
+							<xsl:copy-of select="."/>
+							<br />
+						</xsl:if>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:copy-of select="."/>
+						<br />
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:if test="msxsl:node-set($v_taskLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_tasks'"/>
+				<xsl:with-param name="p_members" select="$v_taskLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_referenceLinks)/* or boolean($p_autoGenerateLinks)">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_reference'"/>
+				<xsl:with-param name="p_members" select="$v_referenceLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="$p_autoGenerateLinks"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_conceptLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_concepts'"/>
+				<xsl:with-param name="p_members" select="$v_conceptLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_otherLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_otherResources'"/>
+				<xsl:with-param name="p_members" select="$v_otherLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template name="t_putSeeAlsoSubSection">
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_autoGenerateLinks" select="false()"/>
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="{$p_headerGroup}"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:if test="boolean($p_autoGenerateLinks)">
+					<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+				</xsl:if>
+				<xsl:for-each select="msxsl:node-set($p_members)/*">
+					<xsl:apply-templates select="."/>
+				</xsl:for-each>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MAMLTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MAMLTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..27834bb23a050bda9fddc52817b63107f3de24b9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MAMLTemplates.xsl
@@ -0,0 +1,1535 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl"/>
+	<xsl:import href="CodeTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	The Remarks section includes content from these nodes, excluding the xaml sections which are captured in the xaml syntax processing
+	============================================================================================= -->
+
+	<xsl:template name="t_hasRemarksContent">
+		<xsl:param name="p_node"/>
+		<xsl:choose>
+			<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:content)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForImplementers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForCallers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForInheritors)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:platformNotes)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:sections/ddue:section[not(
+                starts-with(@address,'xamlValues') or 
+                starts-with(@address,'xamlTextUsage') or 
+                starts-with(@address,'xamlAttributeUsage') or 
+                starts-with(@address,'xamlPropertyElementUsage') or 
+                starts-with(@address,'xamlImplicitCollectionUsage') or 
+                starts-with(@address,'xamlObjectElementUsage') or 
+                starts-with(@address,'dependencyPropertyInfo') or 
+                starts-with(@address,'routedEventInfo')
+                )])">true</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Remarks
+	============================================================================================= -->
+
+	<xsl:template match="ddue:remarks" name="t_ddue_Remarks">
+		<xsl:call-template name="t_writeRemarksSection">
+			<xsl:with-param name="p_node" select=".."/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_writeRemarksSection">
+		<xsl:param name="p_node"/>
+
+		<xsl:variable name="v_hasRemarks">
+			<xsl:call-template name="t_hasRemarksContent">
+				<xsl:with-param name="p_node" select="$p_node"/>
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:if test="$v_hasRemarks='true'">
+			<xsl:choose>
+				<xsl:when test="not($g_apiTopicGroup = 'namespace')">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude" select="'title_remarks'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+							<!-- HostProtectionAttribute -->
+							<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
+								<xsl:call-template name="t_hostProtectionContent"/>
+							</xsl:if>
+							<xsl:apply-templates select="$p_node/ddue:notesForImplementers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForCallers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForInheritors"/>
+							<xsl:apply-templates select="$p_node/ddue:platformNotes"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_hostProtectionContent">
+		<!-- HostProtectionAttribute boilerplate -->
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass" select="'note'"/>
+			<xsl:with-param name="p_alertContent">
+				<include item="boilerplate_hostProtectionAttribute">
+					<parameter>
+						<xsl:value-of select="concat('text_', $g_apiTopicSubGroup, 'Lower')"/>
+					</parameter>
+					<parameter>
+						<xsl:text>**</xsl:text>
+						<xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
+							<xsl:value-of select="@name"/>
+							<xsl:if test="position() != last()">
+								<xsl:text xml:space="preserve"> \| </xsl:text>
+							</xsl:if>
+						</xsl:for-each>
+						<xsl:text>**</xsl:text>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections
+	============================================================================================= -->
+
+	<xsl:template match="ddue:sections" name="t_ddue_sections">
+		<xsl:apply-templates select="ddue:section"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:section" name="t_ddue_section">
+		<!-- Display the section only if it has content (text or media)-->
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or descendant::ddue:content/*">
+			<!-- Count all the possible ancestor root nodes -->
+			<xsl:variable name="a1" select="count(ancestor::ddue:attributesandElements)"/>
+			<xsl:variable name="a2" select="count(ancestor::ddue:codeExample)"/>
+			<xsl:variable name="a3" select="count(ancestor::ddue:dotNetFrameworkEquivalent)"/>
+			<xsl:variable name="a4" select="count(ancestor::ddue:elementInformation)"/>
+			<xsl:variable name="a5" select="count(ancestor::ddue:exceptions)"/>
+			<xsl:variable name="a6" select="count(ancestor::ddue:introduction)"/>
+			<xsl:variable name="a7" select="count(ancestor::ddue:languageReferenceRemarks)"/>
+			<xsl:variable name="a8" select="count(ancestor::ddue:nextSteps)"/>
+			<xsl:variable name="a9" select="count(ancestor::ddue:parameters)"/>
+			<xsl:variable name="a10" select="count(ancestor::ddue:prerequisites)"/>
+			<xsl:variable name="a11" select="count(ancestor::ddue:procedure)"/>
+			<xsl:variable name="a12" select="count(ancestor::ddue:relatedTopics)"/>
+			<xsl:variable name="a13" select="count(ancestor::ddue:remarks)"/>
+			<xsl:variable name="a14" select="count(ancestor::ddue:requirements)"/>
+			<xsl:variable name="a15" select="count(ancestor::ddue:schemaHierarchy)"/>
+			<xsl:variable name="a16" select="count(ancestor::ddue:syntaxSection)"/>
+			<xsl:variable name="a17" select="count(ancestor::ddue:textValue)"/>
+			<xsl:variable name="a18" select="count(ancestor::ddue:type)"/>
+			<xsl:variable name="a19" select="count(ancestor::ddue:section)"/>
+			<xsl:variable name="total" select="$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10+$a11+$a12+$a13+$a14+$a15+$a16+$a17+$a18+$a19"/>
+			<xsl:choose>
+				<xsl:when test="$total = 0">
+					<xsl:call-template name="t_putSection">
+						<xsl:with-param name="p_title">
+							<xsl:apply-templates select="ddue:title" mode="section"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_id" select="@address" />
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:content"/>
+							<xsl:apply-templates select="ddue:sections"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>#### </xsl:text>
+					<xsl:apply-templates select="ddue:title" mode="section"/>
+					<xsl:if test="@address">
+						<span>
+							<xsl:attribute name="id">
+								<xsl:value-of select="@address"/>
+							</xsl:attribute>
+							<xsl:text> </xsl:text>
+						</span>
+					</xsl:if>
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:apply-templates select="ddue:content"/>
+					<xsl:apply-templates select="ddue:sections"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:title" mode="section" name="t_ddue_sectionTitle">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block Elements
+	============================================================================================= -->
+
+	<xsl:template match="ddue:para" name="t_ddue_para">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:apply-templates />
+		<xsl:text>&#xa;&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:summary" name="t_ddue_summary">
+		<xsl:if test="not(@abstract='true')">
+			<!-- The ddue:summary element is redundant since it's optional in the MAML schema but ddue:introduction is
+					 not.  Using abstract='true' will prevent the summary from being included in the topic. -->
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:apply-templates />
+			<xsl:text>&#xa;&#xa;</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForImplementers" name="t_ddue_notesForImplementers">
+		<xsl:text>**</xsl:text><include item="text_NotesForImplementers"/>
+		<xsl:text>**</xsl:text>
+		<xsl:text>&#xa;&#xa;</xsl:text>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForCallers" name="t_ddue_notesForCallers">
+		<xsl:text>**</xsl:text><include item="text_NotesForCallers"/>
+		<xsl:text>**</xsl:text>
+		<xsl:text>&#xa;&#xa;</xsl:text>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForInheritors" name="t_ddue_notesForInheritors">
+		<xsl:text>**</xsl:text><include item="text_NotesForInheritors"/>
+		<xsl:text>**</xsl:text>
+		<xsl:text>&#xa;&#xa;</xsl:text>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:platformNotes" name="t_ddue_platformNotes">
+		<xsl:for-each select="ddue:platformNote[normalize-space(ddue:content)]">
+			<xsl:text>&#xa;&#xa;</xsl:text>
+			<include item="boilerplate_PlatformNote">
+				<parameter>
+					<xsl:for-each select="ddue:platforms/ddue:platform">
+						<xsl:variable name="v_platformName">
+							<xsl:value-of select="."/>
+						</xsl:variable>
+						<include item="{$v_platformName}"/>
+						<xsl:if test="position() != last()">, </xsl:if>
+					</xsl:for-each>
+				</parameter>
+				<parameter>
+					<xsl:apply-templates select="ddue:content"/>
+				</parameter>
+			</include>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:platformNotes/ddue:platformNote/ddue:content/ddue:para" name="t_ddue_platformNote_para">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:schemaHierarchy" name="t_ddue_schemaHierarchy">
+		<xsl:for-each select="ddue:link">
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count" select="position()"/>
+			</xsl:call-template>
+			<xsl:apply-templates select="."/>
+			<br />
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:syntaxSection" name="t_ddue_syntaxSection">
+		<xsl:if test="ddue:legacySyntax">
+			<xsl:for-each select="ddue:legacySyntax">
+				<xsl:variable name="v_codeLang">
+					<xsl:call-template name="t_codeLang">
+						<xsl:with-param name="p_codeLang" select="@language" />
+					</xsl:call-template>
+				</xsl:variable>
+
+				<xsl:call-template name="t_putCodeSection">
+					<xsl:with-param name="p_codeLang" select="$v_codeLang" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Just pass these through -->
+	<xsl:template match="ddue:content" name="t_ddue_content">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacy" name="t_ddue_legacy">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:procedure" name="t_ddue_procedure">
+		<xsl:if test="normalize-space(ddue:title)">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>### </xsl:text>
+			<xsl:value-of select="ddue:title"/>
+			<xsl:if test="@address">
+				<span>
+					<xsl:attribute name="id">
+						<xsl:value-of select="@address"/>
+					</xsl:attribute>
+				</span>
+				<xsl:text> </xsl:text>
+			</xsl:if>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+		<xsl:apply-templates select="ddue:steps"/>
+		<xsl:apply-templates select="ddue:conclusion"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:steps" name="t_ddue_steps">
+		<xsl:choose>
+			<xsl:when test="@class = 'ordered'">
+				<xsl:variable name="v_temp">
+					<xsl:value-of select="count(ddue:step)"/>
+				</xsl:variable>
+				<xsl:if test="$v_temp = 1">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<ul>
+						<xsl:apply-templates select="ddue:step"/>
+					</ul>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:if>
+				<xsl:if test="$v_temp &gt; 1">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<ol>
+						<xsl:apply-templates select="ddue:step"/>
+					</ol>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:if>
+			</xsl:when>
+			<xsl:when test="@class='bullet'">
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>&#160;</xsl:text>
+				<ul>
+					<xsl:apply-templates select="ddue:step"/>
+				</ul>
+				<xsl:text>&#160;</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:step" name="t_ddue_step">
+		<xsl:text>&#xa;</xsl:text>
+		<li>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</li>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:inThisSection" name="t_ddue_inThisSection">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_inThisSection'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="ddue:buildInstructions" name="t_ddue_buildInstructions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_buildInstructions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:nextSteps" name="t_ddue_nextSteps">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_nextSteps'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:requirements" name="t_ddue_requirements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_requirements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageReferenceRemarks" name="t_ddue_languageReferenceRemarks">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_remarks'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributesandElements" name="t_ddue_attributesandElements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_attributesAndElements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributes" name="t_ddue_attributes">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>#### </xsl:text><include item="title_attributes"/>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute" name="t_ddue_attribute">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute/ddue:title" name="t_ddue_attributeTitle">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>#### </xsl:text>
+		<xsl:apply-templates/>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:childElement" name="t_ddue_childElement">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>#### </xsl:text><include item="title_childElement"/>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parentElement" name="t_ddue_parentElement">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>#### </xsl:text><include item="title_parentElement"/>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:textValue" name="t_ddue_textValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_textValue'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:elementInformation" name="t_ddue_elementInformation">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_elementInformation'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:dotNetFrameworkEquivalent" name="t_ddue_dotNetFrameworkEquivalent">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_dotNetFrameworkEquivalent'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:prerequisites" name="t_ddue_prerequisites">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_prerequisites'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:type" name="t_ddue_type">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:title_robustProgramming" name="t_ddue_robustProgramming">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_robustProgramming'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:security" name="t_ddue_security">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_securitySection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:externalResources" name="t_ddue_externalResources">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_externalResources'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:demonstrates" name="t_ddue_demonstrates">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_demonstrates'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:appliesTo" name="t_ddue_appliesTo">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_appliesTo'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:conclusion" name="t_ddue_conclusion">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:background" name="t_ddue_background">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_background'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:whatsNew" name="t_ddue_whatsNew">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_whatsNew'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:reference" name="t_ddue_reference">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_reference'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerErrorMessageDocument" name="t_ddue_developerErrorMessageDocument">
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<xsl:when test="name() = 'secondaryErrorTitle'">
+					<xsl:if test="not(../ddue:nonLocErrorTitle)">
+						<xsl:apply-templates select=".">
+							<xsl:with-param name="newSection">yes</xsl:with-param>
+						</xsl:apply-templates>
+					</xsl:if>
+				</xsl:when>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<xsl:template match="ddue:nonLocErrorTitle" name="t_ddue_nonLocErrorTitle">
+		<xsl:if test="string-length(../ddue:nonLocErrorTitle[normalize-space(.)]) > 0 or string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<xsl:if test="../ddue:secondaryErrorTitle">
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>#### </xsl:text><include item="title_errorMessage"/>
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:apply-templates select="../ddue:secondaryErrorTitle">
+					<xsl:with-param name="newSection">no</xsl:with-param>
+				</xsl:apply-templates>
+			</xsl:if>
+			<xsl:apply-templates/>
+			<xsl:text>&#xa;&#xa;</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:secondaryErrorTitle" name="t_ddue_secondaryErrorTitle">
+		<xsl:param name="newSection"/>
+		<xsl:if test="string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<xsl:choose>
+				<xsl:when test="$newSection = 'yes'">
+					<xsl:apply-templates/>
+					<xsl:text>&#xa;&#xa;</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates/>
+					<br />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerSampleDocument" name="t_ddue_developerSampleDocument">
+		<!-- Show the topic intro -->
+		<xsl:apply-templates select="ddue:introduction"/>
+
+		<!-- The sample download list section from dsSample -->
+		<xsl:if test="ddue:relatedTopics/ddue:sampleRef">
+			<include item="{ddue:relatedTopics/ddue:sampleRef/@srcID}"/>
+		</xsl:if>
+
+		<!-- Then the rest of the topic's content -->
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<!-- Introduction was already captured above -->
+				<xsl:when test="name() = 'introduction'"/>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<xsl:template name="t_threadSafety">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_threadSafety'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="/document/comments/ddue:dduexml/ddue:threadSafety">
+						<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:threadSafety"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="boilerplate_threadSafety"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists and Tables
+	============================================================================================= -->
+
+	<xsl:template match="ddue:list" name="t_ddue_list">
+		<xsl:choose>
+			<xsl:when test="@class='bullet'">
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>&#160;</xsl:text>
+				<ul>
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ul>
+				<xsl:text>&#160;</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:when>
+			<xsl:when test="@class='ordered'">
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>&#160;</xsl:text>
+				<ol>
+					<xsl:if test="@start">
+						<xsl:attribute name="start">
+							<xsl:value-of select="@start"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ol>
+				<xsl:text>&#160;</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>&#160;</xsl:text>
+				<!-- No bullet style.  Will not work if the processor strips the style attribute like GitHub. -->
+				<ul style="list-style-type: none; padding-left: 20px;">
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ul>
+				<xsl:text>&#160;</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:listItem" name="t_ddue_listItem">
+		<xsl:text>&#xa;</xsl:text>
+		<li>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates />
+		</li>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:table" name="t_ddue_table">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:if test="normalize-space(ddue:title)">
+			<xsl:text>### </xsl:text>
+			<xsl:value-of select="ddue:title"/>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+		<xsl:text>&#160;</xsl:text>
+		<table>
+			<xsl:apply-templates/>
+		</table>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader" name="t_ddue_tableHeader">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:row" name="t_ddue_row">
+		<tr>
+			<xsl:apply-templates/>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="ddue:entry" name="t_ddue_entry">
+		<td>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</td>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader/ddue:row/ddue:entry" name="t_ddue_tableHeaderRowEntry">
+		<th>
+			<xsl:apply-templates/>
+		</th>
+	</xsl:template>
+
+	<xsl:template match="ddue:definitionTable" name="t_ddue_definitionTable">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<dl>
+			<xsl:apply-templates/>
+		</dl>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:definedTerm" name="t_ddue_definedTerm">
+		<dt>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</dt>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:definition" name="t_ddue_definition">
+		<dd>
+			<xsl:apply-templates/>
+		</dd>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Code
+	============================================================================================= -->
+
+	<xsl:template match="ddue:snippets" name="t_ddue_snippets">
+		<xsl:if test="ddue:snippet">
+			<xsl:for-each select="ddue:snippet">
+				<xsl:call-template name="t_putCodeSection">
+					<xsl:with-param name="p_codeLang" select="@language" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:code | ddue:sampleCode" name="t_ddue_code">
+		<xsl:variable name="v_codeLang">
+			<xsl:call-template name="t_codeLang">
+				<xsl:with-param name="p_codeLang" select="@language" />
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:call-template name="t_putCodeSection">
+			<xsl:with-param name="p_codeLang" select="$v_codeLang" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template match="ddue:alert" name="t_ddue_alert">
+		<xsl:call-template name="t_putAlert"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Media
+	============================================================================================= -->
+
+	<xsl:template match="ddue:mediaLink" name="t_ddue_mediaLink">
+		<br />
+		<xsl:if test="ddue:caption and not(ddue:caption[@placement='after'])">
+			<xsl:text>**</xsl:text>
+			<xsl:if test="ddue:caption[@lead]">
+					<xsl:value-of select="normalize-space(ddue:caption/@lead)"/><xsl:text>: </xsl:text>
+			</xsl:if>
+			<xsl:apply-templates select="ddue:caption"/>
+			<xsl:text>**</xsl:text>
+			<br/>
+		</xsl:if>
+		<artLink target="{ddue:image/@xlink:href}"/>
+		<xsl:if test="ddue:caption and ddue:caption[@placement='after']">
+			<br/>
+			<xsl:text>&#xa;**</xsl:text>
+			<xsl:if test="ddue:caption[@lead]">
+				<xsl:value-of select="normalize-space(ddue:caption/@lead)"/>
+				<xsl:text>: </xsl:text>
+			</xsl:if>
+			<xsl:apply-templates select="ddue:caption"/>
+			<xsl:text>**&#xa;</xsl:text>
+		</xsl:if>
+		<br />
+	</xsl:template>
+
+	<xsl:template match="ddue:mediaLinkInline" name="t_ddue_mediaLinkInline">
+		<artLink target="{ddue:image/@xlink:href}"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline elements
+	============================================================================================= -->
+
+	<!-- Strip spans used for colorization.  The markdown fenced code block should take care of it. -->
+	<xsl:template match="ddue:span" name="t_ddue_span">
+		<xsl:value-of select="."/>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageKeyword" name="t_ddue_languageKeyword">
+		<xsl:variable name="v_keyword" select="."/>
+		<xsl:text>`</xsl:text>
+		<xsl:choose>
+			<xsl:when test="$v_keyword='null' or $v_keyword='Nothing' or $v_keyword='nullptr'">
+				<include item="devlang_nullKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='static' or $v_keyword='Shared'">
+				<include item="devlang_staticKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='virtual' or $v_keyword='Overridable'">
+				<include item="devlang_virtualKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='true' or $v_keyword='True'">
+				<include item="devlang_trueKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='false' or $v_keyword='False'">
+				<include item="devlang_falseKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='abstract' or $v_keyword='MustInherit'">
+				<include item="devlang_abstractKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='sealed' or $v_keyword='NotInheritable'">
+				<include item="devlang_sealedKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='async' or $v_keyword='Async'">
+				<include item="devlang_asyncKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='await' or $v_keyword='Await'">
+				<include item="devlang_awaitKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='async/await' or $v_keyword='Async/Await'">
+				<include item="devlang_asyncAwaitKeyword"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="."/>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:text>`</xsl:text>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="ddue:application" name="t_ddue_application">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeFeaturedElement" name="t_ddue_codeFeaturedElement">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeInline" name="t_ddue_codeInline">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>`</xsl:text>
+			<xsl:value-of select="." />
+			<xsl:text>`</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:command" name="t_ddue_command">
+		<xsl:if test="normalize-space(.)">
+			`<xsl:apply-templates />`
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:computerOutputInline" name="t_ddue_computerOutputInline">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:corporation" name="t_ddue_corporation">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:country" name="t_ddue_country">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:database" name="t_ddue_database">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:date" name="t_ddue_date">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:embeddedLabel" name="t_ddue_embeddedLabel">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:environmentVariable" name="t_ddue_environmentVariable">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:errorInline" name="t_ddue_errorInline">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:hardware" name="t_ddue_hardware">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:fictitiousUri" name="t_ddue_fictitiousUri">
+		<xsl:call-template name="t_ddue_localUri"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:foreignPhrase" name="t_ddue_foreignPhrase">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyBold" name="t_ddue_legacyBold">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyItalic" name="t_ddue_legacyItalic">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates />
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyUnderline" name="t_ddue_legacyUnderline">
+		<xsl:if test="normalize-space(.)">
+			<u><xsl:apply-templates /></u>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:lineBreak" name="t_ddue_lineBreak">
+		<xsl:text>  &#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:literal" name="t_ddue_literal">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:localizedText" name="t_ddue_localizedText">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:localUri" name="t_ddue_localUri">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:math" name="t_ddue_math">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:newTerm" name="t_ddue_newTerm">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameterReference" name="t_ddue_parameterReference">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:phrase" name="t_ddue_phrase">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:quote" name="t_ddue_quote">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>&#160;</xsl:text>
+			<blockquote>
+				<xsl:apply-templates/>
+			</blockquote>
+		</xsl:if>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="ddue:quoteInline" name="t_ddue_quoteInline">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:placeholder|ddue:replaceable" name="t_ddue_replaceable">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:subscript|ddue:subscriptType" name="t_ddue_subscript">
+		<xsl:if test="normalize-space(.)">
+			<sub><xsl:apply-templates/></sub>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:superscript|ddue:superscriptType" name="t_ddue_superscript">
+		<xsl:if test="normalize-space(.)">
+			<sup><xsl:apply-templates/></sup>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:system" name="t_ddue_system">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:ui" name="t_ddue_ui">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:unmanagedCodeEntityReference" name="t_ddue_unmanagedCodeEntityReference">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>**</xsl:text>
+			<xsl:apply-templates/>
+			<xsl:text>**</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInput" name="t_ddue_userInput">
+		<xsl:if test="normalize-space(.)">
+			<xsl:text>_</xsl:text>
+			<xsl:value-of select="." />
+			<xsl:text>_</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInputLocalizable" name="t_ddue_userInputLocalizable">
+		<xsl:call-template name="t_ddue_userInput"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Pass through a chunk of markup.  This differs from the API markup template in that it must strip
+	off the "ddue" namespace.  This will allow build components to add Open XML elements to a
+	pre-transformed document.  You can also use it in topics to support things that aren't addressed
+	by the MAML schema and the Sandcastle transforms.
+	============================================================================================= -->
+
+	<xsl:template match="ddue:markup" name="t_ddue_markup">
+		<xsl:apply-templates select="node()" mode="markup"/>
+	</xsl:template>
+
+	<xsl:template match="*" mode="markup" name="t_ddue_markup_content">
+		<xsl:element name="{name()}">
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates select="node()" mode="markup"/>
+		</xsl:element>
+	</xsl:template>
+
+	<xsl:template match="text() | comment()" mode="markup" name="t_ddue_markup_text">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Links
+	============================================================================================= -->
+
+	<xsl:template match="ddue:externalLink" name="t_ddue_externalLink">
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="normalize-space(ddue:linkUri)"/>
+			</xsl:attribute>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:if test="normalize-space(ddue:linkAlternateText)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space(ddue:linkAlternateText)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:value-of select="normalize-space(ddue:linkText)"/></a>
+	</xsl:template>
+
+	<xsl:template match="ddue:link" name="t_ddue_link">
+		<xsl:choose>
+			<xsl:when test="starts-with(@xlink:href,'#')">
+				<!-- In-page link -->
+				<a href="{@xlink:href}">
+					<xsl:apply-templates/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- Verified, external link -->
+				<conceptualLink target="{@xlink:href}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyLink" name="t_ddue_legacyLink">
+		<a href="{@xlink:href}" rel="noopener noreferrer">
+			<xsl:apply-templates />
+		</a>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeEntityReference" name="t_ddue_codeEntityReference">
+		<referenceLink target="{normalize-space(string(.))}">
+			<xsl:if test="@qualifyHint">
+				<xsl:attribute name="show-container">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+				<xsl:attribute name="show-parameters">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:if test="@autoUpgrade">
+				<xsl:attribute name="prefer-overload">
+					<xsl:value-of select="@autoUpgrade"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space(@linkText)">
+					<xsl:value-of select="normalize-space(@linkText)"/>
+				</xsl:when>
+				<xsl:when test="starts-with(normalize-space(.), 'R:')">
+					<include item="topicTitle_root" />
+				</xsl:when>
+				<xsl:otherwise />
+			</xsl:choose>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Copyright notice
+	============================================================================================= -->
+
+	<xsl:template match="ddue:copyright" name="t_ddue_copyright">
+		<!-- <p>{0} &copy;{1}{2}. All rights reserved.</p> -->
+		<include item="boilerplate_copyrightNotice">
+			<parameter>
+				<xsl:value-of select="ddue:trademark" />
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:year">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:holder">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Glossary
+	============================================================================================= -->
+
+	<xsl:key name="k_glossaryTermFirstLetters"
+					 match="//ddue:glossaryEntry"
+					 use="translate(substring(ddue:terms/ddue:term/text(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ ')"/>
+
+	<xsl:template match="ddue:glossary" name="t_ddue_glossary">
+		<xsl:if test="ddue:title">
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>## </xsl:text>
+			<xsl:value-of select="normalize-space(ddue:title)" />
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+		<xsl:choose>
+			<xsl:when test="ddue:glossaryDiv">
+				<!-- Organized glossary with glossaryDiv elements -->
+				<br/>
+				<xsl:for-each select="ddue:glossaryDiv">
+					<xsl:if test="ddue:title">
+						<xsl:choose>
+							<xsl:when test="@address">
+								<a href="#{@address}">
+									<xsl:value-of select="ddue:title" />
+								</a>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="ddue:title" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:if>
+					<xsl:if test="position() != last()">
+						<xsl:text> \| </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+
+				<xsl:apply-templates select="ddue:glossaryDiv"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- Simple glossary consisting of nothing by glossaryEntry elements -->
+				<br/>
+				<xsl:call-template name="t_glossaryLetterBar"/>
+				<br/>
+				<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryDiv" name="t_ddue_glossaryDiv">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:if test="ddue:title">
+			<xsl:text>### </xsl:text>
+			<xsl:value-of select="ddue:title"/>
+			<xsl:if test="@address">
+				<span>
+					<xsl:attribute name="id">
+						<xsl:value-of select="@address"/>
+					</xsl:attribute>
+					<xsl:text> </xsl:text>
+				</span>
+			</xsl:if>
+
+		</xsl:if>
+		<hr />
+		<xsl:call-template name="t_glossaryLetterBar">
+			<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+		</xsl:call-template>
+		<br/>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter">
+			<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+		</xsl:call-template>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryGroupByEntriesTermFirstLetter">
+		<xsl:param name="p_sectionPrefix" select="''"/>
+		<xsl:variable name="v_div" select="."/>
+		<!-- Group entries by the first letter of their terms using the Muenchian method.
+         http://www.jenitennison.com/xslt/grouping/muenchian.html -->
+		<xsl:for-each select="ddue:glossaryEntry[generate-id() = 
+                  generate-id(key('k_glossaryTermFirstLetters',
+                  translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                  [parent::node() = $v_div][1])]">
+			<xsl:sort select="ddue:terms/ddue:term[1]" />
+			<xsl:variable name="v_letter"
+										select="translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' '))"/>
+
+			<xsl:call-template name="t_glossaryEntryGroup">
+				<xsl:with-param name="p_link" select="concat($p_sectionPrefix,$v_letter)"/>
+				<xsl:with-param name="p_name" select="$v_letter"/>
+				<xsl:with-param name="p_nodes" select="key('k_glossaryTermFirstLetters',
+                        translate($v_letter,$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                        [parent::node() = $v_div]"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryEntry" name="t_ddue_glossaryEntry">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>##### </xsl:text>
+		<xsl:for-each select="ddue:terms/ddue:term">
+			<xsl:sort select="normalize-space(.)" />
+
+			<xsl:value-of select="normalize-space(.)" />
+			<xsl:if test="@termId">
+				<span>
+					<xsl:attribute name="id">
+						<xsl:value-of select="@termId"/>
+					</xsl:attribute>
+				</span>
+			</xsl:if>
+
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:if test="@address">
+			<span>
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</span>
+		</xsl:if>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:apply-templates select="ddue:definition/*"/>
+
+		<xsl:if test="ddue:relatedEntry">
+			<include item="text_relatedEntries" />
+			<xsl:text>&#160;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+
+			<xsl:for-each select="ddue:relatedEntry">
+				<xsl:variable name="id" select="@termId" />
+				<a href="#{@termId}">
+					<xsl:value-of select="//ddue:term[@termId=$id]"/>
+				</a>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryEntryGroup">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:param name="p_nodes"/>
+
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>### </xsl:text>
+		<xsl:value-of select="$p_name"/>
+		<span>
+			<xsl:attribute name="id">
+				<xsl:value-of select="$p_link"/>
+			</xsl:attribute>
+		</span>
+		<xsl:text>&#xa;</xsl:text>
+
+		<xsl:apply-templates select="$p_nodes">
+			<xsl:sort select="ddue:terms/ddue:term"/>
+		</xsl:apply-templates>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBar">
+		<xsl:param name="p_sectionPrefix" select="''"/>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+			<xsl:with-param name="p_sectionPrefix" select="$p_sectionPrefix"/>
+			<xsl:with-param name="p_bar" select="$g_allUpperCaseLetters"/>
+			<xsl:with-param name="p_characterPosition" select="1"/>
+		</xsl:call-template>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLinkRecursive">
+		<xsl:param name="p_sectionPrefix"/>
+		<xsl:param name="p_bar"/>
+		<xsl:param name="p_characterPosition"/>
+		<xsl:variable name="v_letter" select="substring($p_bar,$p_characterPosition,1)"/>
+		<xsl:if test="$v_letter">
+			<xsl:choose>
+				<xsl:when test="ddue:glossaryEntry[ddue:terms/ddue:term[1]
+                  [translate(substring(text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')) = $v_letter]]">
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_link" select="concat($p_sectionPrefix,$v_letter)"/>
+						<xsl:with-param name="p_name" select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<xsl:text> \| </xsl:text>
+					</xsl:if>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_name" select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<xsl:text> \| </xsl:text>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+				<xsl:with-param name="p_sectionPrefix" select="$p_sectionPrefix"/>
+				<xsl:with-param name="p_bar" select="$p_bar"/>
+				<xsl:with-param name="p_characterPosition" select="$p_characterPosition + 1"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLink">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:choose>
+			<xsl:when test="$p_link">
+				<a href="#{$p_link}">
+					<xsl:value-of select="$p_name"/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:text>**</xsl:text>
+				<xsl:value-of select="$p_name"/>
+				<xsl:text>**</xsl:text>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MainConceptual.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MainConceptual.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..dfb21f979c76595b8671b6e8fb4faf904110e369
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MainConceptual.xsl
@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl"/>
+	<xsl:import href="CodeTemplates.xsl"/>
+	<xsl:import href="MAMLTemplates.xsl"/>
+	<xsl:import href="MAMLSeeAlsoTemplates.xsl"/>
+	<xsl:import href="Bibliography.xsl"/>
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the API identifier string
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+	<xsl:param name="bibliographyData" select="'../data/bibliography.xml'"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_hasSeeAlsoSection"
+								select="boolean(count(/document/topic/*/ddue:relatedTopics/*[local-name()!='sampleRef']) > 0)"/>
+	<xsl:variable name="g_apiTopicGroup" />
+	<xsl:variable name="g_apiTopicSubGroup" />
+	<xsl:variable name="g_apiTopicSubSubGroup" />
+
+	<!-- ============================================================================================
+	Document
+	============================================================================================= -->
+
+	<xsl:template match="/document" name="t_document">
+		<document>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text># </xsl:text>
+			<include item="boilerplate_pageTitle">
+				<parameter>
+					<xsl:choose>
+						<xsl:when test="normalize-space(/document/metadata/title)">
+							<xsl:value-of select="normalize-space(/document/metadata/title)"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="normalize-space(/document/topic/*/ddue:title)"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</parameter>
+			</include>
+			<span id="PageHeader">
+				<xsl:text> </xsl:text>
+			</span>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:apply-templates select="topic"/>
+			<xsl:text>&#xa;</xsl:text>
+		</document>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections that behave differently in conceptual and reference
+	============================================================================================= -->
+
+	<!-- Ignore the title -->
+	<xsl:template match="ddue:title" />
+
+	<xsl:template match="ddue:introduction">
+		<!-- Display the introduction only if it has content -->
+		<xsl:if test="count(*) &gt; 0">
+			<xsl:if test="@address">
+				<span>
+					<xsl:attribute name="id">
+						<!-- Special case.  Links to this address will get converted to a link to the page header
+								 since the introduction has no title itself. -->
+						<xsl:text>@pageHeader_</xsl:text>
+						<xsl:value-of select="@address"/>
+					</xsl:attribute>
+					<xsl:text> </xsl:text>
+				</span>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameters">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_parameters'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:returnValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:choose>
+				<xsl:when test="(normalize-space(ddue:content)='') and ddue:sections/ddue:section[ddue:title='Property Value']">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude" select="'title_propertyValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:sections/ddue:section[ddue:title='Property Value']/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude" select="'title_returnValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:exceptions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedSections">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedSections'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedTopics">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_id" select="'seeAlsoSection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates select="/document/topic/*/ddue:relatedTopics" mode="seeAlso"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeExample">
+		<!-- Create Example section for the first codeExample node -->
+		<xsl:if test="not(preceding-sibling::ddue:codeExample) and ../ddue:codeExample[normalize-space(.)!='']">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_example'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+					<!-- If there are additional codeExample nodes, put them inside this section -->
+					<xsl:for-each select="following-sibling::ddue:codeExample">
+						<xsl:apply-templates/>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeReference">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	<autoOutline/> or <autoOutline>[#]</autoOutline>
+  
+	Inserts a bullet list of links to the topic's sections or a section's sub-sections with optional support for
+	limiting the expansion down to a specific level.  Authors can use the tag directly or specify a token (defined
+	in a token file) in a topic's introduction to get a bullet list of the sections; or in a
+	ddue:section/ddue:content to get a bullet list of the section's sub-sections.  If the token is used, the
+	shared content component replaces <token>autoOutline</token> with an <autoOutline/> node that you specify.
+	This was the old way of doing it but this version allows it to be specified directly like any other MAML tag.
+	Examples:
+
+  <autoOutline/>                Show only top-level topic titles
+  <autoOutline>1</autoOutline>  Show top-level titles and titles for one level down
+  <autoOutline>3</autoOutline>  Show titles from the top down to three levels
+	============================================================================================= -->
+
+	<xsl:template match="autoOutline|ddue:autoOutline" name="t_autoOutline">
+		<xsl:variable name="v_maxDepth">
+			<xsl:choose>
+				<xsl:when test="normalize-space(.)">
+					<xsl:value-of select="number(normalize-space(.))"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="number(0)"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_intro" select="@lead"/>
+		<xsl:variable name="p_outlineType">
+			<xsl:choose>
+				<xsl:when test="@excludeRelatedTopics = 'true'">
+					<xsl:value-of select="string('topNoRelated')"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="string('toplevel')"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:choose>
+			<!-- If <autoOutline/> is in introduction, it outlines the topic's top level sections -->
+			<xsl:when test="ancestor::ddue:introduction">
+				<xsl:for-each select="ancestor::ddue:introduction/parent::*">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">
+							<xsl:value-of select="$p_outlineType"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- If <autoOutline/> is in section/content, it outlines the section's subsections -->
+			<xsl:when test="ancestor::ddue:content[parent::ddue:section]">
+				<xsl:for-each select="ancestor::ddue:content/parent::ddue:section/ddue:sections">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">subsection</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_insertAutoOutline">
+		<xsl:param name="p_intro"/>
+		<xsl:param name="p_outlineType"/>
+		<xsl:param name="p_depth"/>
+		<xsl:param name="p_maxDepth"/>
+		<!-- Insert an outline if there are sections with title and address -->
+		<xsl:if test="ddue:section[ddue:title[normalize-space(.)!='']]">
+			<!-- Insert a boilerplate intro -->
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_intro) = 'none'">
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:when>
+				<xsl:when test="normalize-space($p_intro)">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:value-of select="normalize-space($p_intro)"/>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='toplevel' or $p_outlineType='topNoRelated'">
+					<xsl:text>&#xa;</xsl:text>
+					<include item="boilerplate_autoOutlineTopLevelIntro"/>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='subsection'">
+					<xsl:text>&#xa;</xsl:text>
+					<include item="boilerplate_autoOutlineSubsectionIntro"/>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:when>
+			</xsl:choose>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text>&#160;</xsl:text>
+			<ul>
+				<xsl:for-each select="ddue:section[ddue:title[normalize-space(.)!='']]">
+					<xsl:call-template name="t_outlineSectionEntry"/>
+
+					<!-- Expand sub-sections too if wanted -->
+					<xsl:if test="$p_depth &lt; $p_maxDepth">
+						<xsl:for-each select="ddue:sections">
+							<xsl:call-template name="t_insertAutoOutline">
+								<xsl:with-param name="p_outlineType">subsubsection</xsl:with-param>
+								<xsl:with-param name="p_depth">
+									<xsl:value-of select="$p_depth + 1"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_maxDepth">
+									<xsl:value-of select="$p_maxDepth"/>
+								</xsl:with-param>
+							</xsl:call-template>
+						</xsl:for-each>
+					</xsl:if>
+				</xsl:for-each>
+				<!-- For top level outlines include a link to See Also -->
+				<xsl:if test="starts-with($p_outlineType,'toplevel') and count(//ddue:relatedTopics/*) > 0">
+					<li>
+						<a>
+							<xsl:attribute name="href">#seeAlsoSection</xsl:attribute>
+							<include item="title_relatedTopics"/>
+						</a>
+					</li>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:if>
+			</ul>
+			<xsl:text>&#160;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- A list item in the outline's bullet list -->
+	<xsl:template name="t_outlineSectionEntry">
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or count(ddue:content/*) &gt; 0">
+			<xsl:text>&#xa;</xsl:text>
+			<li>
+				<xsl:choose>
+					<xsl:when test="@address">
+						<a href="#{@address}">
+							<xsl:value-of select="ddue:title"/>
+						</a>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="ddue:title"/>
+					</xsl:otherwise>
+				</xsl:choose>
+				<xsl:if test="normalize-space(ddue:summary)">
+					<xsl:apply-templates select="ddue:summary/node()"/>
+				</xsl:if>
+			</li>
+			<xsl:text>&#160;</xsl:text>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Bibliography
+	============================================================================================= -->
+
+	<xsl:key name="k_citations" match="//ddue:cite" use="text()"/>
+
+	<xsl:variable name="g_hasCitations" select="boolean(count(//ddue:cite) > 0)"/>
+
+	<xsl:template match="ddue:cite" name="t_ddue_cite">
+		<xsl:variable name="v_currentCitation" select="text()"/>
+		<xsl:for-each select="//ddue:cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:if test="$v_currentCitation=.">
+				<xsl:choose>
+					<xsl:when test="document($bibliographyData)/bibliography/reference[@name=$v_currentCitation]">
+						<sup>
+							<a>
+								<xsl:attribute name="href">
+									#cite<xsl:value-of select="position()"/>
+								</xsl:attribute>[<xsl:value-of select="position()"/>]
+							</a>
+						</sup>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:bibliography" name="t_ddue_bibliography">
+		<xsl:if test="$g_hasCitations">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'bibliographyTitle'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_autogenBibliographyLinks"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_autogenBibliographyLinks">
+		<xsl:for-each select="//ddue:cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:variable name="v_citation" select="."/>
+			<xsl:variable name="entry" select="document($bibliographyData)/bibliography/reference[@name=$v_citation]"/>
+
+			<xsl:call-template name="bibliographyReference">
+				<xsl:with-param name="number" select="position()"/>
+				<xsl:with-param name="data" select="$entry"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MainSandcastle.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MainSandcastle.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..32fd69ed152c8f1b4af86d16930e5fbd0c059c0f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/MainSandcastle.xsl
@@ -0,0 +1,1351 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl"/>
+	<xsl:import href="CodeTemplates.xsl"/>
+	<xsl:import href="ReferenceUtilities.xsl"/>
+	<xsl:import href="Bibliography.xsl"/>
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters
+	============================================================================================= -->
+
+	<xsl:param name="bibliographyData" select="'../Data/bibliography.xml'"/>
+	<xsl:param name="omitXmlnsBoilerplate" select="'false'"/>
+	<xsl:param name="omitVersionInformation" select="'false'"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_abstractSummary" select="/document/comments/summary"/>
+	<xsl:variable name="g_hasSeeAlsoSection"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads)] |
+		/document/comments/conceptualLink | /document/reference/elements/element/overloads//seealso |
+		/document/reference/elements/element/overloads/conceptualLink) > 0) or
+		($g_apiTopicGroup='type' or $g_apiTopicGroup='member' or $g_apiTopicGroup='list'))"/>
+	<xsl:variable name="g_hasReferenceLinks"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads) and not(@href)] |
+		/document/reference/elements/element/overloads//seealso[not(@href)]) > 0) or
+		($g_apiTopicGroup='type' or $g_apiTopicGroup='member' or $g_apiTopicGroup='list'))"/>
+	<xsl:variable name="g_hasOtherResourcesLinks"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads) and @href] |
+		/document/comments/conceptualLink | /document/reference/elements/element/overloads//seealso[@href] |
+		/document/reference/elements/element/overloads/conceptualLink) > 0))"/>
+
+	<!-- ============================================================================================
+	Body
+	============================================================================================= -->
+
+	<xsl:template name="t_body">
+		<!-- auto-inserted info -->
+		<xsl:apply-templates select="/document/comments/preliminary"/>
+
+		<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+			<xsl:text>&#xa;</xsl:text>
+			<include item="boilerplate_obsoleteLong"/>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+
+		<xsl:apply-templates select="/document/comments/summary"/>
+
+		<xsl:if test="$g_apiTopicSubGroup='overload'">
+			<xsl:apply-templates select="/document/reference/elements" mode="overloadSummary"/>
+		</xsl:if>
+
+		<!-- inheritance -->
+		<xsl:apply-templates select="/document/reference/family"/>
+
+		<!-- assembly information -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:call-template name="t_putRequirementsInfo"/>
+		</xsl:if>
+
+		<!-- syntax -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/syntax"/>
+		</xsl:if>
+
+		<!-- members -->
+		<xsl:choose>
+			<xsl:when test="$g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root'">
+				<xsl:apply-templates select="/document/reference/elements" mode="root"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:apply-templates select="/document/reference/elements" mode="namespace"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespaceGroup'">
+				<xsl:apply-templates select="/document/reference/elements" mode="namespaceGroup" />
+			</xsl:when>
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:apply-templates select="/document/reference/elements" mode="enumeration"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:apply-templates select="/document/reference/elements" mode="type"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='list'">
+				<xsl:choose>
+					<xsl:when test="$g_apiTopicSubGroup='overload'">
+						<xsl:apply-templates select="/document/reference/elements" mode="overload"/>
+					</xsl:when>
+					<xsl:when test="$g_apiTopicSubGroup='DerivedTypeList'">
+						<xsl:apply-templates select="/document/reference/elements" mode="derivedType"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates select="/document/reference/elements" mode="member"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+		</xsl:choose>
+
+		<!-- events -->
+		<xsl:call-template name="t_events"/>
+		<!-- exceptions -->
+		<xsl:call-template name="t_exceptions"/>
+		<!-- remarks -->
+		<xsl:apply-templates select="/document/comments/remarks"/>
+		<!-- examples -->
+		<xsl:apply-templates select="/document/comments/example"/>
+
+		<!-- contracts -->
+		<xsl:call-template name="t_contracts"/>
+		<!--versions-->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/reference/versions"/>
+		</xsl:if>
+		<!-- permissions -->
+		<xsl:call-template name="t_permissions"/>
+		<!-- thread safety -->
+		<xsl:apply-templates select="/document/comments/threadsafety"/>
+		<!-- revisions -->
+		<xsl:call-template name="t_revisionHistory"/>
+		<!-- bibliography -->
+		<xsl:call-template name="t_bibliography"/>
+		<!-- see also -->
+		<xsl:call-template name="t_putSeeAlsoSection"/>
+
+		<!-- Add the full inheritance hierarchy if needed -->
+		<xsl:if test="count(/document/reference/family/descendents/type) > 5">
+			<xsl:apply-templates select="/document/reference/family" mode="fullInheritance"/>
+		</xsl:if>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<xsl:template match="para" name="t_para">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:apply-templates/>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="c" name="t_codeInline">
+		<xsl:text>`</xsl:text>
+		<xsl:apply-templates/>
+		<xsl:text>`</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="preliminary" name="t_preliminary">
+		<xsl:text>&#160;</xsl:text>
+		<blockquote>
+			<strong>
+				<xsl:choose>
+					<xsl:when test="normalize-space(.)">
+						<xsl:apply-templates/>
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="preliminaryText" />
+					</xsl:otherwise>
+				</xsl:choose>
+			</strong>
+		</blockquote>
+	</xsl:template>
+
+	<xsl:template match="paramref" name="t_paramref">
+		<xsl:text>*</xsl:text>
+		<xsl:value-of select="@name"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="typeparamref" name="t_typeparamref">
+		<xsl:text>*</xsl:text>
+		<xsl:value-of select="@name"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block sections
+	============================================================================================= -->
+
+	<xsl:template match="summary" name="t_summary">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:apply-templates/>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="value" name="t_value">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_fieldValue"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="returns" name="t_returns">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_methodValue"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="remarks" name="t_remarks">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_remarks'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="example" name="t_example">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_examples'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="code" name="t_code">
+		<xsl:variable name="v_codeLang">
+			<xsl:call-template name="t_codeLang">
+				<xsl:with-param name="p_codeLang" select="@language" />
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:call-template name="t_putCodeSection">
+			<xsl:with-param name="p_codeLang" select="$v_codeLang" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="syntax" name="t_syntax">
+		<xsl:if test="count(*) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_syntax'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_putCodeSections">
+						<xsl:with-param name="p_codeNodes" select="./div[@codeLanguage]"/>
+						<xsl:with-param name="p_nodeCount" select="count(./div[@codeLanguage])"/>
+						<xsl:with-param name="p_codeLangAttr" select="'codeLanguage'"/>
+					</xsl:call-template>
+
+					<!-- Source context -->
+					<xsl:apply-templates select="/document/reference/sourceContext" />
+
+					<!-- Parameters & return value -->
+					<xsl:apply-templates select="/document/reference/parameters"/>
+					<xsl:apply-templates select="/document/reference/templates"/>
+					<xsl:choose>
+						<xsl:when test="/document/comments/value | /document/comments/returns">
+							<xsl:apply-templates select="/document/comments/value" />
+							<xsl:apply-templates select="/document/comments/returns" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="/document/reference/returns[1] | /document/reference/eventhandler/type">
+								<xsl:call-template name="defaultReturnSection" />
+							</xsl:if>
+						</xsl:otherwise>
+					</xsl:choose>
+
+					<xsl:apply-templates select="/document/reference/implements"/>
+
+					<!-- Usage note for extension methods -->
+					<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.ExtensionAttribute'] and boolean($g_apiSubGroup='method')">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_extensionUsage"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<include item="text_extensionUsage">
+									<parameter>
+										<xsl:apply-templates select="/document/reference/parameters/parameter[1]/type" mode="link"/>
+									</parameter>
+								</include>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="defaultReturnSection">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='field']">
+						<include item="title_fieldValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='event']">
+						<include item="title_value" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_methodValue" />
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/apidata[@subgroup='event']">
+								<xsl:apply-templates select="/document/reference/eventhandler/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="overloads" mode="summary" name="t_overloadsSummary">
+		<xsl:choose>
+			<xsl:when test="count(summary) > 0">
+				<xsl:apply-templates select="summary"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:apply-templates/>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="overloads" mode="sections" name="t_overloadsSections">
+		<xsl:apply-templates select="remarks"/>
+		<xsl:apply-templates select="example"/>
+	</xsl:template>
+
+	<xsl:template match="templates" name="t_templates">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_templates"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>&#160;</xsl:text>
+				<dl>
+					<xsl:for-each select="template">
+						<xsl:variable name="templateName" select="@name"/>
+						<dt>
+								<xsl:value-of select="$templateName"/>
+						</dt>
+						<xsl:text>&#xa;</xsl:text>
+						<dd>
+							<xsl:apply-templates select="/document/comments/typeparam[@name=$templateName]"/>
+						</dd>
+						<xsl:text>&#xa;</xsl:text>
+					</xsl:for-each>
+				</dl>
+				<xsl:text>&#160;</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_events">
+		<xsl:if test="count(/document/comments/event) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_events'"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<include item="header_eventType"/>
+							</th>
+							<th>
+								<include item="header_eventReason"/>
+							</th>
+						</tr>
+						<xsl:for-each select="/document/comments/event">
+							<tr>
+								<td>
+									<referenceLink target="{@cref}" qualified="true"/>
+								</td>
+								<td>
+									<xsl:apply-templates select="."/>
+								</td>
+							</tr>
+						</xsl:for-each>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_exceptions">
+		<xsl:if test="count(/document/comments/exception) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<include item="header_exceptionName"/>
+							</th>
+							<th>
+								<include item="header_exceptionCondition"/>
+							</th>
+						</tr>
+						<xsl:for-each select="/document/comments/exception">
+							<tr>
+								<td>
+									<referenceLink target="{@cref}" qualified="false"/>
+								</td>
+								<td>
+									<xsl:apply-templates select="."/>
+								</td>
+							</tr>
+						</xsl:for-each>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="threadsafety" name="t_threadsafety">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_threadSafety'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="normalize-space(.)">
+						<xsl:apply-templates/>
+					</xsl:when>
+					<xsl:when test="(not(@instance) and not(@static)) or (@static='true' and @instance='false')">
+						<include item="boilerplate_threadSafety" />
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:if test="@static='true'">
+							<include item="text_staticThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@static='false'">
+							<include item="text_staticNotThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='true'">
+							<include item="text_instanceThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='false'">
+							<include item="text_instanceNotThreadSafe"/>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_permissions">
+		<xsl:if test="count(/document/comments/permission) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_permissions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<include item="header_permissionName"/>
+							</th>
+							<th>
+								<include item="header_permissionDescription"/>
+							</th>
+						</tr>
+						<xsl:for-each select="/document/comments/permission">
+							<tr>
+								<td>
+									<referenceLink target="{@cref}" qualified="true"/>
+								</td>
+								<td>
+									<xsl:apply-templates select="."/>
+								</td>
+							</tr>
+						</xsl:for-each>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_contracts">
+		<xsl:variable name="v_requires" select="/document/comments/requires"/>
+		<xsl:variable name="v_ensures" select="/document/comments/ensures"/>
+		<xsl:variable name="v_ensuresOnThrow" select="/document/comments/ensuresOnThrow"/>
+		<xsl:variable name="v_invariants" select="/document/comments/invariant"/>
+		<xsl:variable name="v_setter" select="/document/comments/setter"/>
+		<xsl:variable name="v_getter" select="/document/comments/getter"/>
+		<xsl:variable name="v_pure" select="/document/comments/pure"/>
+		<xsl:if test="$v_requires or $v_ensures or $v_ensuresOnThrow or $v_invariants or $v_setter or $v_getter or $v_pure">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_contracts'"/>
+				<xsl:with-param name="p_content">
+					<!--Purity-->
+					<xsl:if test="$v_pure">
+						<xsl:text>&#xa;This method is pure.&#xa;</xsl:text>
+					</xsl:if>
+					<!--Contracts-->
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:if test="$v_getter">
+						<xsl:variable name="v_getterRequires" select="$v_getter/requires"/>
+						<xsl:variable name="v_getterEnsures" select="$v_getter/ensures"/>
+						<xsl:variable name="v_getterEnsuresOnThrow" select="$v_getter/ensuresOnThrow"/>
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_getter"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:if test="$v_getterRequires">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_requiresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_getterRequires"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_getterEnsures">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_getterEnsures"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_getterEnsuresOnThrow">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresOnThrowName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_getterEnsuresOnThrow"/>
+									</xsl:call-template>
+								</xsl:if>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_setter">
+						<xsl:variable name="v_setterRequires" select="$v_setter/requires"/>
+						<xsl:variable name="v_setterEnsures" select="$v_setter/ensures"/>
+						<xsl:variable name="v_setterEnsuresOnThrow" select="$v_setter/ensuresOnThrow"/>
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_setter"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:if test="$v_setterRequires">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_requiresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_setterRequires"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_setterEnsures">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_setterEnsures"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_setterEnsuresOnThrow">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresOnThrowName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_setterEnsuresOnThrow"/>
+									</xsl:call-template>
+								</xsl:if>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_requires">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_requiresName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_requires"/>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_ensures">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_ensuresName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_ensures"/>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_ensuresOnThrow">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_ensuresOnThrowName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_ensuresOnThrow"/>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_invariants">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_invariantsName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_invariants"/>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:text>&#xa;</xsl:text>
+					<!--Contracts link-->
+					<a>
+						<xsl:attribute name="target">
+							<xsl:text>_blank</xsl:text>
+						</xsl:attribute>
+						<xsl:attribute name="href">
+							<xsl:text>https://github.com/Microsoft/CodeContracts</xsl:text>
+						</xsl:attribute>
+						<xsl:attribute name="rel">
+							<xsl:text>noopener noreferrer</xsl:text>
+						</xsl:attribute>
+						<xsl:text>Learn more about contracts</xsl:text>
+					</a>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_contractsTable">
+		<xsl:param name="p_title"/>
+		<xsl:param name="p_contracts"/>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<table>
+			<tr>
+				<th>
+					<xsl:copy-of select="$p_title"/>
+				</th>
+			</tr>
+			<xsl:for-each select="$p_contracts">
+				<tr>
+					<td>
+						<div style="margin-bottom: 0pt; white-space: pre-wrap;">
+							<pre xml:space="preserve" style="margin-bottom: 0pt"><xsl:value-of select="."/></pre>
+						</div>
+						<xsl:if test="@description or @inheritedFrom or @exception">
+							<div style="font-size:95%; margin-left: 10pt; margin-bottom: 0pt">
+								<table>
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<xsl:if test="@description">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Description: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<xsl:value-of select="@description"/>
+											</td>
+										</tr>
+									</xsl:if>
+									<xsl:if test="@inheritedFrom">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Inherited From: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<!-- Change the ID type and strip "get_" and "set_" prefixes from property member IDs -->
+												<xsl:variable name="inheritedMemberId">
+													<xsl:choose>
+														<xsl:when test="contains(@inheritedFrom, '.get_')">
+															<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.get_'), '.', substring-after(@inheritedFrom, '.get_'))"/>
+														</xsl:when>
+														<xsl:when test="contains(@inheritedFrom, '.set_')">
+															<!-- For the setter, we need to strip the last parameter too -->
+															<xsl:variable name="lastParam">
+																<xsl:call-template name="t_getLastParameter">
+																	<xsl:with-param name="p_string" select="@inheritedFrom" />
+																</xsl:call-template>
+															</xsl:variable>
+															<xsl:variable name="setterName">
+																<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.set_'), '.', substring-after(@inheritedFrom, '.set_'))"/>
+															</xsl:variable>
+															<xsl:value-of select="concat(substring-before($setterName, $lastParam), ')')"/>
+														</xsl:when>
+														<xsl:otherwise>
+															<xsl:value-of select="@inheritedFrom"/>
+														</xsl:otherwise>
+													</xsl:choose>
+												</xsl:variable>
+												<referenceLink target="{$inheritedMemberId}">
+													<xsl:value-of select="@inheritedFromTypeName"/>
+												</referenceLink>
+											</td>
+										</tr>
+									</xsl:if>
+									<xsl:if test="@exception">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Exception: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<referenceLink target="{@exception}" qualified="true"/>
+											</td>
+										</tr>
+									</xsl:if>
+								</table>
+								<xsl:text>&#160;</xsl:text>
+							</div>
+						</xsl:if>
+					</td>
+				</tr>
+			</xsl:for-each>
+		</table>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<!-- Gets the parameter following the last comma in the given string -->
+	<xsl:template name="t_getLastParameter">
+		<xsl:param name="p_string" />
+		<xsl:choose>
+			<xsl:when test="contains($p_string, ',')">
+				<xsl:call-template name="t_getLastParameter">
+					<xsl:with-param name="p_string" select="substring-after($p_string, ',')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="concat(',', $p_string)" />
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_putSeeAlsoSection">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_id" select="'seeAlsoSection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:if test="$g_hasReferenceLinks">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_seeAlso_reference"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+								<xsl:for-each select="/document/comments//seealso[not(ancestor::overloads) and not(@href)] | /document/reference/elements/element/overloads//seealso[not(@href)]">
+									<xsl:apply-templates select=".">
+										<xsl:with-param name="displaySeeAlso" select="true()"/>
+									</xsl:apply-templates>
+									<br />
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$g_hasOtherResourcesLinks">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_seeAlso_otherResources"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:for-each select="/document/comments//seealso[not(ancestor::overloads) and @href] | /document/reference/elements/element/overloads//seealso[@href]">
+									<xsl:apply-templates select=".">
+										<xsl:with-param name="displaySeeAlso" select="true()"/>
+									</xsl:apply-templates>
+									<br />
+								</xsl:for-each>
+								<!-- Copy conceptualLink elements as-is -->
+								<xsl:for-each select="/document/comments/conceptualLink | /document/reference/elements/element/overloads/conceptualLink">
+									<xsl:copy-of select="."/>
+									<br />
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists
+	============================================================================================= -->
+
+	<xsl:template match="list[@type='bullet' or @type='']" name="t_bulletList">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<ul>
+			<xsl:for-each select="item">
+				<li>
+					<xsl:choose>
+						<xsl:when test="term or description">
+							<xsl:if test="term">
+								<strong>
+									<xsl:apply-templates select="term" />
+								</strong>
+								<xsl:text> - </xsl:text>
+							</xsl:if>
+							<xsl:apply-templates select="description" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:apply-templates />
+						</xsl:otherwise>
+					</xsl:choose>
+				</li>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:for-each>
+		</ul>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="list[@type='number']" name="t_numberList">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<ol>
+			<xsl:if test="@start">
+				<xsl:attribute name="start">
+					<xsl:value-of select="@start"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:for-each select="item">
+				<xsl:text>&#xa;</xsl:text>
+				<li>
+					<xsl:choose>
+						<xsl:when test="term or description">
+							<xsl:if test="term">
+								<strong>
+									<xsl:apply-templates select="term" />
+								</strong>
+								<xsl:text> - </xsl:text>
+							</xsl:if>
+							<xsl:apply-templates select="description" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:apply-templates />
+						</xsl:otherwise>
+					</xsl:choose>
+				</li>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:for-each>
+		</ol>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="list[@type='table']" name="t_tableList">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<table>
+			<xsl:for-each select="listheader">
+				<tr>
+					<xsl:for-each select="*">
+						<th>
+							<xsl:apply-templates/>
+						</th>
+					</xsl:for-each>
+				</tr>
+			</xsl:for-each>
+			<xsl:for-each select="item">
+				<tr>
+					<xsl:for-each select="*">
+						<td>
+							<xsl:apply-templates/>
+						</td>
+					</xsl:for-each>
+				</tr>
+			</xsl:for-each>
+		</table>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="list[@type='definition']" name="t_definitionList">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<dl>
+			<xsl:for-each select="item">
+				<dt>
+					<xsl:apply-templates select="term"/>
+				</dt>
+				<xsl:text>&#xa;</xsl:text>
+				<dd>
+					<xsl:apply-templates select="description"/>
+				</dd>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:for-each>
+		</dl>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<xsl:template match="conceptualLink">
+		<xsl:choose>
+			<xsl:when test="normalize-space(.)">
+				<conceptualLink target="{@target}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<conceptualLink target="{@target}"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@cref]" name="t_seeCRef">
+		<xsl:choose>
+			<xsl:when test="starts-with(@cref,'R:')">
+				<referenceLink target="{@cref}">
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<include item="topicTitle_root" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="starts-with(@cref,'O:')">
+				<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+					show-parameters="false">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="@qualifyHint">
+								<xsl:attribute name="show-container">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+								<xsl:attribute name="show-parameters">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+							</xsl:if>
+							<include item="boilerplate_seeAlsoOverloadLink">
+								<parameter>{0}</parameter>
+							</include>
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="normalize-space(.)">
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:apply-templates/>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="@qualifyHint">
+						<xsl:attribute name="show-container">
+							<xsl:value-of select="@qualifyHint"/>
+						</xsl:attribute>
+						<xsl:attribute name="show-parameters">
+							<xsl:value-of select="@qualifyHint"/>
+						</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@href]" name="t_seeHRef">
+		<xsl:call-template name="t_hyperlink">
+			<xsl:with-param name="p_content" select="."/>
+			<xsl:with-param name="p_href" select="@href"/>
+			<xsl:with-param name="p_target" select="@target"/>
+			<xsl:with-param name="p_alt" select="@alt"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="see[@langword]">
+		<xsl:choose>
+			<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
+				<include item="devlang_nullKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='static' or @langword='Shared'">
+				<include item="devlang_staticKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='virtual' or @langword='Overridable'">
+				<include item="devlang_virtualKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='true' or @langword='True'">
+				<include item="devlang_trueKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='false' or @langword='False'">
+				<include item="devlang_falseKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='abstract' or @langword='MustInherit'">
+				<include item="devlang_abstractKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='sealed' or @langword='NotInheritable'">
+				<include item="devlang_sealedKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='async' or @langword='async'">
+				<include item="devlang_asyncKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='await' or @langword='Await' or @langword='let!'">
+				<include item="devlang_awaitKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='async/await' or @langword='Async/Await' or @langword='async/let!'">
+				<include item="devlang_asyncAwaitKeyword"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:text>`</xsl:text>
+				<xsl:value-of select="@langword" />
+				<xsl:text>`</xsl:text>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="seealso[@href]" name="t_seealsoHRef">
+		<xsl:param name="displaySeeAlso" select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:call-template name="t_hyperlink">
+				<xsl:with-param name="p_content" select="."/>
+				<xsl:with-param name="p_href" select="@href"/>
+				<xsl:with-param name="p_target" select="@target"/>
+				<xsl:with-param name="p_alt" select="@alt"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="seealso" name="t_seealso">
+		<xsl:param name="displaySeeAlso" select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:choose>
+				<xsl:when test="starts-with(@cref,'R:')">
+					<referenceLink target="{@cref}">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:value-of select="." />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="topicTitle_root" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="starts-with(@cref,'O:')">
+					<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+						show-parameters="false">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:apply-templates />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="boilerplate_seeAlsoOverloadLink">
+									<parameter>{0}</parameter>
+								</include>
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="normalize-space(.)">
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:apply-templates />
+					</referenceLink>
+				</xsl:when>
+				<xsl:otherwise>
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+					</referenceLink>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_hyperlink">
+		<xsl:param name="p_content"/>
+		<xsl:param name="p_href"/>
+		<xsl:param name="p_target"/>
+		<xsl:param name="p_alt"/>
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="$p_href"/>
+			</xsl:attribute>
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_target)">
+					<xsl:attribute name="target">
+						<xsl:value-of select="normalize-space($p_target)"/>
+					</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="target">_blank</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:if test="normalize-space($p_alt)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space($p_alt)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_content)">
+					<xsl:value-of select="$p_content"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$p_href"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</a>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="note" name="t_note">
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass" select="@type"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_getParameterDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getReturnsDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getElementDescription">
+		<xsl:apply-templates select="summary[1]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSummary">
+		<xsl:apply-templates select="overloads" mode="summary"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSections">
+		<xsl:apply-templates select="overloads" mode="sections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Bibliography
+	============================================================================================= -->
+
+	<xsl:key name="k_citations" match="//cite" use="text()"/>
+
+	<xsl:variable name="g_hasCitations" select="boolean(count(//cite) > 0)"/>
+
+	<xsl:template match="cite" name="t_cite">
+		<xsl:variable name="v_currentCitation" select="text()"/>
+		<xsl:for-each select="//cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:if test="$v_currentCitation=.">
+				<xsl:choose>
+					<xsl:when test="document($bibliographyData)/bibliography/reference[@name=$v_currentCitation]">
+						<sup>
+							<a>
+								<xsl:attribute name="href">
+									#cite<xsl:value-of select="position()"/>
+								</xsl:attribute>\[<xsl:value-of select="position()"/>\]
+							</a>
+						</sup>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="t_bibliography">
+		<xsl:if test="$g_hasCitations">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'bibliographyTitle'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_autogenBibliographyLinks"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_autogenBibliographyLinks">
+		<xsl:for-each select="//cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:variable name="citation" select="."/>
+			<xsl:variable name="entry" select="document($bibliographyData)/bibliography/reference[@name=$citation]"/>
+
+			<xsl:call-template name="bibliographyReference">
+				<xsl:with-param name="number" select="position()"/>
+				<xsl:with-param name="data" select="$entry"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+	<!-- Revision History information template processing. -->
+	<xsl:template name="t_revisionHistory" match="revisionHistory" >
+		<xsl:if test="boolean(count(/document//revisionHistory) > 0)">
+			<xsl:if test="not(/document//revisionHistory[@visible='false'])">
+				<xsl:call-template name="t_putSectionInclude">
+					<xsl:with-param name="p_titleInclude" select="'title_revisionHistory'"/>
+					<xsl:with-param name="p_content">
+						<xsl:text>&#xa;</xsl:text>
+						<xsl:text>&#160;</xsl:text>
+						<table>
+							<tr>
+								<th>
+									<include item="header_revHistoryDate" />
+								</th>
+								<th>
+									<include item="header_revHistoryVersion" />
+								</th>
+								<th>
+									<include item="header_revHistoryDescription" />
+								</th>
+							</tr>
+							<xsl:for-each select="/document//revisionHistory/revision">
+								<xsl:if test="not(@visible='false')">
+									<tr>
+										<td>
+											<xsl:value-of select="@date"/>
+										</td>
+										<td>
+											<xsl:value-of select="@version"/>
+										</td>
+										<td>
+											<xsl:apply-templates />
+										</td>
+									</tr>
+								</xsl:if>
+							</xsl:for-each>
+						</table>
+						<xsl:text>&#160;</xsl:text>
+						<xsl:text>&#xa;</xsl:text>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Pass through a chunk of markup.  This will allow build components to add HTML or other elements such as
+			 "include" for localized shared content to a pre-transformed document.  This prevents it being removed as
+			 unrecognized content by the transformations. -->
+	<xsl:template match="markup">
+		<xsl:copy-of select="node()"/>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/ReferenceUtilities.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/ReferenceUtilities.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..77a6d6f29ec847b6f1761ee3404411e72d08d5ef
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/ReferenceUtilities.xsl
@@ -0,0 +1,2347 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+>
+	<!-- ======================================================================================== -->
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the API identifier string
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+	<xsl:param name="maxVersionParts" />
+	<xsl:param name="includeEnumValues" select="string('true')" />
+	<xsl:param name="baseSourceCodeUrl" />
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_typeTopicId">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata[@group='api'] and /document/reference/apidata[@group='type']">
+				<xsl:value-of select="$key"/>
+			</xsl:when>
+			<xsl:when test="/document/reference/topicdata/@typeTopicId">
+				<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/containers/type/@api"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicGroup" select="/document/reference/topicdata/@group"/>
+	<xsl:variable name="g_apiGroup" select="/document/reference/apidata/@group"/>
+	<xsl:variable name="g_apiTopicGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@group"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@group"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicSubGroup" select="/document/reference/topicdata/@subgroup"/>
+	<xsl:variable name="g_apiSubGroup" select="/document/reference/apidata/@subgroup"/>
+	<xsl:variable name="g_apiTopicSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_apiSubSubGroup" select="/document/reference/apidata/@subsubgroup"/>
+	<xsl:variable name="g_apiTopicSubSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subsubgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subsubgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_namespaceName" select="/document/reference/containers/namespace/apidata/@name"/>
+
+	<!-- ============================================================================================
+	Document body
+	============================================================================================= -->
+
+	<xsl:template match="/">
+		<document>
+			<xsl:text>&#xa;</xsl:text>
+			<!-- This is used by the Save Component to get the filename.  It won't end up in the final result. -->
+			<file>
+				<xsl:attribute name="name">
+					<xsl:value-of select="/document/reference/file/@name" />
+				</xsl:attribute>
+			</file>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:text># </xsl:text>
+			<include item="boilerplate_pageTitle">
+				<parameter>
+					<xsl:call-template name="t_topicTitleDecorated"/>
+				</parameter>
+			</include>
+			<span id="PageHeader">
+				<xsl:text> </xsl:text>
+			</span>
+			<xsl:text>&#xa;</xsl:text>
+			<include item="header"/>
+			<xsl:text>&#xa;</xsl:text>
+			<xsl:call-template name="t_body"/>
+		</document>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	The plain-text title used in the TOC 
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitlePlain">
+		<xsl:param name="p_qualifyMembers" select="false()"/>
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<!-- the subsubgroup, subgroup, or group determines the title -->
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- v_operators + type v_conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no v_operators + type v_conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- v_operators + no type v_conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNamePlain">
+					<xsl:with-param name="p_qualifyMembers"
+													select="$p_qualifyMembers"/>
+				</xsl:call-template>
+			</parameter>
+			<parameter>
+				<!-- show parameters only for overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesPlain"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesPlain"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- when positioned on a parameterized api, produces a (plain) comma-separated list of parameter types -->
+	<xsl:template name="t_parameterTypesPlain">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template" mode="plain"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (plain) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesPlain">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+                               parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+													 mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+                               returns[1]/template"
+													 mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNamePlain">
+		<xsl:param name="p_qualifyMembers" select="false()"/>
+		<xsl:choose>
+			<!-- type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- member pages use the member name, qualified if the qualified flag is set -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<!-- check for qualify flag and qualify if it is set -->
+				<xsl:if test="$p_qualifyMembers">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="t_typeNamePlain"/>
+					</xsl:for-each>
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>.</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+				<xsl:choose>
+					<!-- EII names are interfaceName.interfaceMemberName, not memberName -->
+					<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+						<xsl:for-each select="/document/reference/implements/member">
+							<xsl:for-each select="type">
+								<xsl:call-template name="t_typeNamePlain"/>
+							</xsl:for-each>
+							<xsl:text>.</xsl:text>
+							<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+							<xsl:choose>
+								<xsl:when test="apidata/@name">
+									<xsl:value-of select="apidata/@name" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:call-template name="t_getTrimmedLastPeriod">
+										<xsl:with-param name="p_string" select="@api" />
+									</xsl:call-template>
+								</xsl:otherwise>
+							</xsl:choose>
+							<xsl:apply-templates select="templates" mode="plain"/>
+						</xsl:for-each>
+					</xsl:when>
+					<!-- Use just the plain, unadorned api name for overload pages with templates -->
+					<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+						<xsl:value-of select="/document/reference/apidata/@name"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- but other members just use the name -->
+						<xsl:for-each select="/document/reference[1]">
+							<xsl:value-of select="apidata/@name"/>
+							<xsl:apply-templates select="templates" mode="plain"/>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- namespace, member (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	The language-variant, marked-up topic title	used as the big title at the top of the page
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitleDecorated">
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- operators + type conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no operators + type conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- operators + no type conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNameDecorated"/>
+			</parameter>
+			<parameter>
+				<!-- show parameters only from overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup= 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- When positioned on a generic API, produces a (decorated) comma-separated list of template names -->
+	<xsl:template name="t_parameterTypesDecorated">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template" mode="decorated"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (decorated) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesDecorated">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+                               parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+													 mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+                               returns[1]/template"
+													 mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNameDecorated">
+		<xsl:choose>
+			<!-- type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- eii members -->
+			<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:text>.</xsl:text>
+				<xsl:for-each select="/document/reference/implements/member">
+					<xsl:for-each select="type">
+						<xsl:call-template name="t_typeNameDecorated"/>
+					</xsl:for-each>
+					<xsl:text>.</xsl:text>
+					<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+					<xsl:choose>
+						<xsl:when test="apidata/@name">
+							<xsl:value-of select="apidata/@name" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_getTrimmedLastPeriod">
+								<xsl:with-param name="p_string" select="@api" />
+							</xsl:call-template>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- Use just the plain, unadorned type.api name for overload pages with templates -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:text>.</xsl:text>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:when>
+			<!-- normal member pages use the qualified member name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:if test="not($g_apiSubSubGroup='operator'and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:text>.</xsl:text>
+				</xsl:if>
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- namespace (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements processing
+	============================================================================================= -->
+
+	<xsl:template match="elements" mode="root" name="t_rootElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_namespaces'"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<include item="header_namespaceName"/>
+							</th>
+							<th>
+								<include item="header_namespaceDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="root">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespace" name="t_namespaceElements">
+
+		<xsl:if test="element/apidata/@subgroup = 'class'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'class'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'structure'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'structure'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'interface'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'interface'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'delegate'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'delegate'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'enumeration'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'enumeration'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespaceGroup" name="t_namespaceGroupElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'tableTitle_namespace'"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<include item="header_namespaceName"/>
+							</th>
+							<th>
+								<include item="header_namespaceDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="namespaceGroup">
+							<xsl:sort select="substring-after(@api, ':')"/>
+						</xsl:apply-templates>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespaceGroup" name="t_namespaceGroupElement">
+		<tr>
+			<td>
+				<referenceLink target="{@api}" qualified="false"/>
+			</td>
+			<td>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="enumeration" name="t_enumerationElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'topicTitle_enumMembers'"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<xsl:text>&#160;</xsl:text>
+							</th>
+							<th>
+								<include item="header_memberName"/>
+							</th>
+							<xsl:if test="$includeEnumValues='true'">
+								<th>
+									<include item="header_memberValue"/>
+								</th>
+							</xsl:if>
+							<th>
+								<include item="header_memberDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="enumeration"/>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="member" name="t_memberElements">
+
+		<!-- Filter out the Overload pages created by ApplyVSDocModel.xsl. -->
+		<xsl:variable name="filteredOverloadElements"
+									select="element[starts-with(@api, 'Overload:')]/element | element[not(starts-with(@api, 'Overload:'))]"/>
+
+		<xsl:call-template name="t_memberIntroBoilerplate"/>
+
+		<!-- Constructor table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">constructor</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">property</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">method</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">event</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Operator table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">operator</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Field table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">field</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Attached property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedProperty</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedProperty']]"/>
+		</xsl:call-template>
+
+		<!-- Attached event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedEvent</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedEvent']]"/>
+		</xsl:call-template>
+
+		<!-- Extension method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">extensionMethod</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='extension']]"/>
+		</xsl:call-template>
+
+		<!-- EII table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">explicitInterfaceImplementation</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[.//memberdata[@visibility='private'] and .//proceduredata[@virtual = 'true']]"/>
+		</xsl:call-template>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="type" name="t_typeElements">
+		<xsl:apply-templates select="." mode="member"/>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="derivedType">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'derivedClasses'"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<include item="header_memberName"/>
+							</th>
+							<th>
+								<include item="header_memberDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="derivedType">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overload" name="t_overloadElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putMemberListSection">
+				<xsl:with-param name="p_headerGroup" select="'overloadMembers'"/>
+				<xsl:with-param name="p_members" select="element"/>
+				<xsl:with-param name="p_showParameters" select="'true'"/>
+				<xsl:with-param name="p_sort" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+		<xsl:apply-templates select="element" mode="overloadSections">
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overloadSummary">
+		<xsl:apply-templates select="element" mode="overloadSummary" >
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putNamespaceSection">
+		<xsl:param name="p_listSubgroup"/>
+
+		<xsl:variable name="v_header" select="concat('tableTitle_', $p_listSubgroup)"/>
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="$v_header"/>
+			<xsl:with-param name="p_content">
+				<xsl:call-template name="t_putNamespaceList">
+					<xsl:with-param name="p_listSubgroup" select="$p_listSubgroup"/>
+				</xsl:call-template>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_putNamespaceList">
+		<xsl:param name="p_listSubgroup"/>
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:text>&#160;</xsl:text>
+		<table>
+			<tr>
+				<th>
+					<xsl:text>&#160;</xsl:text>
+				</th>
+				<th>
+					<include item="header_{$p_listSubgroup}Name"/>
+				</th>
+				<th>
+					<include item="header_typeDescription"/>
+				</th>
+			</tr>
+			<xsl:apply-templates select="element[apidata/@subgroup=$p_listSubgroup]" mode="namespace">
+				<xsl:sort select="@api"/>
+			</xsl:apply-templates>
+		</table>
+		<xsl:text>&#160;</xsl:text>
+		<xsl:text>&#xa;</xsl:text>
+	</xsl:template>
+
+	<xsl:template name="t_memberIntroBoilerplate">
+		<xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+			<!-- if there are exposed members, show a boilerplate intro p -->
+			<xsl:variable name="v_introTextItemId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
+					<xsl:otherwise>exposedMembersTableText</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<xsl:text>&#xa;</xsl:text>
+			<include item="{$v_introTextItemId}">
+				<parameter>
+					<referenceLink target="{$g_typeTopicId}"/>
+				</parameter>
+				<parameter>
+					<xsl:value-of select="concat ('text_',$g_apiTopicSubGroup,'Upper')"/>
+				</parameter>
+			</include>
+			<xsl:text>&#xa;</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putMemberListSection">
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_showParameters" select="false()"/>
+		<xsl:param name="p_sort" select="true()"/>
+
+		<xsl:if test="count($p_members) &gt; 0">
+			<xsl:variable name="v_header">
+				<xsl:value-of select="concat('tableTitle_', $p_headerGroup)"/>
+			</xsl:variable>
+
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="$v_header"/>
+				<xsl:with-param name="p_toplink" select="true()"/>
+				<xsl:with-param name="p_content">
+					<xsl:text>&#xa;</xsl:text>
+					<xsl:text>&#160;</xsl:text>
+					<table>
+						<tr>
+							<th>
+								<xsl:text>&#160;</xsl:text>
+							</th>
+							<th>
+								<include item="header_typeName"/>
+							</th>
+							<th>
+								<include item="header_typeDescription"/>
+							</th>
+						</tr>
+
+						<!-- Add a row for each member of the current subgroup-visibility -->
+						<xsl:choose>
+							<xsl:when test="boolean($p_sort)">
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+									<xsl:sort select="topicdata/@eiiName | apidata/@name"/>
+									<xsl:sort select="count(templates/*)"/>
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</table>
+					<xsl:text>&#160;</xsl:text>
+					<xsl:text>&#xa;</xsl:text>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element processing
+	============================================================================================= -->
+
+	<xsl:template match="element" mode="root" name="t_rootElement">
+		<tr>
+			<td>
+				<xsl:choose>
+					<xsl:when test="apidata/@name = ''">
+						<referenceLink target="{@api}" qualified="false">
+							<include item="defaultNamespace"/>
+						</referenceLink>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}" qualified="false"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</td>
+			<td>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespace" name="t_namespaceElement">
+		<xsl:variable name="v_typeVisibility">
+			<xsl:choose>
+				<xsl:when test="typedata/@visibility='family' or typedata/@visibility='family or assembly' or typedata/@visibility='assembly'">prot</xsl:when>
+				<xsl:when test="typedata/@visibility='private'">priv</xsl:when>
+				<xsl:otherwise>pub</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<tr>
+			<td>
+				<xsl:call-template name="t_putTypeIcon">
+					<xsl:with-param name="p_typeVisibility" select="$v_typeVisibility"/>
+				</xsl:call-template>
+			</td>
+			<td>
+				<referenceLink target="{@api}" qualified="false"/>
+			</td>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="enumeration" name="t_enumerationElement">
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<tr>
+			<td>
+				<!-- Platform icons -->
+				<xsl:if test="normalize-space($v_supportedOnCf)!=''">
+					<xsl:text>![</xsl:text>
+					<include item="altText_CompactFramework"/>
+					<xsl:text>](</xsl:text>
+					<include item="mediaPath">
+						<parameter>CFW.gif</parameter>
+					</include>
+					<xsl:text> "</xsl:text>
+					<include item="altText_CompactFramework"/>
+					<xsl:text>")</xsl:text>
+				</xsl:if>
+				<xsl:if test="normalize-space($v_supportedOnXna)!=''">
+					<xsl:text>![</xsl:text>
+					<include item="altText_XNAFramework"/>
+					<xsl:text>](</xsl:text>
+					<include item="mediaPath">
+						<parameter>xna.gif</parameter>
+					</include>
+					<xsl:text> "</xsl:text>
+					<include item="altText_XNAFramework"/>
+					<xsl:text>")</xsl:text>
+				</xsl:if>
+				<xsl:if test="normalize-space($v_supportedOnSilverlightMobile)!=''">
+					<xsl:text>![</xsl:text>
+					<include item="altText_SilverlightMobile"/>
+					<xsl:text>](</xsl:text>
+					<include item="mediaPath">
+						<parameter>slMobile.gif</parameter>
+					</include>
+					<xsl:text> "</xsl:text>
+					<include item="altText_SilverlightMobile"/>
+					<xsl:text>")</xsl:text>
+				</xsl:if>
+			</td>
+			<xsl:variable name="id" select="@api"/>
+			<td target="{$id}">
+				<xsl:text>**</xsl:text>
+				<xsl:value-of select="apidata/@name"/>
+				<xsl:text>**</xsl:text>
+			</td>
+			<xsl:if test="$includeEnumValues='true'">
+				<td>
+					<xsl:value-of select="value"/>
+				</td>
+			</xsl:if>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getEnumMemberDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="derivedType" name="t_derivedTypeElement">
+		<tr>
+			<td>
+				<xsl:choose>
+					<xsl:when test="@display-api">
+						<referenceLink target="{@api}" display-target="{@display-api}"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</td>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="members" name="t_membersElement">
+		<xsl:param name="subgroup"/>
+		<xsl:if test="memberdata[@visibility='public'] and apidata[@subgroup=$g_apiTopicSubGroup]">
+			public;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly'] and apidata[@subgroup=$g_apiTopicSubGroup]">
+			protected;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='private'] and apidata[@subgroup=$g_apiTopicSubGroup] and not(proceduredata[@virtual = 'true'])">
+			private;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+			explicit;
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="memberlistRow" name="t_memberlistRowElement">
+		<xsl:param name="p_showParameters" select="'false'"/>
+		<xsl:variable name="v_notsupportedOnNetfw">
+			<xsl:call-template name="t_isMemberUnsupportedOnNetfw"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlight">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<xsl:variable name="v_staticMember">
+			<xsl:call-template name="t_isMemberStatic"/>
+		</xsl:variable>
+		<xsl:variable name="v_inheritedMember">
+			<xsl:call-template name="t_isMemberInherited"/>
+		</xsl:variable>
+		<xsl:variable name="v_declaredMember">
+			<xsl:call-template name="t_isMemberDeclared"/>
+		</xsl:variable>
+		<xsl:variable name="v_protectedMember">
+			<xsl:call-template name="t_isMemberProtected"/>
+		</xsl:variable>
+		<xsl:variable name="v_publicMember">
+			<xsl:call-template name="t_isMemberPublic"/>
+		</xsl:variable>
+		<xsl:variable name="v_privateMember">
+			<xsl:call-template name="t_isMemberPrivate"/>
+		</xsl:variable>
+		<xsl:variable name="v_explicitMember">
+			<xsl:call-template name="t_isMemberExplicit"/>
+		</xsl:variable>
+		<xsl:variable name="v_conversionOperator">
+			<xsl:call-template name="t_isConversionOperator"/>
+		</xsl:variable>
+		<!-- Do not show non-static members of static types -->
+		<xsl:if test=".//memberdata/@static='true' or not(/document/reference/typedata[@abstract='true' and @sealed='true'])">
+			<tr>
+				<td>
+					<xsl:call-template name="t_putMemberIcons">
+						<xsl:with-param name="p_memberVisibility">
+							<xsl:choose>
+								<xsl:when test="normalize-space($v_publicMember)!=''">pub</xsl:when>
+								<xsl:when test="normalize-space($v_protectedMember)!=''">prot</xsl:when>
+								<xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
+								<xsl:otherwise>pub</xsl:otherwise>
+							</xsl:choose>
+						</xsl:with-param>
+						<xsl:with-param name="p_staticMember" select="normalize-space($v_staticMember)"/>
+						<xsl:with-param name="p_supportedOnXna" select="normalize-space($v_supportedOnXna)"/>
+						<xsl:with-param name="p_supportedOnCf" select="normalize-space($v_supportedOnCf)"/>
+						<xsl:with-param name="p_supportedOnSilverlight" select="normalize-space($v_supportedOnSilverlight)"/>
+						<xsl:with-param name="p_supportedOnSilverlightMobile" select="normalize-space($v_supportedOnSilverlightMobile)"/>
+					</xsl:call-template>
+				</td>
+				<td>
+					<xsl:choose>
+						<xsl:when test="normalize-space($v_conversionOperator)!=''">
+							<referenceLink target="{@api}" show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="memberdata[@overload] or starts-with(../@api, 'Overload:')">
+							<referenceLink target="{@api}" show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="@source='extension'">
+							<xsl:call-template name="t_putExtensionMethodDisplayLink"/>
+						</xsl:when>
+						<xsl:when test="@display-api">
+							<referenceLink target="{@api}" display-target="{@display-api}"
+														 show-parameters="{$p_showParameters}"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<referenceLink target="{@api}" show-parameters="{$p_showParameters}"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</td>
+				<td>
+					<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+						<xsl:text> </xsl:text>
+						<include item="boilerplate_obsoleteShort"/>
+					</xsl:if>
+					<xsl:if test="topicdata[@subgroup='overload'] or @overload='true'">
+						<include item="Overloaded"/>
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:apply-templates select="element" mode="overloadSummary"/>
+					<xsl:call-template name="t_getElementDescription"/>
+					<xsl:choose>
+						<xsl:when test="not(topicdata[@subgroup='overload'])">
+							<xsl:choose>
+								<xsl:when test="@source='extension' and containers/type">
+									<xsl:text> </xsl:text>
+									<include item="definedBy">
+										<parameter>
+											<xsl:apply-templates select="containers/type" mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="normalize-space($v_inheritedMember)!=''">
+									<xsl:text> </xsl:text>
+									<include item="inheritedFrom">
+										<parameter>
+											<xsl:apply-templates select="containers/type" mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="overrides/member">
+									<xsl:text> </xsl:text>
+									<include item="overridesMember">
+										<parameter>
+											<xsl:apply-templates select="overrides/member" mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+							</xsl:choose>
+						</xsl:when>
+					</xsl:choose>
+
+					<!-- add boilerplate for other members in the signature set -->
+					<xsl:if test="@signatureset and element">
+						<xsl:variable name="primaryMember">
+							<xsl:copy-of select="."/>
+						</xsl:variable>
+						<xsl:variable name="primaryFramework"
+													select="versions/versions[1]/@name"/>
+						<xsl:for-each select="versions/versions[@name!=$primaryFramework]">
+							<xsl:variable name="secondaryFramework"
+														select="@name"/>
+							<xsl:if test="(msxsl:node-set($primaryMember)/*[not(@*[local-name()=$secondaryFramework])]) and (msxsl:node-set($primaryMember)/*[element[@*[local-name()=$secondaryFramework]]])">
+								<xsl:for-each select="msxsl:node-set($primaryMember)/*/element[@*[local-name()=$secondaryFramework]][1]">
+									<xsl:variable name="inheritedSecondaryMember">
+										<xsl:call-template name="t_isMemberInherited"/>
+									</xsl:variable>
+									<xsl:choose>
+										<xsl:when test="overrides">
+											<include item="boilerplate_secondaryFrameworkOverride">
+												<parameter>
+													<xsl:value-of select="$secondaryFramework"/>
+												</parameter>
+												<!--<parameter>
+                          <xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+                        </parameter>-->
+												<parameter>
+													<referenceLink target="{@api}"/>
+												</parameter>
+											</include>
+										</xsl:when>
+										<xsl:when test="normalize-space($inheritedSecondaryMember)!=''">
+											<include item="boilerplate_secondaryFrameworkInherited">
+												<parameter>
+													<xsl:value-of select="$secondaryFramework"/>
+												</parameter>
+												<parameter>
+													<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+												</parameter>
+												<parameter>
+													<xsl:text>.</xsl:text>
+												</parameter>
+												<parameter>
+													<xsl:apply-templates select="containers/type" mode="link"/>
+												</parameter>
+												<parameter>
+													<referenceLink target="{@api}"/>
+												</parameter>
+											</include>
+										</xsl:when>
+										<xsl:otherwise>
+											<include item="boilerplate_secondaryFrameworkMember">
+												<parameter>
+													<xsl:value-of select="$secondaryFramework"/>
+												</parameter>
+												<parameter>
+													<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+												</parameter>
+												<parameter>
+													<referenceLink target="{@api}"/>
+												</parameter>
+											</include>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:for-each>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:if>
+				</td>
+			</tr>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="overloadSummary" name="t_overloadSummaryElement">
+		<xsl:call-template name="t_getOverloadSummary"/>
+	</xsl:template>
+
+	<xsl:template match="element" mode="overloadSections" name="t_overloadSectionsElement">
+		<xsl:call-template name="t_getOverloadSections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putTypeIcon">
+		<xsl:param name="p_typeVisibility"/>
+
+		<xsl:variable name="typeSubgroup" select="apidata/@subgroup"/>
+		<xsl:text>![</xsl:text>
+		<include item="{concat('altText_',$p_typeVisibility,$typeSubgroup)}"/>
+		<xsl:text>](</xsl:text>
+		<include item="mediaPath">
+			<parameter>
+				<xsl:value-of select="concat($p_typeVisibility,$typeSubgroup,'.gif')"/>
+			</parameter>
+		</include>
+		<xsl:text> "</xsl:text>
+		<include item="{concat('altText_',$p_typeVisibility,$typeSubgroup)}"/>
+		<xsl:text>")</xsl:text>
+
+		<xsl:if test=".//example">
+			<xsl:text>![</xsl:text>
+			<include item="altText_CodeExample"/>
+			<xsl:text>](</xsl:text>
+			<include item="mediaPath">
+				<parameter>CodeExample.png</parameter>
+			</include>
+			<xsl:text> "</xsl:text>
+			<include item="altText_CodeExample"/>
+			<xsl:text>")</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putMemberIcons">
+		<xsl:param name="p_memberVisibility"/>
+		<xsl:param name="p_staticMember"/>
+		<xsl:param name="p_supportedOnXna"/>
+		<xsl:param name="p_supportedOnCf"/>
+		<xsl:param name="p_supportedOnSilverlightMobile"/>
+
+		<xsl:variable name="v_memberSubgroup">
+			<xsl:choose>
+				<xsl:when test="apidata/@subgroup='constructor'">
+					<xsl:text>method</xsl:text>
+				</xsl:when>
+				<xsl:when test="apidata/@subgroup='method'">
+					<xsl:choose>
+						<xsl:when test="apidata/@subsubgroup='operator'">
+							<xsl:text>operator</xsl:text>
+						</xsl:when>
+						<xsl:when test="apidata/@subsubgroup='extension'">
+							<xsl:text>extension</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>method</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="apidata/@subgroup"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<!-- test for explicit interface implementations, which get the interface icon -->
+		<xsl:if test="memberdata/@visibility='private' and proceduredata/@virtual='true'">
+			<xsl:text>![</xsl:text>
+			<include item="altText_ExplicitInterface"/>
+			<xsl:text>](</xsl:text>
+			<include item="mediaPath">
+				<parameter>pubinterface.gif</parameter>
+			</include>
+			<xsl:text> "</xsl:text>
+			<include item="altText_ExplicitInterface"/>
+			<xsl:text>")</xsl:text>
+		</xsl:if>
+
+		<xsl:text>![</xsl:text>
+		<xsl:choose>
+			<xsl:when test="apidata/@subsubgroup">
+				<include item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<include item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:text>](</xsl:text>
+		<include item="mediaPath">
+			<parameter>
+				<xsl:value-of select="concat($p_memberVisibility,$v_memberSubgroup,'.gif')"/>
+			</parameter>
+		</include>
+		<xsl:text> "</xsl:text>
+		<xsl:choose>
+			<xsl:when test="apidata/@subsubgroup">
+				<include item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<include item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:text>")</xsl:text>
+
+		<xsl:if test="$p_staticMember!=''">
+			<xsl:text>![</xsl:text>
+			<include item="altText_static"/>
+			<xsl:text>](</xsl:text>
+			<include item="mediaPath">
+				<parameter>static.gif</parameter>
+			</include>
+			<xsl:text> "</xsl:text>
+			<include item="altText_static"/>
+			<xsl:text>")</xsl:text>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnCf!=''">
+			<xsl:text>![</xsl:text>
+			<include item="altText_CompactFramework"/>
+			<xsl:text>](</xsl:text>
+			<include item="mediaPath">
+				<parameter>CFW.gif</parameter>
+			</include>
+			<xsl:text> "</xsl:text>
+			<include item="altText_CompactFramework"/>
+			<xsl:text>")</xsl:text>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnXna!=''">
+			<xsl:text>![</xsl:text>
+			<include item="altText_XNAFramework"/>
+			<xsl:text>](</xsl:text>
+			<include item="mediaPath">
+				<parameter>xna.gif</parameter>
+			</include>
+			<xsl:text> "</xsl:text>
+			<include item="altText_XNAFramework"/>
+			<xsl:text>")</xsl:text>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnSilverlightMobile!=''">
+			<xsl:text>![</xsl:text>
+			<include item="altText_SilverlightMobile"/>
+			<xsl:text>](</xsl:text>
+			<include item="mediaPath">
+				<parameter>slMobile.gif</parameter>
+			</include>
+			<xsl:text> "</xsl:text>
+			<include item="altText_SilverlightMobile"/>
+			<xsl:text>")</xsl:text>
+		</xsl:if>
+
+		<xsl:if test=".//example">
+			<xsl:text>![</xsl:text>
+			<include item="altText_CodeExample"/>
+			<xsl:text>](</xsl:text>
+			<include item="mediaPath">
+				<parameter>CodeExample.png</parameter>
+			</include>
+			<xsl:text> "</xsl:text>
+			<include item="altText_CodeExample"/>
+			<xsl:text>")</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_getEnumMemberDescription">
+		<xsl:apply-templates select="summary[1]/node()"/>
+		<!-- enum members may have additional authored content in the remarks node -->
+		<xsl:apply-templates select="remarks[1]/node()"/>
+	</xsl:template>
+
+	<xsl:template name="t_putExtensionMethodDisplayLink">
+		<xsl:variable name="v_showParameters">
+			<xsl:choose>
+				<xsl:when test="@overload='true'">true</xsl:when>
+				<xsl:otherwise>false</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<referenceLink target="{@api}" display-target="extension" show-parameters="{$v_showParameters}">
+			<extensionMethod>
+				<xsl:copy-of select="@*"/>
+				<xsl:copy-of select="apidata|templates|parameters|containers"/>
+			</extensionMethod>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inheritance hierarchy
+	============================================================================================= -->
+
+	<xsl:template match="family" name="t_family">
+		<xsl:param name="p_maxCount" select="number(5)" />
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_family'"/>
+			<xsl:with-param name="p_id">
+				<xsl:if test="$p_maxCount=0">
+					<xsl:value-of select="'fullInheritance'"/>
+				</xsl:if>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:variable name="ancestorCount" select="count(ancestors/*)"/>
+				<xsl:variable name="childCount" select="count(descendents/*)"/>
+
+				<xsl:for-each select="ancestors/type">
+					<xsl:sort select="position()" data-type="number" order="descending"/>
+
+					<xsl:call-template name="t_putIndent">
+						<xsl:with-param name="p_count" select="position()"/>
+					</xsl:call-template>
+
+					<xsl:apply-templates select="self::type" mode="link">
+						<xsl:with-param name="qualified" select="true()"/>
+					</xsl:apply-templates>
+
+					<br/>
+				</xsl:for-each>
+
+				<xsl:call-template name="t_putIndent">
+					<xsl:with-param name="p_count" select="$ancestorCount + 1"/>
+				</xsl:call-template>
+				<referenceLink target="{$key}" qualified="true"/>
+				<br/>
+
+				<xsl:choose>
+					<xsl:when test="descendents/@derivedTypes">
+						<xsl:call-template name="t_putIndent">
+							<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+						</xsl:call-template>
+						<referenceLink target="{descendents/@derivedTypes}" qualified="true">
+							<include item="derivedClasses"/>
+						</referenceLink>
+					</xsl:when>
+					<xsl:when test="not($p_maxCount=0) and count(descendents/type) > $p_maxCount">
+						<xsl:call-template name="t_putIndent">
+							<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+						</xsl:call-template>
+						<a href="#fullInheritance">
+							<include item="text_moreInheritance"/>
+						</a>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:for-each select="descendents/type">
+							<xsl:sort select="@api"/>
+
+							<xsl:if test="not(self::type/@api=preceding-sibling::*/self::type/@api)">
+								<xsl:call-template name="t_putIndent">
+									<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+								</xsl:call-template>
+
+								<xsl:apply-templates select="self::type" mode="link">
+									<xsl:with-param name="qualified" select="true()"/>
+								</xsl:apply-templates>
+
+								<br/>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="family" name="t_familyFull" mode="fullInheritance">
+		<xsl:call-template name="t_family">
+			<xsl:with-param name="p_maxCount" select="number(0)" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="implements" name="t_implements">
+		<xsl:if test="member">
+			<xsl:call-template name="t_putSubSection">
+				<xsl:with-param name="p_title">
+					<include item="title_implements"/>
+				</xsl:with-param>
+				<xsl:with-param name="p_content">
+					<xsl:for-each select="member">
+						<referenceLink target="{@api}" qualified="true"/>
+						<br/>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Member attribute tests
+	============================================================================================= -->
+
+	<xsl:template name="t_isMemberUnsupportedOnNetfw">
+		<xsl:if test="boolean(not(@netfw) and not(element/@netfw))">
+			<xsl:text>unsupported</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- for testing CF and XNA support, check the signature variations of @signatureset elements -->
+	<!-- for testing inherited/protected/etc, do not check the @signatureset variations; just go with the primary .NET Framework value -->
+	<xsl:template name="t_isMemberSupportedOnXna">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnXna"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesXna"
+											select="boolean(platforms and not(platforms/platform[.='Xbox360']))"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesXna) and (@xnafw or element/@xnafw))">
+					<xsl:text>supported</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnCf">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnCf"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesCF"
+											select="boolean( platforms and not(platforms[platform[.='PocketPC'] or platform[.='SmartPhone'] or platform[.='WindowsCE']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesCF) and (@netcfw or element/@netcfw))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlightMobile">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="platformFilterExcludesSilverlightMobile"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($platformFilterExcludesSilverlightMobile) and (@silverlight_mobile or element/@silverlight_mobile))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlight">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesSilverlight"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesSilverlight) and (@silverlight or element/@silverlight))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_isMemberStatic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberStatic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:when test="apidata[@subsubgroup='attachedProperty' or @subsubgroup='attachedEvent']"/>
+			<xsl:otherwise>
+				<xsl:if test="memberdata/@static='true'">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is inherited, or for overloads if any of the overloads is inherited -->
+	<xsl:template name="t_isMemberInherited">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberInherited"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api!=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is declared, or for overloads if any of the overloads is declared -->
+	<xsl:template name="t_isMemberDeclared">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberDeclared"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPublic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPublic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='public']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberProtected">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberProtected"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPrivate">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPrivate"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and not(proceduredata[@virtual = 'true'])">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberExplicit">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberExplicit"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isConversionOperator">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isConversionOperator"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="apidata/@subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit') and not(memberdata/@overload)">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Assembly information
+	============================================================================================= -->
+
+	<xsl:template name="t_putRequirementsInfo">
+		<xsl:text>&#xa;</xsl:text>
+		<include item="boilerplate_requirementsNamespace"/>
+		<xsl:text>&#xa0;</xsl:text>
+		<referenceLink target="{/document/reference/containers/namespace/@api}"/>
+		<br/>
+		<xsl:call-template name="t_putAssembliesInfo"/>
+
+		<!-- Show XAML xmlns for APIs that support XAML -->
+		<xsl:if test="$omitXmlnsBoilerplate != 'true'">
+			<!-- All topics that have auto-generated XAML syntax get an "XMLNS for XAML" line in the Requirements
+					 section.  Topics with boilerplate XAML syntax, e.g. "Not applicable", do NOT get this line. -->
+			<xsl:if test="boolean(/document/syntax/div[@codeLanguage='XAML']/div[
+										@class='xamlAttributeUsageHeading' or @class='xamlObjectElementUsageHeading' or
+										@class='xamlContentElementUsageHeading' or @class='xamlPropertyElementUsageHeading'])">
+				<br/>
+				<include item="boilerplate_xamlXmlnsRequirements">
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+								<xsl:for-each select="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+									<xsl:if test="position()!=1">
+										<xsl:text>, </xsl:text>
+									</xsl:if>
+									<xsl:value-of select="."/>
+								</xsl:for-each>
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="boilerplate_unmappedXamlXmlns"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putAssembliesInfo">
+		<xsl:choose>
+			<xsl:when test="count(/document/reference/containers/library)&gt;1">
+				<include item="boilerplate_requirementsAssemblies"/>
+				<xsl:for-each select="/document/reference/containers/library">
+					<xsl:text>&#xa0;&#xa0;</xsl:text>
+					<xsl:call-template name="t_putAssemblyNameAndModule">
+						<xsl:with-param name="library" select="."/>
+					</xsl:call-template>
+					<br/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<include item="boilerplate_requirementsAssemblyLabel"/>
+				<xsl:text>&#xa0;</xsl:text>
+				<xsl:call-template name="t_putAssemblyNameAndModule"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_putAssemblyNameAndModule">
+		<xsl:param name="library" select="/document/reference/containers/library"/>
+		<include item="assemblyNameAndModule">
+			<parameter>
+				<xsl:value-of select="$library/@assembly"/>
+			</parameter>
+			<parameter>
+				<xsl:value-of select="$library/@module"/>
+			</parameter>
+			<parameter>
+				<xsl:choose>
+					<xsl:when test="$library/@kind = 'DynamicallyLinkedLibrary'">
+						<xsl:text>dll</xsl:text>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>exe</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+			<parameter>
+				<xsl:variable name="versionParts">
+					<xsl:call-template name="t_tokenize">
+						<xsl:with-param name="string" select="substring-before(concat($library/assemblydata/@version, ' '), ' ')" />
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:variable name="versionNodes" select="msxsl:node-set($versionParts)" />
+				<!-- Limit version number length if requested -->
+				<xsl:choose>
+					<xsl:when test="$maxVersionParts = '2'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '3'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '4'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3], '.', $versionNodes/token[4])" />
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- All parts including the assembly file version if present -->
+						<xsl:value-of select="$library/assemblydata/@version"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<xsl:template name="t_tokenize">
+		<xsl:param name="string"/>
+		<xsl:param name="separator" select="'.'"/>
+
+		<xsl:choose>
+			<xsl:when test="contains($string, $separator)">
+				<token>
+					<xsl:value-of select="substring-before($string, $separator)"/>
+				</token>
+				<xsl:call-template name="t_tokenize">
+					<xsl:with-param name="string" select="substring-after($string, $separator)"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<token>
+					<xsl:value-of select="$string"/>
+				</token>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Platform information
+	============================================================================================= -->
+
+	<xsl:template match="platforms[platform]" name="t_platforms">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_platforms'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="/document/reference/versions/versions[@name='silverlight']//version">
+						<xsl:text>&#xa;</xsl:text>
+						<include item="boilerplate_silverlightPlatforms"/>
+						<xsl:text>&#xa;</xsl:text>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>&#xa;</xsl:text>
+						<xsl:for-each select="platform">
+							<include item="{.}"/>
+							<xsl:if test="position()!=last()">
+								<xsl:text>, </xsl:text>
+							</xsl:if>
+						</xsl:for-each>
+						<xsl:text>&#xa;</xsl:text>
+						<xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version">
+							<xsl:text>&#xa;</xsl:text>
+							<include item="boilerplate_systemRequirementsLink"/>
+							<xsl:text>&#xa;</xsl:text>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Version information
+	============================================================================================= -->
+
+	<xsl:template match="versions" name="t_versions">
+		<xsl:if test="$omitVersionInformation != 'true'">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_versions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_processVersions"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_processVersions">
+		<xsl:param name="p_frameworkGroup" select="true()"/>
+		<xsl:choose>
+			<xsl:when test="versions and $p_frameworkGroup">
+				<xsl:for-each select="versions">
+					<!-- $v_platformFilterExcluded is based on platform filtering information -->
+					<xsl:variable name="v_platformFilterExcluded"
+												select="boolean(/document/reference/platforms and ( (@name='netcfw' and not(/document/reference/platforms/platform[.='PocketPC']) and not(/document/reference/platforms/platform[.='SmartPhone']) and not(/document/reference/platforms/platform[.='WindowsCE']) ) or (@name='xnafw' and not(/document/reference/platforms/platform[.='Xbox360']) ) ) )"/>
+					<xsl:if test="not($v_platformFilterExcluded) and count(.//version) &gt; 0">
+						<xsl:text>&#xa;</xsl:text>
+						<xsl:text>&#xa;</xsl:text>
+						<xsl:text>#### </xsl:text>
+						<include item="{@name}"/>
+						<xsl:text>&#xa;</xsl:text>
+						<xsl:call-template name="t_processVersions">
+							<xsl:with-param name="p_frameworkGroup" select="false()"/>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- show the versions in which the api is supported, if any -->
+				<xsl:variable name="v_supportedCount"
+											select="count(version[not(@obsolete)] | versions[version[not(@obsolete)]])"/>
+				<xsl:if test="$v_supportedCount &gt; 0">
+					<include item="supportedIn_{$v_supportedCount}">
+						<xsl:for-each select="version[not(@obsolete)] | versions[version[not(@obsolete)]]">
+							<xsl:variable name="versionName">
+								<xsl:choose>
+									<!-- A versions[version] node at this level is for releases that had subsequent service packs. 
+                       For example, versions for .NET 3.0 has version nodes for 3.0 and 3.0 SP1. 
+                       We show only the first node, which is the one in which the api was first released, 
+                       that is, we show 3.0 SP1 only if the api was introduced in SP1. -->
+									<xsl:when test="local-name()='versions'">
+										<xsl:value-of select="version[not(@obsolete)][not(preceding-sibling::version[not(@obsolete)])]/@name"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="@name"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<parameter>
+								<include item="{$versionName}"/>
+							</parameter>
+						</xsl:for-each>
+					</include>
+					<br/>
+				</xsl:if>
+				<!-- show the versions in which the api is obsolete with a compiler warning, if any -->
+				<xsl:for-each select=".//version[@obsolete='warning']">
+					<include item="obsoleteWarning">
+						<parameter>
+							<include item="{@name}"/>
+						</parameter>
+					</include>
+					<br/>
+				</xsl:for-each>
+				<!-- show the versions in which the api is obsolete and does not compile, if any -->
+				<xsl:for-each select=".//version[@obsolete='error']">
+					<xsl:if test="position()=last()">
+						<include item="obsoleteError">
+							<parameter>
+								<include item="{@name}"/>
+							</parameter>
+						</include>
+						<br/>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Syntax
+	============================================================================================= -->
+
+	<xsl:template match="sourceContext" name="t_sourceContext">
+		<xsl:text>&#xa;</xsl:text>
+		<xsl:if test="$baseSourceCodeUrl">
+			<a>
+				<xsl:attribute name="href">
+					<xsl:value-of select="$baseSourceCodeUrl"/>
+					<xsl:value-of select="@file"/>
+					<xsl:if test="@startLine">
+						<xsl:text>#L</xsl:text>
+						<xsl:value-of select="@startLine"/>
+					</xsl:if>
+				</xsl:attribute>
+				<xsl:attribute name="rel">
+					<xsl:text>noopener noreferrer</xsl:text>
+				</xsl:attribute>
+				<includeAttribute name="title" item="sourceCodeLinkTitle" />
+				<include item="sourceCodeLinkText" />
+			</a>
+		</xsl:if>
+		<br />
+	</xsl:template>
+
+	<xsl:template match="parameters" name="t_parameters">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_parameters"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:text>&#xa;</xsl:text>
+				<xsl:text>&#160;</xsl:text>
+				<dl>
+					<xsl:for-each select="parameter">
+						<dt>
+							<xsl:value-of select="normalize-space(@name)"/>
+							<xsl:if test="@optional = 'true'">
+								<xsl:text> (Optional)</xsl:text>
+							</xsl:if>
+						</dt>
+						<xsl:text>&#xa;</xsl:text>
+						<dd>
+							<include item="typeLink">
+								<parameter>
+									<xsl:apply-templates select="*[1]" mode="link">
+										<xsl:with-param name="qualified" select="true()"/>
+									</xsl:apply-templates>
+								</parameter>
+							</include>
+							<br/>
+							<xsl:call-template name="t_getParameterDescription">
+								<xsl:with-param name="name" select="normalize-space(@name)"/>
+							</xsl:call-template>
+						</dd>
+						<xsl:text>&#xa;</xsl:text>
+					</xsl:for-each>
+				</dl>
+				<xsl:text>&#160;</xsl:text>
+				<xsl:text>&#xa;</xsl:text>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<!-- produces a (plain) comma-separated list of parameter types -->
+	<xsl:template match="type" mode="link" name="t_typeLink">
+		<xsl:param name="qualified" select="false()"/>
+		<!-- we don't display outer types, because the link will show them -->
+		<referenceLink target="{@api}" prefer-overload="false">
+			<xsl:choose>
+				<xsl:when test="specialization">
+					<xsl:attribute name="show-templates">false</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="show-templates">true</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:if test="$qualified">
+				<xsl:attribute name="show-container">true</xsl:attribute>
+			</xsl:if>
+		</referenceLink>
+		<xsl:apply-templates select="specialization" mode="link"/>
+	</xsl:template>
+
+	<!-- Produces a (plain) name; outer types are indicated by dot-separators; -->
+	<!-- generic types are indicated by a keyword, because we can't show templates in a language-independent way -->
+	<xsl:template match="type" mode="plain" name="t_typeNamePlain">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not($g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="plain"/>
+			<xsl:text>.</xsl:text>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="plain"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="plain"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="type" mode="decorated" name="t_typeNameDecorated">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not($g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="decorated"/>
+			<xsl:text>.</xsl:text>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="decorated"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="decorated"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="specialization" mode="link" name="t_specializationLink">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="link"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="plain" name="t_specializationPlain">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="plain"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="decorated" name="t_specializationDecorated">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="decorated"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="template" mode="link" name="t_template_link">
+		<xsl:choose>
+			<xsl:when test="@api">
+				<referenceLink target="{@api}">
+					<xsl:text>*</xsl:text>
+					<xsl:value-of select="@name"/>
+					<xsl:text>*</xsl:text>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:text>*</xsl:text>
+				<xsl:value-of select="@name"/>
+				<xsl:text>*</xsl:text>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="template" mode="plain" name="t_templatePlain">
+		<xsl:value-of select="@name"/>
+	</xsl:template>
+
+	<xsl:template match="template" mode="decorated" name="t_templateDecorated">
+		<xsl:text>*</xsl:text>
+		<xsl:value-of select="@name"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="templates" mode="link" name="t_templatesLink">
+		<xsl:call-template name="t_specializationLink"/>
+	</xsl:template>
+
+	<xsl:template match="templates" mode="plain" name="t_templatesPlain">
+		<xsl:call-template name="t_specializationPlain"/>
+	</xsl:template>
+
+	<xsl:template match="templates" mode="decorated" name="t_templatesDecorated">
+		<xsl:call-template name="t_specializationDecorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="arrayOf" mode="link" name="t_arrayOfLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="plain" name="t_arrayOfPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="plain"/>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="decorated" name="t_arrayOfDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="decorated"/>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="pointerTo" mode="link" name="t_pointerToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="plain" name="t_pointerToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="plain"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="decorated" name="t_pointerToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="decorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="referenceTo" mode="link" name="t_referenceToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="plain" name="t_referenceToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="plain"/>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="decorated" name="t_referenceToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="decorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="member" mode="link" name="t_memberLink">
+		<xsl:param name="qualified" select="true()"/>
+		<xsl:choose>
+			<xsl:when test="@display-api">
+				<referenceLink target="{@api}" display-target="{@display-api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/SkeletonAPI.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/SkeletonAPI.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1a171e36a685024500fb88d688c3c204922d9d42
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/SkeletonAPI.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<reference />
+	<syntax />
+	<comments />
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/SkeletonConceptual.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/SkeletonConceptual.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90ef0c71d916776145a2521b051917d57a4e10e2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/Transforms/SkeletonConceptual.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertCaution.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertCaution.png
new file mode 100644
index 0000000000000000000000000000000000000000..78f246f047efee82e1ee0b64f1adbef606253054
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertCaution.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertNote.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertNote.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc76333741e7eec739bce61fe0bbf7e48ef5c8ee
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertNote.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertSecurity.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertSecurity.png
new file mode 100644
index 0000000000000000000000000000000000000000..d40fcefc440ed3138f80d57824ddc750c4e2a4eb
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/AlertSecurity.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/CFW.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/CFW.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbcabf1b2d1322c6e205b1ff5f5ab17a4565522d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/CFW.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/CodeExample.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/CodeExample.png
new file mode 100644
index 0000000000000000000000000000000000000000..a3b9fba4cc5f29460d711dddb32b79b85783af9a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/CodeExample.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0939694ce08ad44508f6f017b68e46f0f22377b9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3aa8a65ef5277c6682f106de956da036c50d363
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..47f387ec2bf4ca4d6b1381cbe8c843912b6c616a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30db46df766c1b49bf86b168eaae03052ce8f292
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..51dd267f0f7fa11a657ef51a69cb9159ced8775f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbf70f7a3fc3875ee62d9a4dacf3a088e60f2eff
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f3b7950adc741c7b4085da8ab52167435bec317c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71f882264291eb056bc55dce1c73f9b7cae1aa4a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1e8074654b3fc0601b0302f1be7b39f5bf5eb7b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed6d1ef68f8736e5c05137be2af0ff7714ddb85b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/privstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9294292a9b5f94a281de7657b5555d06bb4a96
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b209f2d816d78188dbcd93907917d7a0ef34eaa9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cc96bb635982abc9d306f219ebdd71d29f95757c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e510b272cfca80656561d1d699dc644a4bce266
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dcd07f5e1a673de3120e3f82e6f8c24f8bcd723b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ae6833e0821dae813c941500d1e12a88c7c334f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1b96d2c6a0b681cb6d65d30f8e212a3c2d29081
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bc946873495112cc5b27bf66ea0d10ca8f30367
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protoperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protoperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2cb75ab8b05d4b8d65401c5270ae31836ce04f9b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protoperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55473d16e1321bc3e4cbcb5a165f51a55f9f07a0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af356a1db0b8e8821d2f6c94734b98354875e85d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/protstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1a968ab633207f47ec5e3130ec676f0d43598bb0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a43eb261adccddee2206769150a9e2d964ed136
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..46888adef937f09868b1aff485010ad847625183
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9226da8b49c88296ed4a10835b0b69212431473
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6262d1cca8a4286063ae8f168488a1d7c8587dcc
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5aed17576f4493ccfdb12f7a8a55fa2cbd74041c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c38a4c46a9a7603bc498664c294c7c06a713e555
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2c72988f50ab32eba45ccf5e52b5807c4a7ffa1b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/puboperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/puboperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0ebe10a7ec532625741cc8668b1126f2553cdc9c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/puboperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dfad7b43006984b0d27846a9c6d23d9bfb94ec95
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1344416abc3801850d955fb78969243e32976d9d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/pubstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/slMobile.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/slMobile.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5edc31f94c61a7a50c3285ef00dcbe86e8690974
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/slMobile.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/static.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/static.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33723a92be0a7b2b9fc8057fb6f9a2a3ee729a7e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/static.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/xna.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/xna.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9e6a9d4bd9ecdc3baf35f6c5a0266e74229bd901
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Markdown/media/xna.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Microsoft.Bcl.AsyncInterfaces.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Microsoft.Bcl.AsyncInterfaces.dll
new file mode 100644
index 0000000000000000000000000000000000000000..abe9406cb8df8956186ecf3c41373bcb675b1493
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Microsoft.Bcl.AsyncInterfaces.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Configuration/BuildAssembler.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Configuration/BuildAssembler.config
new file mode 100644
index 0000000000000000000000000000000000000000..b7cf4e4f76136c48656ff3df3eed3c75005e4197
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Configuration/BuildAssembler.config
@@ -0,0 +1,426 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration verbosity="{@BuildAssemblerVerbosity}">
+	<dduetools>
+		<builder>
+			<componentLocations>
+				{@ComponentLocations}
+			</componentLocations>
+
+			<components>
+				<component id="Switch Component">
+					<switch value="string(/document/@type)" />
+
+					<case value="MAML">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\SkeletonConceptual.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in the topic content-->
+						<component id="Copy From Files Component">
+							<copy base=".\ddueXml" file="concat($key,'.xml')" source="/topic" target="/document" />
+						</component>
+
+						<!-- Resolve tokens -->
+						<component id="Shared Content Component">
+							<context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+							<content file="HelpFileBuilderTokens.tokens" />
+							{@TokenFiles}
+							<replace elements="/*//ddue:token" item="string(.)" />
+						</component>
+
+						<!-- Copy in metadata attributes -->
+						<component id="Copy From Index Component">
+							<index name="metadata" value="/metadata/topic" key="@id">
+								<data files="_ContentMetadata_.xml" />
+							</index>
+							<copy name="metadata" source="*" target="/document/metadata" />
+						</component>
+
+						<!-- Resolve code snippets -->
+						<component id="Example Component">
+							{@CodeSnippetsFiles}
+							<colors language="VisualBasic">
+								<color pattern="^\s*'[^\r\n]*" class="Comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="Keyword" />
+							</colors>
+							<colors language="CSharp">
+								<color pattern="/\*(.|\n)+?\*/" class="Comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="//[^\r\n]*" class="Comment" />
+								<color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(vield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="Keyword" />
+							</colors>
+							<colors language="ManagedCPlusPlus">
+								<color pattern="/\*(.|\n)+?\*/" class="Comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="//[^\r\n]*" class="Comment" />
+								<color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="Keyword" />
+							</colors>
+							<colors language="FSharp">
+								<color pattern="\(\*(.|\n)+?\*\)" class="Comment" />"
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="Literal" />
+								<color pattern="//[^\r\n]*" class="Comment" />
+								<color pattern="\b((abstract)|(and)|(as)|(asr)|(assert)|(atomic)|(base)|(begin)|(break)|(checked)|(class)|(component)|(const)|(constraint)|(constructor)|(continue)|(default)|(delegate)|(do)|(done)|(downcast)|(downto)|(eager)|(elif)|(else)|(end)|(event)|(exception)|(extern)|(external)|(false)|(finally)|(fixed)|(for)|(fun)|(function)|(functor)|(global)|(if)|(in)|(include)|(inherit)|(inline)|(interface)|(internal)|(land)|(lazy)|(let)|(lor)|(lsl)|(lsr)|(lxor)|(match)|(member)|(method)|(mixin)|(mod)|(module)|(mutable)|(namespace)|(new)|(null)|(object)|(of)|(open)|(or)|(override)|(parallel)|(private)|(process)|(protected)|(public)|(pure)|(rec)|(return)|(sealed)|(sig)|(static)|(struct)|(tailcall)|(then)|(to)|(trait)|(true)|(try)|(type)|(upcast)|(use)|(val)|(virtual)|(void)|(volatile)|(when)|(while)|(with)|(yield))\b" class="Keyword" />
+							</colors>
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+							 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+							 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+							 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+							 Attributes:
+									Language syntax configuration file (required)
+									XSLT style sheet file (required)
+									CSS style sheet file (not used for Open XML)
+									Script file (not used for Open XML)
+									Disabled (optional, leading whitespace normalization only)
+									Default language (optional)
+									Enable line numbering (optional)
+									Enable outlining (optional)
+									Keep XML comment "see" tags within the code (optional)
+									Tab size override (optional, 0 = Use syntax file setting)
+									Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight_openxml.xsl" stylesheet="N/A" scriptFile="N/A"
+									disabled="{@DisableCodeBlockComponent}" language="cs" numberLines="false" outlining="false"
+									keepSeeTags="false" tabSize="0" defaultTitle="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\MainConceptual.xsl">
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- Resolve shared content -->
+						<component id="Shared Content Component">
+							<content file="{@ResourceItemsFolder}SharedContent.xml" />
+							<content file="{@ResourceItemsFolder}ConceptualContent.xml" />
+							<!-- These must be last in order to override other elements! -->
+							<content file="SHFBContent.xml" />
+							{@ResourceItemFiles}
+						</component>
+
+						<!-- Resolve art links -->
+						<component id="Resolve Art Links Component">
+							<targets input="Media" baseOutput=".\Output\OpenXML" outputPath="string('media')" link="../media"
+								map="_MediaContent_.xml" />
+						</component>
+
+						<!-- Resolve conceptual links -->
+						<component id="Resolve Conceptual Links Component">
+							<showBrokenLinkText value="true" />
+							<targets base="xmlComp" type="Local" />
+						</component>
+
+						<!-- Resolve reference links -->
+						<component id="Resolve Reference Links Component">
+							<locale value="{@Locale}" />
+							<linkTarget value="{@SdkLinkTarget}" />
+							<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+							<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+								type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+								{@ReferenceLinkNamespaceFiles}
+							</targets>
+							<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+						</component>
+
+						<!-- Save the result -->
+						<component id="Save Component">
+							<save base="Output\OpenXML\Topics" path="concat($key,'.xml')" indent="{@IndentHtml}"
+								omit-xml-declaration="false" add-xhtml-namespace="false"
+								groupId="OpenXml MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+						</component>
+					</case>
+
+					<case value="API">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\SkeletonAPI.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in reflection data -->
+						<component id="Copy From Index Component">
+							<index name="reflection" value="/reflection/apis/api" key="@id" cache="15">
+								<data base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml" duplicateWarning="false">
+									{@ReferenceLinkNamespaceFiles}
+								</data>
+								<data files="reflection.xml" />
+							</index>
+							<copy name="reflection" source="*" target="/document/reference" />
+						</component>
+
+						<!-- Copy in container data -->
+						<component id="Copy From Index Component">
+							<copy name="reflection" key="string(/document/reference/containers/namespace/@api)"
+								source="*[not(local-name()='elements')]" target="/document/reference/containers/namespace" />
+						</component>
+
+						<component id="For Each Component">
+							<variable expression="/document/reference/containers//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="topicdata|apidata|typedata|family|templates|attributes"
+										target="/document/reference/containers//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in explicitInterfaceImplemented reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in extension method template/type data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element[@source='extension']/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in parameter data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/parameters/parameter//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in templates type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/templates//type[@api=$key]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/templates//type[@api=$key and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in return type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/returns//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/returns//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in event handler type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/eventhandler/type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/eventhandler/type[@api=$key]"/>
+								</component>
+							</components>
+						</component>
+
+						<!-- Generate syntax -->
+						<component id="Syntax Component">
+							<syntax input="/document/reference" output="/document/syntax" />
+							<generators>
+								{@SyntaxFilters}
+							</generators>
+						</component>
+
+						<!-- Copy in comments -->
+						<component id="Copy From Index Component">
+							<index name="comments" value="/doc/members/member" key="@name" cache="30">
+								{@FrameworkCommentList}
+								{@CommentFileList}
+							</index>
+							<copy name="comments" source="*" target="/document/comments" />
+							<!-- Propagate the parent type's preliminary element to the members too if present -->
+							<copy name="comments" key="string(/document/reference/containers/type/@api)"
+								source="preliminary" target="/document/comments" />
+						</component>
+
+						<!-- Copy in reflection data and comments for members -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element/@api" />
+							<components>
+								<component id="If Then Component">
+									<if condition="not(/document/reference/elements//element[@api=$key]/apidata)" />
+									<then>
+										<component id="Copy From Index Component">
+											<copy name="reflection" source="*[not(self::elements)]"
+												target="/document/reference/elements//element[@api=$key]" />
+										</component>
+									</then>
+								</component>
+								<component id="Copy From Index Component">
+									<copy name="comments" source="summary|overloads|example"
+										target="/document/reference/elements//element[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in comments for the member's declaring type. -->
+						<component id="Copy From Index Component">
+							<copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary"
+								target="/document/reference/containers" />
+						</component>
+
+						<!-- Show missing documentation component configuration.  This must appear before the TransformComponent. -->
+						<component id="Show Missing Documentation Component">
+							<!-- All elements are optional. -->
+
+							<!-- Auto-document constructors (true by default) -->
+							<AutoDocumentConstructors value="{@AutoDocumentConstructors}" />
+
+							<!-- Auto-document dispose methods (true by default) -->
+							<AutoDocumentDisposeMethods value="{@AutoDocumentDisposeMethods}" />
+
+							<!-- Show missing param tags (true by default) -->
+							<ShowMissingParams value="{@ShowMissingParams}" />
+
+							<!-- Show missing typeparam tags (true by default) -->
+							<ShowMissingTypeParams value="{@ShowMissingTypeParams}" />
+
+							<!-- Show missing remarks tags (false by default) -->
+							<ShowMissingRemarks value="{@ShowMissingRemarks}" />
+
+							<!-- Show missing returns tags (true by default) -->
+							<ShowMissingReturns value="{@ShowMissingReturns}" />
+
+							<!-- Show missing summary tags (true by default) -->
+							<ShowMissingSummaries value="{@ShowMissingSummaries}" />
+
+							<!-- Show missing value tags (false by default) -->
+							<ShowMissingValues value="{@ShowMissingValues}" />
+
+							<!-- Show missing namespace comments (true by default) -->
+							<ShowMissingNamespaces value="{@ShowMissingNamespaces}" />
+
+							<!-- Show missing include targets (true by default) -->
+							<ShowMissingIncludeTargets value="{@ShowMissingIncludeTargets}" />
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+							 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+							 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+							 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+							 Attributes:
+									Language syntax configuration file (required)
+									XSLT style sheet file (required)
+									CSS style sheet file (not used for Open XML)
+									Script file (not used for Open XML)
+									Disabled (optional, leading whitespace normalization only)
+									Default language (optional)
+									Enable line numbering (optional)
+									Enable outlining (optional)
+									Keep XML comment "see" tags within the code (optional)
+									Tab size override (optional, 0 = Use syntax file setting)
+									Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight_openxml.xsl" stylesheet="N/A" scriptFile="N/A"
+									disabled="{@DisableCodeBlockComponent}" language="cs" numberLines="false" outlining="false"
+									keepSeeTags="false" tabSize="0" defaultTitle="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\MainSandcastle.xsl">
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- Resolve shared content -->
+						<component id="Shared Content Component">
+							<content file="{@ResourceItemsFolder}SharedContent.xml" />
+							<content file="{@ResourceItemsFolder}ReferenceContent.xml" />
+							<!-- These must be last in order to override other elements! -->
+							<content file="SHFBContent.xml" />
+							{@ResourceItemFiles}
+						</component>
+
+						<!-- Resolve conceptual links -->
+						<component id="Resolve Conceptual Links Component">
+							<showBrokenLinkText value="true" />
+							<targets base="xmlComp" type="Local"/>
+						</component>
+
+						<!-- Resolve reference links -->
+						<component id="Resolve Reference Links Component">
+							<locale value="{@Locale}" />
+							<linkTarget value="{@SdkLinkTarget}" />
+							<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+							<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+								type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+								{@ReferenceLinkNamespaceFiles}
+							</targets>
+							<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+						</component>
+
+						<!-- Save the result -->
+						<component id="Save Component">
+							<save base="Output\OpenXML\Topics" path="concat(/*/file/@name,'.xml')" indent="{@IndentHtml}"
+								omit-xml-declaration="false" add-xhtml-namespace="true"
+								groupId="OpenXml API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+						</component>
+					</case>
+				</component>
+			</components>
+
+		</builder>
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9c0fbca4e8fa9eeeaf03a66b8ac686752750a1bc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ConceptualContent.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+
+	<!-- Section titles -->
+	<item id="title_inThisSection">In This Section</item>
+	<item id="title_buildInstructions">Compiling the Code</item>
+	<item id="title_nextSteps">Next Steps</item>
+	<item id="title_requirements">Requirements</item>
+	<item id="title_relatedSections">Related Sections</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_returnValue">Return Value</item>
+	<item id="title_attributesAndElements">Attributes and Elements</item>
+	<item id="title_attributes">Attributes</item>
+	<item id="title_childElement">Child Elements</item>
+	<item id="title_parentElement">Parent Elements</item>
+	<item id="title_elementInformation">Element Information</item>
+	<item id="title_textValue">Text Value</item>
+	<item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+	<item id="title_prerequisites">Prerequisites</item>
+	<item id="title_robustProgramming">Robust Programming</item>
+	<item id="title_securitySection">Security</item>
+	<item id="title_externalResources">External Resources</item>
+	<item id="title_demonstrates">Demonstrates</item>
+	<item id="title_appliesTo">Applies To</item>
+	<item id="title_conclusion">Conclusion</item>
+	<item id="title_background">Background</item>
+	<item id="title_whatsNew">What's New</item>
+	<item id="title_reference">Reference</item>
+	<item id="title_errorMessage">Error Message</item>
+	<item id="title_example">Example</item>
+
+	<!-- AutoOutline boilerplate -->
+	<item id="boilerplate_autoOutlineTopLevelIntro">This topic contains the following sections:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">This section contains the following subsections:</item>
+
+	<!-- Resolve the autoOutline token -->
+	<item id="autoOutline">
+		<autoOutline />
+	</item>
+
+	<!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+	<item id="boilerplate_copyrightNotice">
+		<w:p>
+			<w:r>
+				<w:t>{0} &#169;{1}{2}. All rights reserved.</w:t>
+			</w:r>
+		</w:p>
+	</item>
+
+	<!-- Glossary related entries -->
+	<item id="text_relatedEntries">See Also:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1d7d00734b0114ee98fa64d2625818f680b53b8a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ReferenceContent.xml
@@ -0,0 +1,439 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+
+  <!-- Note text -->
+  <item id="notDocumented">This API is not documented.</item>
+  <item id="preliminaryText">This API is preliminary and subject to change.</item>
+	
+	<!-- Inserted boilerplate -->
+  <item id="definedBy">(Defined by {0}.)</item>
+	<item id="inheritedFrom">(Inherited from {0}.)</item>
+	<item id="overridesMember">(Overrides {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Module: {1})</item>
+ 
+  <item id="derivedClasses">Derived Classes</item>
+  <item id="explicitInterfaceImplementation">Explicit Interface Implementations</item>
+  <item id="returnValue">Return Value</item>
+  <item id="propertyValue">Property Value</item>
+  <item id="fieldValue">Field Value</item>
+  <item id="example">Example</item>
+
+  <!-- Topic titles -->
+  <item id="topicTitle_root">Namespaces</item>
+	<item id="topicTitle_namespace">{0} Namespace</item>
+	<item id="topicTitle_namespaceGroup">{0} Namespaces</item>
+	<item id="topicTitle_class">{0} Class</item>
+	<item id="topicTitle_structure">{0} Structure</item>
+	<item id="topicTitle_interface">{0} Interface</item>
+	<item id="topicTitle_derivedTypeList">{0} Derived Classes</item>
+  
+	<item id="topicTitle_delegate">{0} Delegate</item>
+	<item id="topicTitle_enumeration">{0} Enumeration</item>
+	<item id="topicTitle_field">{0} Field</item>
+	<item id="topicTitle_method">{0} Method {1}</item>
+	<item id="topicTitle_constructor">{0} Constructor {1}</item>
+	<item id="topicTitle_property">{0} Property {1}</item>
+	<item id="topicTitle_event">{0} Event</item>
+  
+  <!-- Title for operator members -->
+	<item id="topicTitle_operator">{0} Operator {1}</item>
+
+  <!-- Title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Conversion {1}</item>
+  <!-- Title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Conversion Operators</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Attached Property</item>
+	<item id="topicTitle_attachedEvent">{0} Attached Event</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} Generic Class</item>
+  <item id="topicTitle_generic_structure">{0} Generic Structure</item>
+  <item id="topicTitle_generic_interface">{0} Generic Interface</item>
+  <item id="topicTitle_generic_delegate">{0} Generic Delegate</item>
+  <item id="topicTitle_generic_method">{0} Generic Method {1}</item>
+  
+	<!-- List topic titles -->
+	<item id="topicTitle_fields">{0} Fields</item>
+	<item id="topicTitle_methods">{0} Methods</item>
+	<item id="topicTitle_enumMembers">Members</item>
+  
+  <!-- Title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operators</item>
+  <!-- Title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operators and Type Conversions</item>
+  <!-- Title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Type Conversions</item>
+  
+	<item id="topicTitle_constructors">{0} Constructors</item>
+	<item id="topicTitle_properties">{0} Properties</item>
+	<item id="topicTitle_events">{0} Events</item>
+	<item id="topicTitle_attachedProperties">{0} Attached Properties</item>
+ 	<item id="topicTitle_attachedEvents">{0} Attached Events</item>
+	<item id="topicTitle_members">{0} Members</item>
+
+	<!-- Section titles -->
+	<item id="title_syntax">Syntax</item>
+	<item id="title_templates">Type Parameters</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_value">Value</item>
+	<item id="title_delegateValue">Return Value</item>
+	<item id="title_methodValue">Return Value</item>
+	<item id="title_propertyValue">Property Value</item>
+	<item id="title_fieldValue">Field Value</item>
+	<item id="title_implements">Implements</item>
+	<item id="title_examples">Examples</item>
+	<item id="title_threadSafety">Thread Safety</item>
+	<item id="title_permissions">.NET Framework Security</item>
+	<item id="title_namespaces">Namespaces</item>
+	<item id="title_types">Types</item>
+	<item id="title_family">Inheritance Hierarchy</item>
+	<item id="title_versions">Version Information</item>
+	<item id="title_platforms">Platforms</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_extensionUsage">Usage Note</item>
+	<item id="text_extensionUsage">In Visual Basic and C#, you can call this method as an instance method on any object of type {0}. When you use instance method syntax to call this method, omit the first parameter. For more information, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (Visual Basic)</a> or <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (C# Programming Guide)</a>.</item>
+
+	<!-- Table headers -->
+	<item id="header_namespaceName">Namespace</item>
+	<item id="header_namespaceDescription">Description</item>
+	<item id="header_typeIcon">Icon</item>
+  <item id="header_className">Class</item>
+  <item id="header_structureName">Structure</item>
+  <item id="header_interfaceName">Interface</item>
+  <item id="header_delegateName">Delegate</item>
+  <item id="header_enumerationName">Enumeration</item>
+  
+	<item id="header_typeName">Name</item>
+	<item id="header_typeDescription">Description</item>
+	<item id="header_memberIcon">Icon</item>
+	<item id="header_memberName">Member name</item>
+	<item id="header_memberValue">Value</item>
+	<item id="header_memberDescription">Description</item>
+	<item id="header_eventType">Event Type</item>
+	<item id="header_eventReason">Reason</item>
+	<item id="header_exceptionName">Exception</item>
+	<item id="header_exceptionCondition">Condition</item>
+	<item id="header_permissionName">Permission</item>
+	<item id="header_permissionDescription">Description</item>
+  <item id="header_requiresName">Requires</item>
+  <item id="header_ensuresName">Ensures</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariants</item>
+  
+  <!-- Member list table titles -->
+  <item id="tableTitle_namespace">Namespaces</item>
+	<item id="tableTitle_class">Classes</item>
+	<item id="tableTitle_structure">Structures</item>
+	<item id="tableTitle_interface">Interfaces</item>
+	<item id="tableTitle_delegate">Delegates</item>
+	<item id="tableTitle_enumeration">Enumerations</item>
+  <item id="tableTitle_constructor">Constructors</item>
+  <item id="tableTitle_method">Methods</item>
+  <item id="tableTitle_operator">Operators</item>
+  <item id="tableTitle_field">Fields</item>
+  <item id="tableTitle_property">Properties</item>
+  <item id="tableTitle_event">Events</item>
+  <item id="tableTitle_attachedEvent">Attached Events</item>
+  <item id="tableTitle_attachedProperty">Attached Properties</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Explicit Interface Implementations</item>
+	<item id="tableTitle_overloadMembers">Overload List</item>
+  <item id="tableTitle_extensionMethod">Extension Methods</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Thread Safety</item>
+  <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/>  members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+  <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+  <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+  <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+  <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+  
+  <!-- Boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">The {0} generic type exposes the following members.</item>
+  <item id="exposedMembersTableText">The {0} type exposes the following members.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+  <item id="routedEventInfoHeading">Routed Event Information</item>
+
+  <item id="Overloaded">Overloaded. </item>	
+  <item id="defaultNamespace">( Default Namespace )</item>
+  
+  <item id="typeLink">Type: {0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><span class="Bold">{0}</span> type parameter of {1}.</item>
+  
+	<!-- Internal only boilerplate text -->
+  <item id="internalOnly">This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.</item>
+  <item id="infraStructure">Infrastructure. </item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><span class="Bold">Obsolete. </span></item>
+  <item id="boilerplate_obsoleteLong"><span class="Bold">Note: This API is now obsolete.</span></item>
+
+	<!-- Group and SubGroup text -->
+  <item id="text_classUpper">Class</item>
+  <item id="text_structureUpper">Structure</item>
+  <item id="text_interfaceUpper">Interface</item>
+  <item id="text_delegateUpper">Delegate</item>
+  <item id="text_enumerationUpper">Enumeration</item>
+
+  <item id="text_membersUpper">Members</item>
+  <item id="text_methodsUpper">Methods</item>
+  <item id="text_propertiesUpper">Properties</item>
+  <item id="text_eventsUpper">Events</item>
+  <item id="text_fieldsUpper">Fields</item>
+  <item id="text_operatorsUpper">Operators</item>
+  <item id="text_attachedPropertiesUpper">Attached Properties</item>
+  <item id="text_attachedEventsUpper">Attached Events</item>
+
+	<!-- Alt text for images -->
+	<item id="altText_pubClass">Public class</item>
+	<item id="altText_pubStructure">Public structure</item>
+	<item id="altText_pubInterface">Public interface</item>
+	<item id="altText_pubDelegate">Public delegate</item>
+	<item id="altText_pubEnumeration">Public enumeration</item>
+	<item id="altText_protClass">Protected class</item>
+	<item id="altText_protStructure">Protected structure</item>
+	<item id="altText_protInterface">Protected interface</item>
+	<item id="altText_protDelegate">Protected delegate</item>
+	<item id="altText_protEnumeration">Protected enumeration</item>
+	<item id="altText_privClass">Private class</item>
+	<item id="altText_privStructure">Private structure</item>
+	<item id="altText_privInterface">Private interface</item>
+	<item id="altText_privDelegate">Private delegate</item>
+	<item id="altText_privEnumeration">Private enumeration</item>
+
+	<item id="altText_pubConstructor">Public constructor</item>
+	<item id="altText_pubMethod">Public method</item>
+	<item id="altText_pubField">Public field</item>
+	<item id="altText_pubProperty">Public property</item>
+	<item id="altText_pubEvent">Public event</item>
+	<item id="altText_pubOperator">Public operator</item>
+	<item id="altText_pubAttachedProperty">Public attached property</item>
+	<item id="altText_pubAttachedEvent">Public attached event</item>
+	<item id="altText_protConstructor">Protected constructor</item>
+	<item id="altText_protMethod">Protected method</item>
+	<item id="altText_protField">Protected field</item>
+	<item id="altText_protProperty">Protected property</item>
+	<item id="altText_protEvent">Protected event</item>
+	<item id="altText_protOperator">Protected operator</item>
+	<item id="altText_protAttachedProperty">Protected attached property</item>
+	<item id="altText_protAttachedEvent">Protected attached event</item>
+	<item id="altText_privConstructor">Private constructor</item>
+	<item id="altText_privMethod">Private method</item>
+	<item id="altText_privField">Private field</item>
+	<item id="altText_privProperty">Private property</item>
+	<item id="altText_privEvent">Private event</item>
+	<item id="altText_privOperator">Private operator</item>
+	<item id="altText_privtAttachedProperty">Private attached property</item>
+	<item id="altText_privAttachedEvent">Private attached event</item>
+	<item id="altText_static">Static member</item>
+	<item id="altText_pubextension">Public Extension Method</item>
+	<item id="altText_protextension">Protected Extension Method</item>
+	<item id="altText_privextension">Private Extension Method</item>
+
+  <item id="altText_CompactFramework">Supported by the .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Supported by the XNA Framework</item>
+  <item id="altText_SilverlightMobile">Supported by <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Explicit interface implementation</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Namespace</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Members</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Overload</item>
+
+  <item id="boilerplate_requirementsNamespace"><span class="Bold">Namespace:</span></item>
+
+  <item id="boilerplate_requirementsPlatforms"><span class="Bold">Platforms:</span> {0}</item>
+
+  <item id="boilerplate_requirementsAssemblies"><span class="Bold">Assemblies:</span></item>
+
+  <item id="boilerplate_requirementsAssemblyLabel"><span class="Bold">Assembly:</span></item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly"><span class="Bold">Assembly:</span> {0} (in {1}.dll)</item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Supported in: {0}</item>
+  <item id="supportedIn_2">Supported in: {0}, {1}</item>
+  <item id="supportedIn_3">Supported in: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Supported in: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Supported in: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Supported in: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="obsoleteWarning">Obsolete (compiler warning) in {0}</item>
+  <item id="obsoleteError">Obsolete (does not compile) in {0} and later</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+  <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+  <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+  <!-- Non CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+  <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+  <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">This member is overloaded. For complete information about this member, including syntax, usage, and examples, click a name in the overload list.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_systemRequirementsLink">
+	  <w:p>
+			<w:r>
+        <w:t>The <include item="netfw"/> and <include item="netcfw"/> do not support all versions of every platform. For a list of the supported versions, see <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</w:t>
+			</w:r>
+		</w:p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds -->
+  <item id="boilerplate_silverlightPlatforms">For information on the operating systems and browsers supported by <include item="silverlight"/>, see <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.</item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+			 in sync with the platform/@name values used in the manifold platformFilters.xml filter files.  These
+			 values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- Silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><span class="Bold">XMLNS for XAML:</span> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Not mapped to an xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><w:br /><w:br />In <include item="{0}"/>, this member is overridden by {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><w:br /><w:br />In <include item="{0}"/>&#160;<include item="{1}"/>, this member is inherited from {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><w:br /><w:br />In <include item="{0}"/>&#160;<include item="{1}"/>, this member is {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">This member overrides {0}.</item>
+  <item id="boilerplate_useBaseSee">See {0}.</item>
+  <item id="boilerplate_useBase">This member overrides {0}, and more complete documentation might be available in that topic.</item>
+
+  <item id="boilerplate_flagsSummary">This enumeration has a {0} attribute that allows a bitwise combination of its member values.</item>
+	
+	<!-- Contracts -->
+	<item id="contracts_PureMethod">This method is pure.</item>
+	<item id="contracts_LearnMore">Learn more about contracts</item>
+	<item id="contracts_Description">Description: </item>
+	<item id="contracts_InheritedFrom">Inherited From: </item>
+	<item id="contracts_Exception">Exception: </item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+  <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+  <item id="SMCMissingTag"><span class="MissingComment">[Missing &lt;{0}&gt; documentation for "{1}"]</span></item>
+  <item id="SMCMissingParamTag"><span class="MissingComment">[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"]</span></item>
+  <item id="SMCMissingIncludeTarget"><span class="MissingComment">[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}']</span></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0c1251f2b2d442ca2d1efc350334c77f70ab06ec
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/SharedContent.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- This is not used by the presentation style but some build components may expect it to exist -->
+	<item id="iconPath">../media/{0}</item>
+
+	<!-- Topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- Alert titles -->
+	<item id="alert_title_tip">Tip</item>
+	<item id="alert_title_caution">Caution</item>
+	<item id="alert_title_security">Security Note</item>
+	<item id="alert_title_note">Note</item>
+	<item id="alert_title_important">Important</item>
+	<item id="alert_title_visualBasic">Visual Basic Note</item>
+	<item id="alert_title_visualC#">C# Note</item>
+	<item id="alert_title_visualC++">C++ Note</item>
+	<item id="alert_title_visualJ#">J# Note</item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">Tip</item>
+	<item id="alert_altText_caution">Caution note</item>
+	<item id="alert_altText_security">Security note</item>
+	<item id="alert_altText_note">Note</item>
+	<item id="alert_altText_important">Important note</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>
+
+	<!-- Section titles -->
+	<item id="title_remarks">Remarks</item>
+	<item id="title_changeHistory">Change History</item>
+	<item id="title_events">Events</item>
+	<item id="title_exceptions">Exceptions</item>
+	<item id="title_contracts">Contracts</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tasks</item>
+	<item id="title_seeAlso_reference">Reference</item>
+	<item id="title_seeAlso_concepts">Concepts</item>
+	<item id="title_seeAlso_otherResources">Other Resources</item>
+
+	<item id="inline_dynamicLink_prefixText">For more information, see </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> and </item>
+
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic and C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<!-- Language keywords -->
+	<item id="devlang_nullKeyword">a null reference (<span class="CodeInline">Nothing</span> in Visual Basic)</item>
+	<item id="devlang_staticKeyword"><span class="CodeInline">static</span> (<span class="CodeInline">Shared</span> in Visual Basic)</item>
+	<item id="devlang_virtualKeyword"><span class="CodeInline">virtual</span> (<span class="CodeInline">Overridable</span> in Visual Basic)</item>
+	<item id="devlang_trueKeyword"><span class="CodeInline">true</span> (<span class="CodeInline">True</span> in Visual Basic)</item>
+	<item id="devlang_falseKeyword"><span class="CodeInline">false</span> (<span class="CodeInline">False</span> in Visual Basic)</item>
+	<item id="devlang_abstractKeyword"><span class="CodeInline">abstract</span> (<span class="CodeInline">MustInherit</span> in Visual Basic)</item>
+	<item id="devlang_sealedKeyword"><span class="CodeInline">sealed</span> (<span class="CodeInline">NotInheritable</span> in Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="CodeInline">async</span> (<span class="CodeInline">Async</span> in Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="CodeInline">await</span> (<span class="CodeInline">Await</span> in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="CodeInline">async</span>/<span class="CodeInline">await</span> (<span class="CodeInline">Async</span>/<span class="CodeInline">Await</span> in Visual Basic)</item>
+
+	<!-- Back to Top link text -->
+	<item id="top">Back to Top</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8bd05d032711ed987caabb582d30e0d41f0c4bc1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/ConceptualContent.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+
+	<!-- Section titles -->
+	<item id="title_inThisSection">セクションの内容</item>
+	<item id="title_buildInstructions">コードのコンパイル</item>
+	<item id="title_nextSteps">次の手順</item>
+	<item id="title_requirements">å¿…é ˆ</item>
+	<item id="title_relatedSections">関連するセクション</item>
+	<item id="title_relatedTopics">参照</item>
+	<item id="title_syntax">構文</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_returnValue">戻り値</item>
+	<item id="title_attributesAndElements">属性と要素</item>
+	<item id="title_attributes">属性</item>
+	<item id="title_childElement">子要素</item>
+	<item id="title_parentElement">親要素</item>
+	<item id="title_elementInformation">要素情報</item>
+	<item id="title_textValue">テキスト値</item>
+	<item id="title_dotNetFrameworkEquivalent">.NET Framework と等価</item>
+	<item id="title_prerequisites">前提条件</item>
+	<item id="title_robustProgramming">ロバストなプログラミング</item>
+	<item id="title_securitySection">セキュリティ</item>
+	<item id="title_externalResources">外部リソース</item>
+	<item id="title_demonstrates">デモ</item>
+	<item id="title_appliesTo">適用対象</item>
+	<item id="title_conclusion">結論</item>
+	<item id="title_background">背景</item>
+	<item id="title_whatsNew">新着情報</item>
+	<item id="title_reference">参照</item>
+	<item id="title_errorMessage">エラーメッセージ</item>
+	<item id="title_example">例</item>
+
+	<!-- AutoOutline boilerplate -->
+	<item id="boilerplate_autoOutlineTopLevelIntro">このトピックは下記のセクションを含みます:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">このトピックは下記のサブセクションを含みます:</item>
+
+	<!-- Resolve the autoOutline token -->
+	<item id="autoOutline">
+    <autoOutline />
+  </item>
+
+	<!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+	<item id="boilerplate_copyrightNotice"><p>{0} ©{1}{2}. All rights reserved.</p></item>
+
+	<!-- Glossary related entries -->
+	<item id="text_relatedEntries">参照:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..387e1d9caf017df851c1472f2302a0ab2f909c23
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/ReferenceContent.xml
@@ -0,0 +1,447 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+
+  <!-- Note text -->
+  <item id="notDocumented">このAPIはドキュメント化されていません。</item>
+  <item id="preliminaryText">このAPIは暫定的なものであり、変更される可能性があります。</item>
+	
+	<!-- Inserted boilerplate -->
+  <item id="definedBy">({0}により定義)</item>
+	<item id="inheritedFrom">({0}から継承)</item>
+	<item id="overridesMember">({0}をオーバーライド)</item>
+	<item id="locationInformation">アセンブリ: {0} (モジュール: {1})</item>
+ 
+  <item id="derivedClasses">派生クラス</item>
+  <item id="explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+  <item id="returnValue">戻り値</item>
+  <item id="propertyValue">プロパティ値</item>
+  <item id="fieldValue">フィールド値</item>
+  <item id="example">例</item>
+
+  <!-- Topic titles -->
+  <item id="topicTitle_root">名前空間</item>
+	<item id="topicTitle_namespace">{0} 名前空間</item>
+	<item id="topicTitle_namespaceGroup">{0} 名前空間</item>
+	<item id="topicTitle_class">{0} クラス</item>
+	<item id="topicTitle_structure">{0} 構造体</item>
+	<item id="topicTitle_interface">{0} インターフェイス</item>
+	<item id="topicTitle_derivedTypeList">{0} 派生クラス</item>
+  
+	<item id="topicTitle_delegate">{0} デリゲート</item>
+	<item id="topicTitle_enumeration">{0} 列挙体</item>
+	<item id="topicTitle_field">{0} フィールド</item>
+	<item id="topicTitle_method">{0} メソッド {1}</item>
+	<item id="topicTitle_constructor">{0} コンストラクター {1}</item>
+	<item id="topicTitle_property">{0} プロパティ {1}</item>
+	<item id="topicTitle_event">{0} イベント</item>
+  
+  <!-- Title for operator members -->
+	<item id="topicTitle_operator">{0} 演算子 {1}</item>
+
+  <!-- Title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} 変換 {1}</item>
+  <!-- Title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} 変換演算子</item>
+      
+	<item id="topicTitle_attachedProperty">{0} 添付プロパティ</item>
+	<item id="topicTitle_attachedEvent">{0} 添付イベント</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} ジェネリッククラス</item>
+  <item id="topicTitle_generic_structure">{0} ジェネリック構造体</item>
+  <item id="topicTitle_generic_interface">{0} ジェネリックインターフェイス</item>
+  <item id="topicTitle_generic_delegate">{0} ジェネリックデリゲート</item>
+  <item id="topicTitle_generic_method">{0} ジェネリックメソッド {1}</item>
+  
+	<!-- List topic titles -->
+	<item id="topicTitle_fields">{0} フィールド</item>
+	<item id="topicTitle_methods">{0} メソッド</item>
+	<item id="topicTitle_enumMembers">メンバー</item>
+  
+  <!-- Title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} 演算子</item>
+  <!-- Title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} 演算子と型変換</item>
+  <!-- Title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} 型変換</item>
+  
+	<item id="topicTitle_constructors">{0} コンストラクター</item>
+	<item id="topicTitle_properties">{0} プロパティ</item>
+	<item id="topicTitle_events">{0} イベント</item>
+	<item id="topicTitle_attachedProperties">{0} 添付プロパティ</item>
+ 	<item id="topicTitle_attachedEvents">{0} 添付イベント</item>
+	<item id="topicTitle_members">{0} メンバー</item>
+
+	<!-- Section titles -->
+	<item id="title_syntax">構文</item>
+	<item id="title_templates">型パラメーター</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_value">値</item>
+	<item id="title_delegateValue">戻り値</item>
+	<item id="title_methodValue">戻り値</item>
+	<item id="title_propertyValue">プロパティ値</item>
+	<item id="title_fieldValue">フィールド値</item>
+	<item id="title_implements">実装</item>
+	<item id="title_examples">例</item>
+	<item id="title_threadSafety">スレッドセーフ</item>
+	<item id="title_permissions">.NET Framework セキュリティ</item>
+	<item id="title_namespaces">名前空間</item>
+	<item id="title_types">åž‹</item>
+	<item id="title_family">継承階層</item>
+	<item id="title_versions">バージョン情報</item>
+	<item id="title_platforms">プラットフォーム</item>
+	<item id="title_relatedTopics">関連項目</item>
+	<item id="title_extensionUsage">使用上の注意</item>
+	<item id="text_extensionUsage">Visual Basic と C#では、{0}型のオブジェクトのインスタンスメソッドのようにこのメソッドを呼び出せます。このメソッドを呼び出すためにインスタンスメソッド構文を使う場合、最初のパラメーターを省略します。詳細は、<a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(Visual Basic)</a>または<a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(C# プログラミング ガイド)</a>を参照してください。</item>
+
+	<!-- Table headers -->
+	<item id="header_namespaceName">名前空間</item>
+	<item id="header_namespaceDescription">説明</item>
+	<item id="header_typeIcon">アイコン</item>
+  <item id="header_className">クラス</item>
+  <item id="header_structureName">構造体</item>
+  <item id="header_interfaceName">インターフェイス</item>
+  <item id="header_delegateName">デリゲート</item>
+  <item id="header_enumerationName">列挙体</item>
+  
+	<item id="header_typeName">名前</item>
+	<item id="header_typeDescription">説明</item>
+	<item id="header_memberIcon">アイコン</item>
+	<item id="header_memberName">メンバー</item>
+	<item id="header_memberValue">値</item>
+	<item id="header_memberDescription">説明</item>
+	<item id="header_eventType">イベント型</item>
+	<item id="header_eventReason">原因</item>
+	<item id="header_exceptionName">例外</item>
+	<item id="header_exceptionCondition">条件</item>
+	<item id="header_permissionName">パーミッション</item>
+	<item id="header_permissionDescription">説明</item>
+  <item id="header_requiresName">事前条件</item>
+  <item id="header_ensuresName">事後条件</item>
+  <item id="header_ensuresOnThrowName">例外発生時の事後条件</item>
+  <item id="header_invariantsName">不変条件</item>
+  
+  <!-- Member list table titles -->
+  <item id="tableTitle_namespace">名前空間</item>
+	<item id="tableTitle_class">クラス</item>
+	<item id="tableTitle_structure">構造体</item>
+	<item id="tableTitle_interface">インターフェイス</item>
+	<item id="tableTitle_delegate">デリゲート</item>
+	<item id="tableTitle_enumeration">列挙体</item>
+  <item id="tableTitle_constructor">コンストラクター</item>
+  <item id="tableTitle_method">メソッド</item>
+  <item id="tableTitle_operator">演算子</item>
+  <item id="tableTitle_field">フィールド</item>
+  <item id="tableTitle_property">プロパティ</item>
+  <item id="tableTitle_event">イベント</item>
+  <item id="tableTitle_attachedEvent">添付イベント</item>
+  <item id="tableTitle_attachedProperty">添付プロパティ</item>
+  <item id="tableTitle_explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+	<item id="tableTitle_overloadMembers">オーバーロードの一覧</item>
+  <item id="tableTitle_extensionMethod">拡張メソッド</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">スレッドセーフ</item>
+  <item id="boilerplate_threadSafety">この型の公開<include item="devlang_staticKeyword" />メンバーはすべてスレッドセーフです。インスタンスメンバーはスレッドセーフである保証はありません。</item>
+
+  <item id="text_staticThreadSafe">この型のstaticメンバーはスレッドセーフです。</item>
+  <item id="text_staticNotThreadSafe">この型のstaticメンバーはスレッドセーフではありません。</item>
+  <item id="text_instanceThreadSafe">この型のインスタンスメンバーはスレッドセーフです。</item>
+  <item id="text_instanceNotThreadSafe">この型のインスタンスメンバーはスレッドセーフではありません。</item>
+  
+  <!-- Boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">{0} ジェネリック型は下記のメンバーを公開します。</item>
+  <item id="exposedMembersTableText">{0} 型は下記のメンバーを公開します。</item>	
+
+  <item id="dependencyPropertyInfoHeading">依存関係プロパティの情報</item>
+  <item id="routedEventInfoHeading">ルーティングイベントの情報</item>
+
+  <item id="Overloaded">オーバーロード。</item>	
+  <item id="defaultNamespace">(既定の名前空間)</item>
+  
+  <item id="typeLink">åž‹: {0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter">{1}の型パラメーター<strong>{0}</strong></item>
+  
+	<!-- Internal only boilerplate text -->
+  <item id="internalOnly">このAPIは.NET Frameworkインフラストラクチャをサポートしており、ユーザーコードから直接使われることを意図していません。</item>
+  <item id="infraStructure">インフラストラクチャ</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>廃止予定。</strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>注意: このAPIは廃止予定です。</strong></item>
+
+	<!-- Group and SubGroup text -->
+  <item id="text_classUpper">クラス</item>
+  <item id="text_structureUpper">構造体</item>
+  <item id="text_interfaceUpper">インターフェイス</item>
+  <item id="text_delegateUpper">デリゲート</item>
+  <item id="text_enumerationUpper">列挙体</item>
+
+  <item id="text_membersUpper">メンバー</item>
+  <item id="text_methodsUpper">メソッド</item>
+  <item id="text_propertiesUpper">プロパティ</item>
+  <item id="text_eventsUpper">イベント</item>
+  <item id="text_fieldsUpper">フィールド</item>
+  <item id="text_operatorsUpper">演算子</item>
+  <item id="text_attachedPropertiesUpper">添付プロパティ</item>
+  <item id="text_attachedEventsUpper">添付イベント</item>
+
+	<!-- Alt text for images -->
+	<item id="altText_pubClass">Public クラス</item>
+	<item id="altText_pubStructure">Public 構造体</item>
+	<item id="altText_pubInterface">Public インターフェイス</item>
+	<item id="altText_pubDelegate">Public デリゲート</item>
+	<item id="altText_pubEnumeration">Public 列挙体</item>
+	<item id="altText_protClass">Protected クラス</item>
+	<item id="altText_protStructure">Protected 構造体</item>
+	<item id="altText_protInterface">Protected インターフェイス</item>
+	<item id="altText_protDelegate">Protected デリゲート</item>
+	<item id="altText_protEnumeration">Protected 列挙体</item>
+	<item id="altText_privClass">Private クラス</item>
+	<item id="altText_privStructure">Private 構造体</item>
+	<item id="altText_privInterface">Private インターフェイス</item>
+	<item id="altText_privDelegate">Private デリゲート</item>
+	<item id="altText_privEnumeration">Private 列挙体</item>
+
+	<item id="altText_pubConstructor">Public コンストラクター</item>
+	<item id="altText_pubMethod">Public メソッド</item>
+	<item id="altText_pubField">Public フィールド</item>
+	<item id="altText_pubProperty">Public プロパティ</item>
+	<item id="altText_pubEvent">Public イベント</item>
+	<item id="altText_pubOperator">Public 演算子</item>
+	<item id="altText_pubAttachedProperty">Public 添付プロパティ</item>
+	<item id="altText_pubAttachedEvent">Public 添付イベント</item>
+	<item id="altText_protConstructor">Protected コンストラクター</item>
+	<item id="altText_protMethod">Protected メソッド</item>
+	<item id="altText_protField">Protected フィールド</item>
+	<item id="altText_protProperty">Protected プロパティ</item>
+	<item id="altText_protEvent">Protected イベント</item>
+	<item id="altText_protOperator">Protected 演算子</item>
+	<item id="altText_protAttachedProperty">Protected 添付プロパティ</item>
+	<item id="altText_protAttachedEvent">Protected 添付イベント</item>
+	<item id="altText_privConstructor">Private コンストラクター</item>
+	<item id="altText_privMethod">Private メソッド</item>
+	<item id="altText_privField">Private フィールド</item>
+	<item id="altText_privProperty">Private プロパティ</item>
+	<item id="altText_privEvent">Private イベント</item>
+	<item id="altText_privOperator">Private 演算子</item>
+	<item id="altText_privtAttachedProperty">Private 添付プロパティ</item>
+	<item id="altText_privAttachedEvent">Private 添付イベント</item>
+	<item id="altText_static">静的メンバー</item>
+	<item id="altText_pubextension">Public 拡張メソッド</item>
+	<item id="altText_protextension">Protected 拡張メソッド</item>
+	<item id="altText_privextension">Private 拡張メソッド</item>
+
+  <item id="altText_CompactFramework">.NET Compact Frameworkによってサポートされています。</item>
+  <item id="altText_XNAFramework">XNA Frameworkによってサポートされています。</item>
+  <item id="altText_SilverlightMobile"><include item="silverlight_mobile" />によってサポートされています。</item>
+  <item id="altText_ExplicitInterface">明示的なインターフェイスの実装</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} 名前空間</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper" /></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} メンバー</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} オーバーロード</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>名前空間:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>プラットフォーム:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>アセンブリ:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>アセンブリ:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) バージョン: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>アセンブリ:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">サポートされるバージョン: {0}</item>
+  <item id="supportedIn_2">サポートされるバージョン: {0}, {1}</item>
+  <item id="supportedIn_3">サポートされるバージョン: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">サポートされるバージョン: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="obsoleteWarning">廃止予定になった (コンパイル時警告) バージョン: {0}</item>
+  <item id="obsoleteError">廃止された (コンパイル不可) バージョン: {0}</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">直前の呼び出し元に対する完全な信頼。このメンバーは、部分信頼コードからは使えません。詳細は、<a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">部分信頼コードからのライブラリの使用</a>を参照してください。</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">この型パラメーターは共変です。つまり、指定した型か、その型から派生した任意の型が使えます。</item>
+  <item id="text_contravariant">この型パラメーターは反変です。つまり、指定した型か、その型が継承する任意の型が使えます。</item>
+  <item id="text_variance">共変と反変についての詳細は、<a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">共変性と反変性 (C# および Visual Basic)</a>を参照してください。</item>
+
+  <!-- Non CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">このAPIはCLS準拠ではありません。</item>
+  <item id="boilerplate_AltClsCompliant">CLS準拠の代替は{0}です。</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">この型は SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこの型のメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="boilerplate_memberSecurityCritical">このメンバーは SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこのメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="text_securityCritical">[セキュリティ上の重要事項] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">このメンバーはオーバーロードされています。構文、使用法、例を含むこのメンバーについての完全な情報は、オーバーロード一覧の名前をクリックしてください。</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_systemRequirementsLink">
+	  <p><include item="netfw" />と<include item="netcfw" />では、各プラットフォームのすべてのバージョンはサポートしていません。サポートしているバージョンについては、<a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework システム要件</a>を参照してください。</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds -->
+  <item id="boilerplate_silverlightPlatforms">
+    <include item="silverlight" />によってサポートされているOSとブラウザーの詳細は、<a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">サポートされているオペレーティング システムとブラウザー</a>を参照してください。
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003" /></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">共通言語基盤(CLI)標準</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95" />, <include item="Win98" />, <include item="Win98Se" />, <include item="WinME" /></item>
+	<item id="WinNt4Family"><include item="WinNT4" /></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal" />, <include item="WinXPPro" />, <include item="WinXPSvr" /></item>
+	<item id="WinCE"><include item="WindowsCE" /></item>
+	<item id="Win2K"><include item="WinSvr2000" /></item>
+	<item id="Win2KSvr"><include item="Win2kServer" /></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter" /></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr" /></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks" /></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter" /></item>
+	<item id="Win2kServerApplianceKit" />
+	<item id="WinXpHome"><include item="WinXPPersonal" /></item>
+	<item id="WinXpProfessional"><include item="WinXPPro" /></item>
+	<item id="Win2003Server"><include item="WinXPSvr" /></item>
+	<item id="NETCF"><include item="PocketPC" />, <include item="SmartPhone" />, <include item="WindowsCE" /></item>
+  
+  <item id="XNA"><include item="Xbox360" />, <include item="Zune" /></item>
+       
+  <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+			 in sync with the platform/@name values used in the manifold platformFilters.xml filter files.  These
+			 values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- Silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XAML用XMLNS:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">xmlnsにマップされていません。</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br /><br />In <include item="{0}" />, このメンバーは{1}でオーバーライドされています。</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br /><br />In <include item="{0}" /> <include item="{1}" />, このメンバーは、{2}{3}{4}から継承されます。</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br /><br />In <include item="{0}" /> <include item="{1}" />, このメンバーは、{2}です。</item>
+  
+  <item id="boilerplate_useBaseSummary">このメンバーは{0}をオーバーライドしています。</item>
+  <item id="boilerplate_useBaseSee">{0}を参照してください。</item>
+  <item id="boilerplate_useBase">このメンバーは{0}をオーバーライドします。より完全なドキュメントはそのトピックで有効です。</item>
+
+  <item id="boilerplate_flagsSummary">この列挙体には、メンバーの値のビットごとの組み合わせを可能にする{0}属性があります。</item>
+	
+	<!-- Contracts -->
+	<item id="contracts_PureMethod">このメソッドは純粋です</item>
+	<item id="contracts_LearnMore">契約についてもっと学ぶ</item>
+	<item id="contracts_Description">説明: </item>
+	<item id="contracts_InheritedFrom">継承: </item>
+	<item id="contracts_Exception">例外: </item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor"><referenceLink target="T:{0}" />クラスの新しいインスタンスを初期化します</item>
+  <item id="SMCAutoDocStaticConstructor"><referenceLink target="T:{0}" />クラスの静的フィールドを初期化します</item>
+  <item id="SMCAutoDocDispose"><referenceLink target="T:{0}" />によって使われているすべてのリソースを解放します</item>
+  <item id="SMCAutoDocDisposeBool"><referenceLink target="T:{0}" />によって使われているアンマネージリソースを解放し、オプションでマネージリソースも解放します。</item>
+  <item id="SMCAutoDocDisposeParam">マネージリソースとアンマネージリソースの両方を解放する場合はtrue、アンマネージリソースのみを解放する場合はfalse</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{1}"に対する&lt;{0}&gt;がありません]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{2}"に対する&lt;{0} name="{1}"/&gt;がありません</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">['{0}'で使われている&lt;include&gt;ターゲットドキュメントがありません。File: '{1}' Path: '{2}']</p></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94ae979672c5c2dd506f1e24b15b77585f2f00d2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ja-JP/SharedContent.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- This is not used by the presentation style but some build components may expect it to exist -->
+	<item id="iconPath">../media/{0}</item>
+
+	<!-- Topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- Alert titles -->
+	<item id="alert_title_tip">ヒント</item>
+	<item id="alert_title_caution">注意</item>
+	<item id="alert_title_security">セキュリティ メモ</item>
+	<item id="alert_title_note">メモ</item>
+	<item id="alert_title_important">重要</item>
+	<item id="alert_title_visualBasic">Visual Basic メモ</item>
+	<item id="alert_title_visualC#">C# メモ</item>
+	<item id="alert_title_visualC++">C++ メモ</item>
+	<item id="alert_title_visualJ#">J# メモ</item>
+	<item id="text_NotesForImplementers">実装時の注意</item>
+	<item id="text_NotesForCallers">利用時の注意</item>
+	<item id="text_NotesForInheritors">継承する場合の注意</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">ヒント</item>
+	<item id="alert_altText_caution">注意 メモ</item>
+	<item id="alert_altText_security">セキュリティ メモ</item>
+	<item id="alert_altText_note">メモ</item>
+	<item id="alert_altText_important">重要 メモ</item>
+	<item id="alert_altText_visualBasic">Visual Basic メモ</item>
+	<item id="alert_altText_visualC#">C# メモ</item>
+	<item id="alert_altText_visualC++">C++ メモ</item>
+	<item id="alert_altText_visualJ#">J# メモ</item>
+
+	<!-- Section titles -->
+	<item id="title_remarks">解説</item>
+	<item id="title_changeHistory">変更履歴</item>
+	<item id="title_events">イベント</item>
+	<item id="title_exceptions">例外</item>
+	<item id="title_contracts">契約</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">タスク</item>
+	<item id="title_seeAlso_reference">参照</item>
+	<item id="title_seeAlso_concepts">コンセプト</item>
+	<item id="title_seeAlso_otherResources">その他のリソース</item>
+
+	<item id="inline_dynamicLink_prefixText">より詳しくは、</item>
+	<item id="inline_dynamicLink_postfixText">を参照してください。</item>
+	<item id="inline_dynamicLink_separatorText">と</item>
+
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic と C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<!-- Language keywords -->
+	<item id="devlang_nullKeyword">null参照(Visual Basicでは<span class="CodeInline">Nothing</span>)</item>
+	<item id="devlang_staticKeyword"><span class="CodeInline">static</span> (Visual Basicでは<span class="CodeInline">Shared</span>)</item>
+	<item id="devlang_virtualKeyword"><span class="CodeInline">virtual</span> (Visual Basicでは<span class="CodeInline">Overridable</span>)</item>
+	<item id="devlang_trueKeyword"><span class="CodeInline">true</span> (Visual Basicでは<span class="CodeInline">True</span>)</item>
+	<item id="devlang_falseKeyword"><span class="CodeInline">false</span> (Visual Basicでは<span class="CodeInline">False</span>)</item>
+	<item id="devlang_abstractKeyword"><span class="CodeInline">abstract</span> (Visual Basicでは<span class="CodeInline">MustInherit</span>)</item>
+	<item id="devlang_sealedKeyword"><span class="CodeInline">sealed</span> (Visual Basicでは<span class="CodeInline">NotInheritable</span>)</item>
+	<item id="devlang_asyncKeyword"><span class="CodeInline">async</span> (<span class="CodeInline">Async</span> in Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="CodeInline">await</span> (<span class="CodeInline">Await</span> in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="CodeInline">async</span>/<span class="CodeInline">await</span> (<span class="CodeInline">Async</span>/<span class="CodeInline">Await</span> in Visual Basic)</item>
+
+	<!-- Back to Top link text -->
+	<item id="top">トップ</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b49ed44bedf4cce7bbd3ec10455a72726f3f649
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/ConceptualContent.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+	<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- Section titles -->
+	<item id="title_inThisSection">В этом подразделе</item>
+	<item id="title_buildInstructions">Компиляция кода</item>
+	<item id="title_nextSteps">Следующие шаги</item>
+	<item id="title_requirements">Требования</item>
+	<item id="title_relatedSections">Связанные разделы</item>
+	<item id="title_relatedTopics">См. также</item>
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_returnValue">Возвращаемое значение</item>
+	<item id="title_attributesAndElements">Атрибуты и элементы</item>
+	<item id="title_attributes">Атрибуты</item>
+	<item id="title_childElement">Дочерние элементы</item>
+	<item id="title_parentElement">Родительские элементы</item>
+	<item id="title_elementInformation">Сведения об элементе</item>
+	<item id="title_textValue">Текстовое значение</item>
+	<item id="title_dotNetFrameworkEquivalent">Эквивалент в платформе .NET Framework</item>
+	<item id="title_prerequisites">Предварительные условия</item>
+	<item id="title_robustProgramming">Отказоустойчивость</item>
+	<item id="title_securitySection">Безопасность</item>
+	<item id="title_externalResources">Внешние ресурсы</item>
+	<item id="title_demonstrates">Демонстрация</item>
+	<item id="title_appliesTo">Применимо к</item>
+	<item id="title_conclusion">Выводы</item>
+	<item id="title_background">Предпосылки</item>
+	<item id="title_whatsNew">Что нового</item>
+	<item id="title_reference">Ссылки</item>
+	<item id="title_errorMessage">Сообщение об ошибке</item>
+	<item id="title_example">Пример</item>
+
+	<!-- AutoOutline boilerplate -->
+	<item id="boilerplate_autoOutlineTopLevelIntro">Эта тема содержит следующие разделы:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">В этом разделе содержатся следующие подразделы:</item>
+
+	<!-- Resolve the autoOutline token -->
+	<item id="autoOutline">
+		<autoOutline />
+	</item>
+
+	<!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+	<item id="boilerplate_copyrightNotice">
+		<w:p>
+			<w:r>
+				<w:t>{0} &#169;{1}{2}. Все права защищены.</w:t>
+			</w:r>
+		</w:p>
+	</item>
+
+	<!-- Glossary related entries -->
+	<item id="text_relatedEntries">См. также:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3f07d94b7935de23bc6419e550781bf163fbefed
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/ReferenceContent.xml
@@ -0,0 +1,442 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+	<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- Note text -->
+	<item id="notDocumented">Это API не документировано.</item>
+	<item id="preliminaryText">Это предварительная документация, которая в будущем может измениться.</item>
+
+	<!-- Inserted boilerplate -->
+	<item id="definedBy">(Определяется {0}.)</item>
+	<item id="inheritedFrom">(Унаследован от {0}.)</item>
+	<item id="overridesMember">(Переопределяет {0}.)</item>
+	<item id="locationInformation">Сборка: {0} (Модуль: {1})</item>
+ 
+  <item id="derivedClasses">Производные классы</item>
+  <item id="explicitInterfaceImplementation">Явные реализации интерфейсов</item>
+  <item id="returnValue">Возвращаемое значение</item>
+  <item id="propertyValue">Значение свойства</item>
+  <item id="fieldValue">Значение поля</item>
+  <item id="example">Пример</item>
+
+  <!-- Topic titles -->
+  <item id="topicTitle_root">Пространства имён</item>
+	<item id="topicTitle_namespace">{0} - пространство имён</item>
+	<item id="topicTitle_namespaceGroup">{0} - пространства имён</item>
+	<item id="topicTitle_class">{0} - класс</item>
+	<item id="topicTitle_structure">{0} - структура</item>
+	<item id="topicTitle_interface">{0} - интерфейс</item>
+	<item id="topicTitle_derivedTypeList">{0} - производные классы</item>
+  
+	<item id="topicTitle_delegate">{0} - делегат</item>
+	<item id="topicTitle_enumeration">{0} - перечисление</item>
+	<item id="topicTitle_field">{0} - поле</item>
+	<item id="topicTitle_method">{0}{1} - метод</item>
+	<item id="topicTitle_constructor">{0}{1} - конструктор</item>
+	<item id="topicTitle_property">{0}{1} - свойство</item>
+	<item id="topicTitle_event">{0} - событие</item>
+  
+  <!-- Title for operator members -->
+	<item id="topicTitle_operator">{0}{1} - оператор</item>
+
+  <!-- Title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} - преобразование {1}</item>
+  <!-- Title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} - операторы преобразования</item>
+      
+	<item id="topicTitle_attachedProperty">{0} - вложенное свойство</item>
+	<item id="topicTitle_attachedEvent">{0} - вложенное событие</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} - универсальный класс</item>
+  <item id="topicTitle_generic_structure">{0} - универсальная структура</item>
+  <item id="topicTitle_generic_interface">{0} - универсальный интерфейс</item>
+  <item id="topicTitle_generic_delegate">{0} - универсальный делегат</item>
+  <item id="topicTitle_generic_method">{0}{1} - универсальный метод</item>
+  
+	<!-- List topic titles -->
+	<item id="topicTitle_fields">{0} - поля</item>
+	<item id="topicTitle_methods">{0} - методы</item>
+	<item id="topicTitle_enumMembers">Члены</item>
+  
+  <!-- Title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} - операторы</item>
+  <!-- Title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0}  - операторы и преобразования типов</item>
+  <!-- Title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} - преобразования типов</item>
+  
+	<item id="topicTitle_constructors">{0} - конструкторы</item>
+	<item id="topicTitle_properties">{0} - свойства</item>
+	<item id="topicTitle_events">{0} - события</item>
+	<item id="topicTitle_attachedProperties">{0} - вложенные свойства</item>
+ 	<item id="topicTitle_attachedEvents">{0} - вложенные события</item>
+	<item id="topicTitle_members">{0} - члены</item>
+
+	<!-- Section titles -->
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_templates">Параметры типа</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_value">Значение</item>
+	<item id="title_delegateValue">Возвращаемое значение</item>
+	<item id="title_methodValue">Возвращаемое значение</item>
+	<item id="title_propertyValue">Значение свойства</item>
+	<item id="title_fieldValue">Значение поля</item>
+  <item id="title_implements">Реализации</item>
+	<item id="title_examples">Примеры</item>
+	<item id="title_threadSafety">Потокобезопасность</item>
+	<item id="title_permissions">Безопасность платформы .NET Framework</item> 
+	<item id="title_namespaces">Пространства имён</item>
+	<item id="title_types">Типы</item>
+	<item id="title_family">Иерархия наследования</item>
+	<item id="title_versions">Сведения о версии</item>
+	<item id="title_platforms">Платформы</item>
+  <item id="title_relatedTopics">См. также</item>
+  <item id="title_extensionUsage">Примечание об использовании</item>
+  <item id="text_extensionUsage">В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа {0}. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Visual Basic)</a> или <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Руководство по программированию в C#)</a>.</item>
+
+	<!-- Table headers -->
+	<item id="header_namespaceName">Пространство имён</item>
+	<item id="header_namespaceDescription">Описание</item>
+	<item id="header_typeIcon">Значок</item>
+  <item id="header_className">Класс</item>
+  <item id="header_structureName">Структура</item>
+  <item id="header_interfaceName">Интерфейс</item>
+  <item id="header_delegateName">Делегат</item>
+  <item id="header_enumerationName">Перечисление</item>
+  
+	<item id="header_typeName">Имя</item>
+	<item id="header_typeDescription">Описание</item>
+	<item id="header_memberIcon">Значок</item>
+	<item id="header_memberName">Имя члена</item>
+	<item id="header_memberValue">Значение</item>
+	<item id="header_memberDescription">Описание</item>
+	<item id="header_eventTypeHeader">Тип события</item>
+	<item id="header_eventReasonHeader">Причина события</item>
+	<item id="header_exceptionName">Исключение</item>
+	<item id="header_exceptionCondition">Условие</item>
+	<item id="header_permissionName">Разрешение</item>
+	<item id="header_permissionDescription">Описание</item>
+  <item id="header_requiresName">Предусловия</item>
+  <item id="header_ensuresName">Постусловия</item>
+  <item id="header_ensuresOnThrowName">Постусловия при возникновении исключений</item>
+  <item id="header_invariantsName">Инварианты</item>
+
+  <!-- Member list table titles -->
+  <item id="tableTitle_namespace">Пространства имён</item>
+	<item id="tableTitle_class">Классы</item>
+	<item id="tableTitle_structure">Структуры</item>
+	<item id="tableTitle_interface">Интерфейсы</item>
+	<item id="tableTitle_delegate">Делегаты</item>
+	<item id="tableTitle_enumeration">Перечисления</item>
+  <item id="tableTitle_constructor">Конструкторы</item>
+  <item id="tableTitle_method">Методы</item>
+  <item id="tableTitle_operator">Операторы</item>
+  <item id="tableTitle_field">Поля</item>
+  <item id="tableTitle_property">Свойства</item>
+  <item id="tableTitle_event">События</item>
+  <item id="tableTitle_attachedEvent">Вложенные события</item>
+  <item id="tableTitle_attachedProperty">Вложенные свойства</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Явные&#160;реализации&#160;интерфейсов</item>
+	<item id="tableTitle_overloadMembers">Список&#160;перегрузок</item>
+  <item id="tableTitle_extensionMethod">Методы&#160;расширения</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Потокобезопасность</item>
+  <item id="boilerplate_threadSafety">Любые открытые члены этого типа, объявленные как <include item="devlang_staticKeyword"/>, являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.</item>
+
+  <item id="text_staticThreadSafe">Статические члены этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_staticNotThreadSafe">Статические члены этого типа, являются небезопасными для многопоточных операций. </item>
+  <item id="text_instanceThreadSafe">Члены экземпляра этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_instanceNotThreadSafe">Члены экземпляра этого типа, являются небезопасными для многопоточных операций. </item>
+  
+  <!-- Boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Универсальный тип {0} предоставляет следующие члены.</item>
+  <item id="exposedMembersTableText">Тип {0} предоставляет следующие члены.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Информация о свойстве зависимостей</item>
+  <item id="routedEventInfoHeading">Информация о перенаправленном событии</item>
+
+  <item id="Overloaded">Перегружен. </item>
+  <item id="defaultNamespace">(пространство имён по-умолчанию)</item>
+  
+  <item id="typeLink">Тип:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><span class="Bold">{0}</span> - параметр типа {1}.</item>
+
+
+
+	<!-- Internal only boilerplate text -->
+  <item id="internalOnly">Данный API разработан для поддержки инфраструктуры .NET Framework и не предназначен для использования непосредственно из кода.</item>
+  <item id="infraStructure">Инфраструктура. </item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><span class="Bold">Устарело. </span></item>
+  <item id="boilerplate_obsoleteLong"><span class="Bold">Примечание: Данный API устарел.</span></item>
+
+	<!-- Group and SubGroup text -->
+  <item id="text_classUpper">Класс</item>
+  <item id="text_structureUpper">Структура</item>
+  <item id="text_interfaceUpper">Интерфейс</item>
+  <item id="text_delegateUpper">Делегат</item>
+  <item id="text_enumerationUpper">Перечисление</item>
+
+  <item id="text_membersUpper">Члены</item>
+  <item id="text_methodsUpper">Методы</item>
+  <item id="text_propertiesUpper">Свойства</item>
+  <item id="text_eventsUpper">События</item>
+  <item id="text_fieldsUpper">Поля</item>
+  <item id="text_operatorsUpper">Операторы</item>
+  <item id="text_attachedPropertiesUpper">Вложенные свойства</item>
+  <item id="text_attachedEventsUpper">Вложенные события</item>
+
+	<!-- Alt text for images -->
+  <item id="altText_pubClass">Открытый класс</item>
+  <item id="altText_pubStructure">Открытая структура</item>
+  <item id="altText_pubInterface">Открытый интерфейс</item>
+  <item id="altText_pubDelegate">Открытый делегат</item>
+  <item id="altText_pubEnumeration">Открытое перечисление</item>
+  <item id="altText_protClass">Защищённый класс</item>
+  <item id="altText_protStructure">Защищённая структура</item>
+  <item id="altText_protInterface">Защищённый интерфейс</item>
+  <item id="altText_protDelegate">Защищённый делегат</item>
+  <item id="altText_protEnumeration">Защищённое перечисление</item>
+  <item id="altText_privClass">Закрытый класс</item>
+  <item id="altText_privStructure">Закрытая структура</item>
+  <item id="altText_privInterface">Закрытый интерфейс</item>
+  <item id="altText_privDelegate">Закрытый делегат</item>
+  <item id="altText_privEnumeration">Закрытое перечисление</item>
+
+  <item id="altText_pubConstructor">Открытый конструктор</item>
+  <item id="altText_pubMethod">Открытый метод</item>
+  <item id="altText_pubField">Открытое поле</item>
+  <item id="altText_pubProperty">Открытое свойство</item>
+  <item id="altText_pubEvent">Открытое событие</item>
+  <item id="altText_pubOperator">Открытый оператор</item>
+  <item id="altText_pubAttachedProperty">Открытое вложенное свойство</item>
+  <item id="altText_pubAttachedEvent">Открытое вложенное событие</item>
+  <item id="altText_protConstructor">Защищённый конструктор</item>
+  <item id="altText_protMethod">Защищённый метод</item>
+  <item id="altText_protField">Защищённое поле</item>
+  <item id="altText_protProperty">Защищённое свойство</item>
+  <item id="altText_protEvent">Защищённое событие</item>
+  <item id="altText_protOperator">Защищённый оператор</item>
+  <item id="altText_protAttachedProperty">Защищённое вложенное свойство</item>
+  <item id="altText_protAttachedEvent">Защищённое вложенное событие</item>
+  <item id="altText_privConstructor">Закрытый конструктор</item>
+  <item id="altText_privMethod">Закрытый метод</item>
+  <item id="altText_privField">Закрытое поле</item>
+  <item id="altText_privProperty">Закрытое свойство</item>
+  <item id="altText_privEvent">Закрытое событие</item>
+  <item id="altText_privOperator">Закрытый оператор</item>
+  <item id="altText_privtAttachedProperty">Закрытое вложенное свойство</item>
+  <item id="altText_privAttachedEvent">Закрытое вложенное событие</item>
+  <item id="altText_static">Статический член</item>
+  <item id="altText_pubextension">Открытый метод расширения</item>
+  <item id="altText_protextension">Защищённый метод расширения</item>
+  <item id="altText_privextension">Закрытый метод расширения</item>
+
+  <item id="altText_CompactFramework">Поддерживается платформой .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Поддерживается платформой XNA Framework</item>
+  <item id="altText_SilverlightMobile">Поддерживается платформой <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Явные реализации интерфейса</item>
+  <item id="altText_CodeExample">Пример кода</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} - пространство имён</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} - <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} - члены</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} - перегрузка</item>
+
+  <item id="boilerplate_requirementsNamespace"><span class="Bold">Пространство имён:</span></item>
+
+  <item id="boilerplate_requirementsPlatforms"><span class="Bold">Платформы:</span> {0}</item>
+
+  <item id="boilerplate_requirementsAssemblies"><span class="Bold">Сборки:</span></item>
+
+  <item id="boilerplate_requirementsAssemblyLabel"><span class="Bold">Сборка:</span></item>
+
+	<item id="assemblyNameAndModule">{0} (в {1}.{2}) Версия: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly"><span class="Bold">Сборка:</span> {0} (в {1}.dll)</item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Поддерживается в: {0}</item>
+  <item id="supportedIn_2">Поддерживается в: {0}, {1}</item>
+  <item id="supportedIn_3">Поддерживается в: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Поддерживается в: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Поддерживается в: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="obsoleteWarning">Устарело (предупреждение компилятора) в {0}</item>
+  <item id="obsoleteError">Устарело (не компилируется) в {0} и более поздних версиях</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Полное доверие для модуля немедленного вызова. Данный элемент не может использоваться кодом с частичным доверием. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Использование библиотек из не вполне надежного кода</a>.</item>
+  
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Этот параметр типа является ковариантным. Это означает, что можно использовать либо указанный тип, либо более производный тип. </item>
+  <item id="text_contravariant">Этот параметр типа является контрвариантным. Это означает, что можно использовать либо указанный тип, либо менее производный тип. </item>
+  <item id="text_variance">Дополнительные сведения о ковариации и контрвариации см. в разделе <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Ковариация и контравариация в универсальных шаблонах</a>.</item>
+  
+  <!-- Non CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Этот интерфейс API CLS-несовместим.</item>
+  <item id="boilerplate_AltClsCompliant">CLS-совместимая альтернатива - {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Этот тип имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к любому члену этого типа из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Этот член имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к этому члену из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="text_securityCritical">[ВАЖНЫЙ ЭЛЕМЕНТ БЕЗОПАСНОСТИ] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Этот член перегружен. Для получения полной информации о данном члене, включая синтаксис, использование и примеры, щелкните имя в списке перегрузок.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_systemRequirementsLink">
+	  <w:p>
+			<w:r>
+        <w:t><include item="netfw"/> и <include item="netcfw"/> поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">Требования к системе для .NET Framework</a>.</w:t>
+			</w:r>
+		</w:p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds -->
+  <item id="boilerplate_silverlightPlatforms">Список операционных систем и браузеров, поддерживаемых <include item="silverlight"/>, см. в разделе <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Поддерживаемые операционные системы и браузеры</a>.</item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+       in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.  These
+       values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- Silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><span class="Bold">XMLNS для XAML:</span> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">не имеет соответствия в xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><w:br /><w:br />В <include item="{0}"/>, этот член переопределён как {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><w:br /><w:br />В <include item="{0}"/>&#160;<include item="{1}"/>, этот член унаследован от {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><w:br /><w:br />В <include item="{0}"/>&#160;<include item="{1}"/>, этот метод является {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Этот член переопределяет {0}.</item>
+  <item id="boilerplate_useBaseSee">См. {0}.</item>
+  <item id="boilerplate_useBase">Этот член переопределяет {0}; по данной теме может быть доступна более полная документация.</item>
+
+  <item id="boilerplate_flagsSummary">Это перечисление имеет атрибут {0}, поддерживающий побитовое соединение составляющих его значений.</item>
+
+	<!-- Contracts -->
+	<item id="contracts_PureMethod">Этот метод является чистым.</item>
+	<item id="contracts_LearnMore">Узнать больше о контрактах</item>
+	<item id="contracts_Description">Описание: </item>
+	<item id="contracts_InheritedFrom">Унаследован от: </item>
+	<item id="contracts_Exception">Исключение: </item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Инициализирует новый экземпляр класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocStaticConstructor">Инициализирует статические члены класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDispose">Освобождает все ресурсы, используемые объектом <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Освобождает неуправляемые ресурсы, используемые объектом <referenceLink target="T:{0}" />, а при необходимости освобождает также управляемые ресурсы</item>
+  <item id="SMCAutoDocDisposeParam">Значение true позволяет освободить управляемые и неуправляемые ресурсы; значение false позволяет освободить только неуправляемые ресурсы.</item>
+  <item id="SMCMissingTag"><span class="MissingComment">[&lt;{0}&gt; отсутствует в документации для "{1}"]</span></item>
+  <item id="SMCMissingParamTag"><span class="MissingComment">[&lt;{0} name="{1}"/&gt; отсутствует в документации для "{2}"]</span></item>
+  <item id="SMCMissingIncludeTarget"><span class="MissingComment">[&lt;include&gt; отсутствует в '{0}'.  Файл: '{1}' Путь: '{2}']</span></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0f61dc94171102435eaa2912e4fbad0c69e280cf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/ru-RU/SharedContent.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- This is not used by the presentation style but some build components may expect it to exist -->
+	<item id="iconPath">../media/{0}</item>
+
+  <!-- Topic title -->
+  <item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- Alert titles -->
+	<item id="alert_title_tip">Подсказка</item>
+	<item id="alert_title_caution">Внимание</item>
+	<item id="alert_title_security">Примечание по безопасности</item>
+	<item id="alert_title_note">Примечание</item>
+	<item id="alert_title_important">Важно</item>
+	<item id="alert_title_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_title_visualC#">Примечание для C#</item>
+	<item id="alert_title_visualC++">Примечание для C++</item>
+	<item id="alert_title_visualJ#">Примечание для J#</item>
+	<item id="text_NotesForImplementers">Примечания для реализующих объектов</item>
+	<item id="text_NotesForCallers">Примечания для вызывающих объектов</item>
+	<item id="text_NotesForInheritors">Примечания для наследников</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">Подсказка</item>
+	<item id="alert_altText_caution">Внимание</item>
+	<item id="alert_altText_security">Примечание по безопасности</item>
+	<item id="alert_altText_note">Примечание</item>
+	<item id="alert_altText_important">Важно</item>
+	<item id="alert_altText_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_altText_visualC#">Примечание для C#</item>
+	<item id="alert_altText_visualC++">Примечание для C++</item>
+	<item id="alert_altText_visualJ#">Примечание для J#</item>
+
+  <!-- Section titles -->
+  <item id="title_remarks">Заметки</item>
+  <item id="title_changeHistory">История изменений</item>
+  <item id="title_events">События</item>
+  <item id="title_exceptions">Исключения</item>
+  <item id="title_contracts">Контракты</item>
+  <item id="title_setter">Set</item>
+  <item id="title_getter">Get</item>
+  <item id="title_seeAlso_tasks">Задачи</item>
+  <item id="title_seeAlso_reference">Ссылки</item>
+  <item id="title_seeAlso_concepts">Основные понятия</item>
+  <item id="title_seeAlso_otherResources">Другие ресурсы</item>
+
+	<item id="inline_dynamicLink_prefixText">Для получения дополнительной информации см. </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> и </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">VB и C#</item>
+	<item id="devlang_XML">XML</item>
+
+  <!-- language keywords -->
+  <item id="devlang_nullKeyword"><span class="CodeInline">null</span> (<span class="CodeInline">Nothing</span> в Visual Basic)</item>
+  <item id="devlang_staticKeyword"><span class="CodeInline">static</span> (<span class="CodeInline">Shared</span> в Visual Basic)</item>
+  <item id="devlang_virtualKeyword"><span class="CodeInline">virtual</span> (<span class="CodeInline">Overridable</span> в Visual Basic)</item>
+  <item id="devlang_trueKeyword"><span class="CodeInline">true</span> (<span class="CodeInline">True</span> в Visual Basic)</item>
+  <item id="devlang_falseKeyword"><span class="CodeInline">false</span> (<span class="CodeInline">False</span> в Visual Basic)</item>
+  <item id="devlang_abstractKeyword"><span class="CodeInline">abstract</span> (<span class="CodeInline">MustInherit</span> в Visual Basic)</item>
+  <item id="devlang_sealedKeyword"><span class="CodeInline">sealed</span> (<span class="CodeInline">NotInheritable</span> в Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="CodeInline">async</span> (<span class="CodeInline">Async</span> в Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="CodeInline">await</span> (<span class="CodeInline">Await</span> в Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="CodeInline">async</span>/<span class="CodeInline">await</span> (<span class="CodeInline">Async</span>/<span class="CodeInline">Await</span> в Visual Basic)</item>
+
+  <!-- Back to Top link text -->
+  <item id="top">В начало страницы</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/ConceptualContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/ConceptualContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..741fd2e83ee303aaa3d88668059ffc522ba743fa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/ConceptualContent.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+
+    <!-- Section titles -->
+    <item id="title_inThisSection">此节中</item>
+    <item id="title_buildInstructions">编译代码</item>
+    <item id="title_nextSteps">下一步</item>
+    <item id="title_requirements">要求</item>
+    <item id="title_relatedSections">相关内容</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_syntax">语法</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_returnValue">返回值</item>
+    <item id="title_attributesAndElements">特性和元素</item>
+    <item id="title_attributes">特性</item>
+    <item id="title_childElement">子元素</item>
+    <item id="title_parentElement">父元素</item>
+    <item id="title_elementInformation">元素信息</item>
+    <item id="title_textValue">文本值</item>
+    <item id="title_dotNetFrameworkEquivalent">.NET 框架等价项</item>
+    <item id="title_prerequisites">必备条件</item>
+    <item id="title_robustProgramming">鲁棒编程</item>
+    <item id="title_securitySection">安全性</item>
+    <item id="title_externalResources">外部资源</item>
+    <item id="title_demonstrates">演示</item>
+    <item id="title_appliesTo">应用到</item>
+    <item id="title_conclusion">结论</item>
+    <item id="title_background">背景资料</item>
+    <item id="title_whatsNew">新特性</item>
+    <item id="title_reference">参考</item>
+    <item id="title_errorMessage">错误消息</item>
+    <item id="title_example">示例</item>
+
+    <!-- AutoOutline boilerplate -->
+    <item id="boilerplate_autoOutlineTopLevelIntro">本页包含以下内容:</item>
+    <item id="boilerplate_autoOutlineSubsectionIntro">本节包含以下子节内容:</item>
+
+    <!-- Resolve the autoOutline token -->
+    <item id="autoOutline">
+        <autoOutline />
+    </item>
+
+    <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+    <item id="boilerplate_copyrightNotice">
+        <w:p>
+            <w:r>
+                <w:t>{0} &#169;{1}{2}。保留所有权力</w:t>
+            </w:r>
+        </w:p>
+    </item>
+
+    <!-- Glossary related entries -->
+    <item id="text_relatedEntries">参见:</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/ReferenceContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/ReferenceContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..639cfd16f6ce9791b69dd73a514ffd61b2d7e7ab
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/ReferenceContent.xml
@@ -0,0 +1,497 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+
+    <!-- Note text -->
+    <item id="notDocumented">此API没有对应的文档。</item>
+    <item id="preliminaryText">此API尚未最终确定,随时可能调整。</item>
+
+    <!-- Inserted boilerplate -->
+    <item id="definedBy">(由 {0} 定义。)</item>
+    <item id="inheritedFrom">(继承自 {0}。)</item>
+    <item id="overridesMember">(重写 {0}.)</item>
+    <item id="locationInformation">程序集:{0} (模块:{1})</item>
+
+    <item id="derivedClasses">派生类</item>
+    <item id="explicitInterfaceImplementation">显式的接口实现</item>
+    <item id="returnValue">返回值</item>
+    <item id="propertyValue">属性值</item>
+    <item id="fieldValue">字段值</item>
+    <item id="example">示例</item>
+
+    <!-- Topic titles -->
+    <item id="topicTitle_root">命名空间</item>
+    <item id="topicTitle_namespace">{0} 命名空间</item>
+    <item id="topicTitle_namespaceGroup">{0} 命名空间</item>
+    <item id="topicTitle_class">{0} ç±»</item>
+    <item id="topicTitle_structure">{0} 结构</item>
+    <item id="topicTitle_interface">{0} 接口</item>
+    <item id="topicTitle_derivedTypeList">{0} 派生类</item>
+
+    <item id="topicTitle_delegate">{0} 委托</item>
+    <item id="topicTitle_enumeration">{0} 枚举</item>
+    <item id="topicTitle_field">{0} 字段</item>
+    <item id="topicTitle_method">{0} 方法 {1}</item>
+    <item id="topicTitle_constructor">{0} 构造函数 {1}</item>
+    <item id="topicTitle_property">{0} 属性 {1}</item>
+    <item id="topicTitle_event">{0} 事件</item>
+
+    <!-- title for operator members -->
+    <item id="topicTitle_operator">{0} 运算符 {1}</item>
+
+    <!-- title for op_explicit and op_implicit members -->
+    <item id="topicTitle_typeConversion">{0} 转换 {1}</item>
+    <!-- title for overload op_explicit and op_implicit topics -->
+    <item id="topicTitle_conversionOperator">{0} 转换运算符</item>
+
+    <item id="topicTitle_attachedProperty">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvent">{0} 附加事件</item>
+
+    <item id="generic"> 泛型</item>
+    <item id="topicTitle_generic_class">{0} 泛型类</item>
+    <item id="topicTitle_generic_structure">{0} 泛型结构</item>
+    <item id="topicTitle_generic_interface">{0} 泛型接口</item>
+    <item id="topicTitle_generic_delegate">{0} 泛型委托</item>
+    <item id="topicTitle_generic_method">{0} 泛型方法 {1}</item>
+
+    <!-- list topic titles -->
+    <item id="topicTitle_fields">{0} 字段</item>
+    <item id="topicTitle_methods">{0} 方法</item>
+    <item id="topicTitle_enumMembers">成员</item>
+
+    <!-- title for operator list topic that has [operators + no type conversions] -->
+    <item id="topicTitle_operators">{0} 运算符</item>
+    <!-- title for operator list topic that has [operators + type conversions] -->
+    <item id="topicTitle_operatorsAndTypeConversions">{0} 运算符与类型转换</item>
+    <!-- title for operator list topic that has [no operators + type conversions] -->
+    <item id="topicTitle_typeConversions">{0} 类型转换</item>
+
+    <item id="topicTitle_constructors">{0} 构造函数</item>
+    <item id="topicTitle_properties">{0} 属性</item>
+    <item id="topicTitle_events">{0} 事件</item>
+    <item id="topicTitle_attachedProperties">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvents">{0} 附加事件</item>
+    <item id="topicTitle_members">{0} 成员</item>
+
+    <!-- section titles -->
+    <item id="title_syntax">语法</item>
+    <item id="title_templates">类型参数</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_value">值</item>
+    <item id="title_delegateValue">返回值</item>
+    <item id="title_methodValue">返回值</item>
+    <item id="title_propertyValue">属性值</item>
+    <item id="title_fieldValue">字段值</item>
+    <item id="title_implements">实现</item>
+    <item id="title_examples">示例</item>
+    <item id="title_threadSafety">线程安全性</item>
+    <item id="title_permissions">权限</item>
+    <item id="title_namespaces">命名空间</item>
+    <item id="title_types">类型</item>
+    <item id="title_family">继承层次</item>
+    <item id="title_versions">版本信息</item>
+    <item id="title_platforms">平台</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_extensionUsage">备注</item>
+    <item id="text_extensionUsage">在 Visual Basic 和 C# 中,这个方法可以当成为类型 {0} 的实例方法来调用。在采用实例方法语法调用这个方法时,请省略第一个参数。请参考 <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (Visual Basic)</a> 或 <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (C# 编程指南)</a> 获取更多信息。</item>
+
+    <!-- table headers -->
+    <item id="header_namespaceName">命名空间</item>
+    <item id="header_namespaceDescription">说明</item>
+    <item id="header_typeIcon">图标</item>
+    <item id="header_className">ç±»</item>
+    <item id="header_structureName">结构</item>
+    <item id="header_interfaceName">接口</item>
+    <item id="header_delegateName">委托</item>
+    <item id="header_enumerationName">枚举</item>
+
+    <item id="header_typeName">名称</item>
+    <item id="header_typeDescription">说明</item>
+    <item id="header_memberIcon">图标</item>
+    <item id="header_memberName">成员名称</item>
+    <item id="header_memberValue">值</item>
+    <item id="header_memberDescription">说明</item>
+    <item id="header_eventType">事件类型</item>
+    <item id="header_eventReason">原因</item>
+    <item id="header_exceptionName">异常</item>
+    <item id="header_exceptionCondition">条件</item>
+    <item id="header_permissionName">权限</item>
+    <item id="header_permissionDescription">说明</item>
+    <item id="header_requiresName">Requires</item>
+    <item id="header_ensuresName">Ensures</item>
+    <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+    <item id="header_invariantsName">Invariants</item>
+
+    <!-- Member list table titles -->
+    <item id="tableTitle_namespace">命名空间</item>
+    <item id="tableTitle_class">ç±»</item>
+    <item id="tableTitle_structure">结构</item>
+    <item id="tableTitle_interface">接口</item>
+    <item id="tableTitle_delegate">委托</item>
+    <item id="tableTitle_enumeration">枚举</item>
+    <item id="tableTitle_constructor">构造函数</item>
+    <item id="tableTitle_method">方法</item>
+    <item id="tableTitle_operator">运算符</item>
+    <item id="tableTitle_field">字段</item>
+    <item id="tableTitle_property">属性</item>
+    <item id="tableTitle_event">事件</item>
+    <item id="tableTitle_attachedEvent">附加事件</item>
+    <item id="tableTitle_attachedProperty">附加属性</item>
+    <item id="tableTitle_explicitInterfaceImplementation">显式接口实现</item>
+    <item id="tableTitle_overloadMembers">重载列表</item>
+    <item id="tableTitle_extensionMethod">扩展方法</item>
+
+    <!-- Thread Safety -->
+    <item id="text_threadSafety">线程安全</item>
+    <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/>  members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+    <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+    <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+    <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+    <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+
+    <!-- Boilerplate intro to member list tables -->
+    <item id="genericExposedMembersTableText">The {0} generic type exposes the following members.</item>
+    <item id="exposedMembersTableText">The {0} type exposes the following members.</item>	
+
+    <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+    <item id="routedEventInfoHeading">Routed Event Information</item>
+
+    <item id="Overloaded">已重载。</item>	
+    <item id="defaultNamespace">( 默认命名空间 )</item>
+
+    <item id="typeLink">Type: {0}</item>
+    <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+    <item id="typeLinkToTypeParameter">
+        <span class="Bold">{0}</span> {1} 的类型参数。</item>
+
+    <!-- Internal only boilerplate text -->
+    <item id="internalOnly">This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.</item>
+    <item id="infraStructure">Infrastructure. </item>
+
+    <!-- Obsolete boilerplate text -->
+    <item id="boilerplate_obsoleteShort">
+        <span class="Bold">Obsolete. </span>
+    </item>
+    <item id="boilerplate_obsoleteLong">
+        <span class="Bold">Note: This API is now obsolete.</span>
+    </item>
+
+    <!-- Group and SubGroup text -->
+    <item id="text_classUpper">ç±»</item>
+    <item id="text_structureUpper">结构</item>
+    <item id="text_interfaceUpper">接口</item>
+    <item id="text_delegateUpper">委托</item>
+    <item id="text_enumerationUpper">枚举</item>
+
+    <item id="text_membersUpper">成员</item>
+    <item id="text_methodsUpper">方法</item>
+    <item id="text_propertiesUpper">属性</item>
+    <item id="text_eventsUpper">事件</item>
+    <item id="text_fieldsUpper">字段</item>
+    <item id="text_operatorsUpper">运算符</item>
+    <item id="text_attachedPropertiesUpper">附加属性</item>
+    <item id="text_attachedEventsUpper">附加事件</item>
+
+    <!-- Alt text for images -->
+    <item id="altText_pubClass">公共类</item>
+    <item id="altText_pubStructure">公共结构</item>
+    <item id="altText_pubInterface">公共接口</item>
+    <item id="altText_pubDelegate">公共委托</item>
+    <item id="altText_pubEnumeration">公共枚举</item>
+    <item id="altText_protClass">受保护的类</item>
+    <item id="altText_protStructure">受保护的结构</item>
+    <item id="altText_protInterface">受保护的接口</item>
+    <item id="altText_protDelegate">受保护的委托</item>
+    <item id="altText_protEnumeration">受保护的枚举</item>
+    <item id="altText_privClass">私有类</item>
+    <item id="altText_privStructure">私有结构</item>
+    <item id="altText_privInterface">私有接口</item>
+    <item id="altText_privDelegate">私有委托</item>
+    <item id="altText_privEnumeration">私有枚举</item>
+
+    <item id="altText_pubConstructor">公共构造函数</item>
+    <item id="altText_pubMethod">公共方法</item>
+    <item id="altText_pubField">公共字段</item>
+    <item id="altText_pubProperty">公共属性</item>
+    <item id="altText_pubEvent">公共事件</item>
+    <item id="altText_pubOperator">公共运算符</item>
+    <item id="altText_pubAttachedProperty">公共的附加属性</item>
+    <item id="altText_pubAttachedEvent">公共的附加事件</item>
+    <item id="altText_protConstructor">受保护的构造函数</item>
+    <item id="altText_protMethod">受保护的方法</item>
+    <item id="altText_protField">受保护的字段</item>
+    <item id="altText_protProperty">受保护的属性</item>
+    <item id="altText_protEvent">受保护的事件</item>
+    <item id="altText_protOperator">受保护的运算符</item>
+    <item id="altText_protAttachedProperty">受保护的附加属性</item>
+    <item id="altText_protAttachedEvent">受保护的附加事件</item>
+    <item id="altText_privConstructor">私有构造函数</item>
+    <item id="altText_privMethod">私有方法</item>
+    <item id="altText_privField">私有字段</item>
+    <item id="altText_privProperty">私有属性</item>
+    <item id="altText_privEvent">私有事件</item>
+    <item id="altText_privOperator">私有运算符</item>
+    <item id="altText_privtAttachedProperty">私有附加属性</item>
+    <item id="altText_privAttachedEvent">私有附加事件</item>
+    <item id="altText_static">静态成员</item>
+    <item id="altText_pubextension">公共扩展器方法</item>
+    <item id="altText_protextension">受保护的扩展器方法</item>
+    <item id="altText_privextension">私有扩展器方法</item>
+
+    <item id="altText_CompactFramework">支持 .NET Compact Framework</item>
+    <item id="altText_XNAFramework">支持 XNA Framework</item>
+    <item id="altText_SilverlightMobile">支持 <include item="silverlight_mobile"/>
+    </item>
+    <item id="altText_ExplicitInterface">显式接口实现</item>
+    <item id="altText_CodeExample">代码示例</item>
+
+    <item id="boilerplate_seeAlsoNamespaceLink">{0} 命名空间</item>
+    <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/>
+    </item>
+    <item id="boilerplate_seeAlsoMembersLink">{0} 成员</item>
+    <item id="boilerplate_seeAlsoOverloadLink">{0} 重载</item>
+
+    <item id="boilerplate_requirementsNamespace">
+        <span class="Bold">Namespace:</span>
+    </item>
+
+    <item id="boilerplate_requirementsPlatforms">
+        <span class="Bold">Platforms:</span> {0}</item>
+
+    <item id="boilerplate_requirementsAssemblies">
+        <span class="Bold">Assemblies:</span>
+    </item>
+
+    <item id="boilerplate_requirementsAssemblyLabel">
+        <span class="Bold">Assembly:</span>
+    </item>
+
+    <item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+    <item id="boilerplate_requirementsAssembly">
+        <span class="Bold">Assembly:</span> {0} (in {1}.dll)</item>
+
+    <!-- Used for Version Information Section -->
+    <item id="supportedIn_1">支持版本:{0}</item>
+    <item id="supportedIn_2">支持版本:{0}, {1}</item>
+    <item id="supportedIn_3">支持版本:{0}, {1}, {2}</item>
+    <item id="supportedIn_4">支持版本:{0}, {1}, {2}, {3}</item>
+    <item id="supportedIn_5">支持版本:{0}, {1}, {2}, {3}, {4}</item>
+    <item id="supportedIn_6">支持版本:{0}, {1}, {2}, {3}, {4}, {5}</item>
+    <item id="supportedIn_7">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+    <item id="obsoleteWarning">已在 {0} 中过时 (编译器警告)</item>
+    <item id="obsoleteError">已在 {0} 及后续版本中过时 (无法编译)</item>
+
+
+    <!-- APTCA Boilerplate text -->
+    <item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+    <!-- Variance boilerplate text -->
+    <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+    <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+    <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+    <!-- Non CLS Compliant boilerplate text-->
+    <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+    <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+
+    <!-- Security Critical Boilerplate text-->
+    <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+    <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+    <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+
+    <!-- Overload page boilerplate -->
+    <item id="boilerplate_overloadSummary">此方法已被重载。请点击重载列表中的名称以获取该成员的完整信息,包括语法、使用方法以及示例。</item>
+
+    <!-- Platforms Information and Platform Notes --> 
+    <item id="boilerplate_systemRequirementsLink">
+        <w:p>
+            <w:r>
+                <w:t>The <include item="netfw"/> and <include item="netcfw"/> do not support all versions of every platform. For a list of the supported versions, see <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</w:t>
+            </w:r>
+        </w:p>
+    </item>
+
+    <!-- Platforms boilerplate for Silverlight mref builds -->
+    <item id="boilerplate_silverlightPlatforms">For information on the operating systems and browsers supported by <include item="silverlight"/>, see <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.</item>
+
+    <item id="Win95">Windows 95</item>
+    <item id="Win98Se">Windows 98 Second Edition</item>
+
+    <item id="WinNT4">Windows NT 4.0</item>
+    <item id="WinNT4Svr">Windows NT Server 4.0</item>
+    <item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+
+    <item id="Win2kFamily">Windows 2000</item>
+    <item id="Win2kProfessional">Windows 2000 Professional</item>
+    <item id="Win2kServer">Windows 2000 Server</item>
+    <item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+
+    <item id="WinXPPersonal">Windows XP Home Edition</item>
+    <item id="WinXPPro">Windows XP Professional x64 Edition</item>
+    <item id="WinXPSvr">
+        <include item="WinSvr2003"/>
+    </item>
+    <item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+    <item id="WinXpEmbedded">Windows XP Embedded</item>
+
+    <item id="ECMACLI">通用语言架构 (CLI) 标准</item>
+
+    <item id="MSTV">Microsoft TV</item>
+
+    <item id="Win9xFamily">
+        <include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/>
+    </item>
+    <item id="WinNt4Family">
+        <include item="WinNT4"/>
+    </item>
+    <item id="WinXpFamily">
+        <include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/>
+    </item>
+    <item id="WinCE">
+        <include item="WindowsCE"/>
+    </item>
+    <item id="Win2K">
+        <include item="WinSvr2000"/>
+    </item>
+    <item id="Win2KSvr">
+        <include item="Win2kServer"/>
+    </item>
+    <item id="Win2KADC">
+        <include item="Win2kDatacenter"/>
+    </item>
+
+    <item id="WinNt4Server">
+        <include item="WinNT4Svr"/>
+    </item>
+    <item id="WinNt4Workstation">
+        <include item="WinNT4Wks"/>
+    </item>
+    <item id="Win2kAdvanced">
+        <include item="Win2kDatacenter"/>
+    </item>
+    <item id="Win2kServerApplianceKit"/>
+    <item id="WinXpHome">
+        <include item="WinXPPersonal"/>
+    </item>
+    <item id="WinXpProfessional">
+        <include item="WinXPPro"/>
+    </item>
+    <item id="Win2003Server">
+        <include item="WinXPSvr"/>
+    </item>
+    <item id="NETCF">
+        <include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/>
+    </item>
+
+    <item id="XNA">
+        <include item="Xbox360"/>, <include item="Zune" />
+    </item>
+
+    <!-- Platform names that appear in the Platforms section on mref type and member pages.  The id values must be
+			 in sync with the platform/@name values used in the manifold platformFilters.xml filter files.  These
+			 values are also used in <platformNotes>
+  -->
+    <item id="Win98">Windows 98</item>
+    <item id="WinME">Windows Millennium Edition</item>
+    <item id="WinSvr2000">Windows Server 2000 SP4</item>
+    <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+    <item id="WinXP">Windows XP SP3</item>
+    <item id="WindowsCE">Windows CE</item>
+    <item id="PocketPC">Windows Mobile for Pocket PC</item>
+    <item id="SmartPhone">Windows Mobile for Smartphone</item>
+    <item id="WinSvr2003">Windows Server 2003</item>
+    <item id="WinSvr2008">Windows Server 2008</item>
+    <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+    <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+    <item id="WinXPSE">Windows XP Starter Edition</item>
+    <item id="WinVista">Windows Vista</item>
+    <item id="Win7">Windows 7</item>
+    <item id="Xbox360">Xbox 360</item>
+    <item id="Zune">Zune</item>
+
+    <!-- Framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+    <item id="netfw">.NET Framework</item>
+    <item id="netcfw">.NET Compact Framework</item>
+    <item id="xnafw">XNA Framework</item>
+    <item id="silverlight">Silverlight</item>
+    <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+
+    <!-- Framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+    <item id="netfw40">4.0</item>
+    <item id="netfw35_1">3.5 SP1</item>
+    <item id="netfw35">3.5</item>
+    <item id="netfw30_1">3.0 SP1</item>
+    <item id="netfw30">3.0</item>
+    <item id="netfw20_1">2.0 SP1</item>
+    <item id="netfw20">2.0</item>
+    <item id="netfw11">1.1</item>
+    <item id="netfw10">1.0</item>
+
+    <item id="netcfw37">3.7</item>
+    <item id="netcfw35">3.5</item>
+    <item id="netcfw20">2.0</item>
+    <item id="netcfw10">1.0</item>
+
+    <item id="xnafw10">1.0</item>
+
+    <!-- Silverlight version ids used in Version Information section. -->
+    <item id="silverlight10">1.0</item>
+    <item id="silverlight20">2.0</item>
+    <item id="silverlight_v3">3.0</item>
+    <item id="silverlight_v4">4.0</item>
+    <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+    <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+    <item id="boilerplate_xamlXmlnsRequirements">
+        <span class="Bold">XMLNS for XAML:</span> {0}</item>
+    <item id="boilerplate_unmappedXamlXmlns">Not mapped to an xmlns.</item>
+
+    <item id="boilerplate_secondaryFrameworkOverride">
+        <w:br />
+        <w:br />In <include item="{0}"/>, this member is overridden by {1}.</item>
+    <item id="boilerplate_secondaryFrameworkInherited">
+        <w:br />
+        <w:br />In <include item="{0}"/><include item="{1}"/>, this member is inherited from {2}{3}{4}.</item>
+    <item id="boilerplate_secondaryFrameworkMember">
+        <w:br />
+        <w:br />In <include item="{0}"/><include item="{1}"/>, this member is {2}.</item>
+
+    <item id="boilerplate_useBaseSummary">This member overrides {0}.</item>
+    <item id="boilerplate_useBaseSee">See {0}.</item>
+    <item id="boilerplate_useBase">This member overrides {0}, and more complete documentation might be available in that topic.</item>
+
+    <item id="boilerplate_flagsSummary">This enumeration has a {0} attribute that allows a bitwise combination of its member values.</item>
+
+    <!-- Contracts -->
+    <item id="contracts_PureMethod">This method is pure.</item>
+    <item id="contracts_LearnMore">Learn more about contracts</item>
+    <item id="contracts_Description">Description: </item>
+    <item id="contracts_InheritedFrom">Inherited From: </item>
+    <item id="contracts_Exception">Exception: </item>
+
+    <!-- Show Missing Component messages -->
+    <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+    <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+    <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" />
+    </item>
+    <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+    <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+    <item id="SMCMissingTag">
+        <span class="MissingComment">[Missing &lt;{0}&gt; documentation for "{1}"]</span>
+    </item>
+    <item id="SMCMissingParamTag">
+        <span class="MissingComment">[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"]</span>
+    </item>
+    <item id="SMCMissingIncludeTarget">
+        <span class="MissingComment">[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}']</span>
+    </item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/SharedContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/SharedContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7dab53660957acd8ba569316e607d92a7a38addf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Content/zh-CN/SharedContent.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+    <!-- This is not used by the presentation style but some build components may expect it to exist -->
+    <item id="iconPath">../media/{0}</item>
+
+    <!-- Topic title -->
+    <item id="boilerplate_pageTitle">{0}</item>
+
+    <!-- Alert titles -->
+	<item id="alert_title_tip"><b>提示:</b></item>
+	<item id="alert_title_caution"><b>警告:</b></item>
+	<item id="alert_title_security"><b>安全性事项:</b></item>
+	<item id="alert_title_note"><b>备注:</b></item>
+	<item id="alert_title_important"><b>重要事项</b></item>
+	<item id="alert_title_visualBasic"><b>Visual Basic备注:</b></item>
+	<item id="alert_title_visualC#"><b>C# 备注:</b></item>
+	<item id="alert_title_visualC++"><b>C++ 备注:</b></item>
+	<item id="alert_title_visualJ#"><b>J# 备注:</b></item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- Alert alt text -->
+	<item id="alert_altText_tip">提示</item>
+	<item id="alert_altText_caution">警告</item>
+	<item id="alert_altText_security">安全性事项</item>
+	<item id="alert_altText_note">备注</item>
+	<item id="alert_altText_important">重要事项</item>
+	<item id="alert_altText_visualBasic">Visual Basic备注</item>
+	<item id="alert_altText_visualC#">C#备注</item>
+	<item id="alert_altText_visualC++">C++备注</item>
+	<item id="alert_altText_visualJ#">J#备注</item>	
+
+    <!-- Section titles -->
+	<item id="title_remarks">备注</item>
+	<item id="title_changeHistory">修订历史</item>
+	<item id="title_events">事件</item>
+	<item id="title_exceptions">异常</item>
+	<item id="title_contracts">约定</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">任务</item>
+	<item id="title_seeAlso_reference">引用</item>
+	<item id="title_seeAlso_concepts">概念</item>
+	<item id="title_seeAlso_otherResources">其他资源</item>
+
+    <item id="inline_dynamicLink_prefixText">要获取更多信息,请参考 </item>
+    <item id="inline_dynamicLink_postfixText">.</item>
+    <item id="inline_dynamicLink_separatorText"> 和 </item>
+
+    <!-- Development language and code snippet titles for languages without a syntax generator -->
+		<item id="devlang_batch">Batch Script</item>
+    <item id="devlang_HTML">HTML</item>
+    <item id="devlang_PShell">PowerShell</item>
+    <item id="devlang_Python">Python</item>
+    <item id="devlang_SQL">SQL</item>
+    <item id="devlang_VBScript">Visual Basic Script</item>
+    <item id="devlang_VisualBasicAndCSharp">Visual Basic 和 C#</item>
+    <item id="devlang_XML">XML</item>
+
+    <!-- Language keywords -->
+    <item id="devlang_nullKeyword">a null reference (<span class="CodeInline">Nothing</span> in Visual Basic)</item>
+    <item id="devlang_staticKeyword"><span class="CodeInline">static</span> (<span class="CodeInline">Shared</span> in Visual Basic)</item>
+    <item id="devlang_virtualKeyword"><span class="CodeInline">virtual</span> (<span class="CodeInline">Overridable</span> in Visual Basic)</item>
+    <item id="devlang_trueKeyword"><span class="CodeInline">true</span> (<span class="CodeInline">True</span> in Visual Basic)</item>
+    <item id="devlang_falseKeyword"><span class="CodeInline">false</span> (<span class="CodeInline">False</span> in Visual Basic)</item>
+    <item id="devlang_abstractKeyword"><span class="CodeInline">abstract</span> (<span class="CodeInline">MustInherit</span> in Visual Basic)</item>
+    <item id="devlang_sealedKeyword"><span class="CodeInline">sealed</span> (<span class="CodeInline">NotInheritable</span> in Visual Basic)</item>
+    <item id="devlang_asyncKeyword"><span class="CodeInline">async</span> (<span class="CodeInline">Async</span> in Visual Basic)</item>
+    <item id="devlang_awaitKeyword"><span class="CodeInline">await</span> (<span class="CodeInline">Await</span> in Visual Basic)</item>
+    <item id="devlang_asyncAwaitKeyword"><span class="CodeInline">async</span>/<span class="CodeInline">await</span> (<span class="CodeInline">Async</span>/<span class="CodeInline">Await</span> in Visual Basic)</item>
+
+    <!-- Back to Top link text -->
+    <item id="top">返回到顶部</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/Content_Types.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/Content_Types.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0d459882077c3c613ec8f6c2c611415146d71bcf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/Content_Types.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
+	<Default Extension="bmp" ContentType="image/bmp" />
+	<Default Extension="gif" ContentType="image/gif" />
+	<Default Extension="ico" ContentType="image/x-icon" />
+	<Default Extension="jpg" ContentType="image/jpg" />
+	<Default Extension="png" ContentType="image/png" />
+	<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
+	<Default Extension="xml" ContentType="application/xml"/>
+	<Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/>
+	<Override PartName="/word/numbering.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"/>
+	<Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/>
+	<Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/>
+	<Override PartName="/word/webSettings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/>
+	<Override PartName="/word/fontTable.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/>
+	<Override PartName="/word/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/>
+	<Override PartName="/word/header1.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml"/>
+	<Override PartName="/word/footer1.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/>
+	<Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>
+	<Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/>
+	<Override PartName="/docProps/custom.xml" ContentType="application/vnd.openxmlformats-officedocument.custom-properties+xml"/>
+</Types>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/_rels/rels.xml_rels b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/_rels/rels.xml_rels
new file mode 100644
index 0000000000000000000000000000000000000000..a0d62bc61e6201ac192699ae9fa8309a0ace2326
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/_rels/rels.xml_rels
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
+	<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
+	<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
+	<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/>
+	<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" Target="docProps/custom.xml"/>
+</Relationships>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/app.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/app.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c9204356cd7d643919a6216644ceaa6124af8ecf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/app.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
+						xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
+	<Template>Normal.dotm</Template>
+	<Application>Microsoft Office Word</Application>
+	<DocSecurity>0</DocSecurity>
+	<ScaleCrop>false</ScaleCrop>
+	<TitlesOfParts>
+		<vt:vector size="1" baseType="lpstr">
+			<vt:lpstr>{@HtmlEncHelpTitle}</vt:lpstr>
+		</vt:vector>
+	</TitlesOfParts>
+	<Company>{@HtmlEncVendorName}</Company>
+	<LinksUpToDate>false</LinksUpToDate>
+	<SharedDoc>false</SharedDoc>
+	<HyperlinksChanged>false</HyperlinksChanged>
+	<AppVersion>15.0000</AppVersion>
+</Properties>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/core.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/core.xml
new file mode 100644
index 0000000000000000000000000000000000000000..417cb4bacef13f20420aa0c56510fea1c0237264
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/core.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
+									 xmlns:dc="http://purl.org/dc/elements/1.1/"
+									 xmlns:dcterms="http://purl.org/dc/terms/"
+									 xmlns:dcmitype="http://purl.org/dc/dcmitype/"
+									 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<dc:title>{@HtmlEncHelpTitle}</dc:title>
+	<dc:creator>{@HtmlEncVendorName}</dc:creator>
+	<dc:description>{@HtmlEncCopyrightText}</dc:description>
+	<cp:lastModifiedBy>Sandcastle Help File Builder</cp:lastModifiedBy>
+	<cp:revision>1</cp:revision>
+	<dcterms:created xsi:type="dcterms:W3CDTF">{@BuildDate:yyyy-MM-ddTHH:mm:ssK}</dcterms:created>
+</cp:coreProperties>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/custom.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/custom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2e4310c3e41f423c776eac28eae3bea17930c0c2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/docProps/custom.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"
+						xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
+	<property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="2" name="Language">
+		<vt:lpwstr>{@Locale}</vt:lpwstr>
+	</property>
+</Properties>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/CFW.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/CFW.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbcabf1b2d1322c6e205b1ff5f5ab17a4565522d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/CFW.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/CodeExample.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/CodeExample.png
new file mode 100644
index 0000000000000000000000000000000000000000..a3b9fba4cc5f29460d711dddb32b79b85783af9a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/CodeExample.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_caution.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_caution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a3139226d6d333a00a096d7e633d2973b44c7ed4
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_caution.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_note.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_note.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3393af356494b91fbbe6a6bc54591a05bca980f6
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_note.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_security.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_security.gif
new file mode 100644
index 0000000000000000000000000000000000000000..48661ce7426c682f97dc9b27f58d6ef3a7184e89
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/alert_security.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0939694ce08ad44508f6f017b68e46f0f22377b9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3aa8a65ef5277c6682f106de956da036c50d363
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..47f387ec2bf4ca4d6b1381cbe8c843912b6c616a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30db46df766c1b49bf86b168eaae03052ce8f292
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..51dd267f0f7fa11a657ef51a69cb9159ced8775f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbf70f7a3fc3875ee62d9a4dacf3a088e60f2eff
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f3b7950adc741c7b4085da8ab52167435bec317c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71f882264291eb056bc55dce1c73f9b7cae1aa4a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1e8074654b3fc0601b0302f1be7b39f5bf5eb7b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed6d1ef68f8736e5c05137be2af0ff7714ddb85b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/privstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9294292a9b5f94a281de7657b5555d06bb4a96
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b209f2d816d78188dbcd93907917d7a0ef34eaa9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cc96bb635982abc9d306f219ebdd71d29f95757c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e510b272cfca80656561d1d699dc644a4bce266
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dcd07f5e1a673de3120e3f82e6f8c24f8bcd723b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ae6833e0821dae813c941500d1e12a88c7c334f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1b96d2c6a0b681cb6d65d30f8e212a3c2d29081
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bc946873495112cc5b27bf66ea0d10ca8f30367
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protoperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protoperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2cb75ab8b05d4b8d65401c5270ae31836ce04f9b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protoperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55473d16e1321bc3e4cbcb5a165f51a55f9f07a0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af356a1db0b8e8821d2f6c94734b98354875e85d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/protstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1a968ab633207f47ec5e3130ec676f0d43598bb0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a43eb261adccddee2206769150a9e2d964ed136
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..46888adef937f09868b1aff485010ad847625183
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9226da8b49c88296ed4a10835b0b69212431473
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6262d1cca8a4286063ae8f168488a1d7c8587dcc
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5aed17576f4493ccfdb12f7a8a55fa2cbd74041c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c38a4c46a9a7603bc498664c294c7c06a713e555
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2c72988f50ab32eba45ccf5e52b5807c4a7ffa1b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/puboperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/puboperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0ebe10a7ec532625741cc8668b1126f2553cdc9c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/puboperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dfad7b43006984b0d27846a9c6d23d9bfb94ec95
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1344416abc3801850d955fb78969243e32976d9d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/pubstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/slMobile.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/slMobile.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5edc31f94c61a7a50c3285ef00dcbe86e8690974
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/slMobile.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/static.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/static.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33723a92be0a7b2b9fc8057fb6f9a2a3ee729a7e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/static.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/xna.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/xna.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9e6a9d4bd9ecdc3baf35f6c5a0266e74229bd901
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/media/xna.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/_rels/document.xml_rels b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/_rels/document.xml_rels
new file mode 100644
index 0000000000000000000000000000000000000000..46fbd64436a0e8128445ea7c63a4a4df9813f8ff
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/_rels/document.xml_rels
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
+	<Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/>
+	<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
+	<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering" Target="numbering.xml"/>
+	<Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/>
+	<Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" Target="webSettings.xml"/>
+	<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/>
+	<Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" Target="header1.xml"/>
+	<Relationship Id="rId9" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footer1.xml"/>
+</Relationships>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/document.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/document.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c7249b6009b7698c9bf186955e9df6b6e843652d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/document.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
+						xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+						xmlns:o="urn:schemas-microsoft-com:office:office"
+						xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+						xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+						xmlns:v="urn:schemas-microsoft-com:vml"
+						xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
+						xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+						xmlns:w10="urn:schemas-microsoft-com:office:word"
+						xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+						xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+						xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
+						xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
+						xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
+						xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
+						xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+						xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main"
+						xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"
+						mc:Ignorable="w14 wp14">
+	<w:body>
+		<w:sectPr>
+			<w:headerReference w:type="default" r:id="rId8"/>
+			<w:footerReference w:type="default" r:id="rId9"/>
+			<w:pgSz w:w="12240" w:h="15840"/>
+			<w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/>
+			<w:cols w:space="720"/>
+			<w:docGrid w:linePitch="360"/>
+		</w:sectPr>
+	</w:body>
+</w:document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/fontTable.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/fontTable.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3bed1311eee46009be3ef4551522d2baec39605b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/fontTable.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:fonts xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+				 xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+				 xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+				 xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+				 mc:Ignorable="w14">
+	<w:font w:name="Symbol">
+		<w:panose1 w:val="05050102010706020507"/>
+		<w:charset w:val="02"/>
+		<w:family w:val="roman"/>
+		<w:pitch w:val="variable"/>
+		<w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" w:csb0="80000000" w:csb1="00000000"/>
+	</w:font>
+	<w:font w:name="Times New Roman">
+		<w:panose1 w:val="02020603050405020304"/>
+		<w:charset w:val="00"/>
+		<w:family w:val="roman"/>
+		<w:pitch w:val="variable"/>
+		<w:sig w:usb0="E0002EFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/>
+	</w:font>
+	<w:font w:name="Courier New">
+		<w:panose1 w:val="02070309020205020404"/>
+		<w:charset w:val="00"/>
+		<w:family w:val="modern"/>
+		<w:pitch w:val="fixed"/>
+		<w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/>
+	</w:font>
+	<w:font w:name="Wingdings">
+		<w:panose1 w:val="05000000000000000000"/>
+		<w:charset w:val="02"/>
+		<w:family w:val="auto"/>
+		<w:pitch w:val="variable"/>
+		<w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" w:csb0="80000000" w:csb1="00000000"/>
+	</w:font>
+	<w:font w:name="Calibri">
+		<w:panose1 w:val="020F0502020204030204"/>
+		<w:charset w:val="00"/>
+		<w:family w:val="swiss"/>
+		<w:pitch w:val="variable"/>
+		<w:sig w:usb0="E00002FF" w:usb1="4000ACFF" w:usb2="00000001" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/>
+	</w:font>
+	<w:font w:name="Calibri Light">
+		<w:panose1 w:val="020F0302020204030204"/>
+		<w:charset w:val="00"/>
+		<w:family w:val="swiss"/>
+		<w:pitch w:val="variable"/>
+		<w:sig w:usb0="A00002EF" w:usb1="4000207B" w:usb2="00000000" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/>
+	</w:font>
+</w:fonts>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/footer1.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/footer1.xml
new file mode 100644
index 0000000000000000000000000000000000000000..21afe1ef7f5af2ae6d642917e917874f892e90a9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/footer1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:ftr xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
+			 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+			 xmlns:o="urn:schemas-microsoft-com:office:office"
+			 xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+			 xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+			 xmlns:v="urn:schemas-microsoft-com:vml"
+			 xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
+			 xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+			 xmlns:w10="urn:schemas-microsoft-com:office:word"
+			 xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+			 xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+			 xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
+			 xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
+			 xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
+			 xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
+			 mc:Ignorable="w14 wp14">
+	<w:p>
+		<w:pPr>
+			<w:pStyle w:val="Footer"/>
+			<w:jc w:val="right"/>
+		</w:pPr>
+		<w:r>
+			<w:fldChar w:fldCharType="begin"/>
+		</w:r>
+		<w:r>
+			<w:instrText xml:space="preserve"> PAGE \* MERGEFORMAT </w:instrText>
+		</w:r>
+		<w:r>
+			<w:fldChar w:fldCharType="separate"/>
+		</w:r>
+		<w:r>
+			<w:rPr>
+				<w:noProof/>
+			</w:rPr>
+			<w:t>1</w:t>
+		</w:r>
+		<w:r>
+			<w:fldChar w:fldCharType="end"/>
+		</w:r>
+	</w:p>
+</w:ftr>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/header1.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/header1.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3d6202330f27b89509b07e5a4b3baadb84e64d2a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/header1.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:hdr xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
+			 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+			 xmlns:o="urn:schemas-microsoft-com:office:office"
+			 xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+			 xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+			 xmlns:v="urn:schemas-microsoft-com:vml"
+			 xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
+			 xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+			 xmlns:w10="urn:schemas-microsoft-com:office:word"
+			 xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+			 xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+			 xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
+			 xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
+			 xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
+			 xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
+			 mc:Ignorable="w14 wp14">
+	<w:p>
+		<w:pPr>
+			<w:pStyle w:val="Header"/>
+			<w:rPr>
+				<w:rStyle w:val="Emphasis"/>
+			</w:rPr>
+		</w:pPr>
+		<w:r>
+			<w:rPr>
+				<w:rStyle w:val="Emphasis"/>
+			</w:rPr>
+			<w:t xml:space="preserve">{@HtmlEncHelpTitle}</w:t>
+		</w:r>
+	</w:p>
+</w:hdr>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/numbering.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/numbering.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5cb130758d5c12d033a427a43efef69ad98a5f9f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/numbering.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:numbering xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
+						 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+						 xmlns:o="urn:schemas-microsoft-com:office:office"
+						 xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+						 xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+						 xmlns:v="urn:schemas-microsoft-com:vml"
+						 xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
+						 xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+						 xmlns:w10="urn:schemas-microsoft-com:office:word"
+						 xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+						 xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+						 xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
+						 xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
+						 xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
+						 xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
+						 mc:Ignorable="w14 wp14">
+	<w:abstractNum w:abstractNumId="0">
+		<w:nsid w:val="326D4DF5"/>
+		<w:multiLevelType w:val="hybridMultilevel"/>
+		<w:lvl w:ilvl="0">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="&#xF0B7;"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="720" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Symbol" w:hAnsi="Symbol" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="1">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="o"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="1440" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="2">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="&#xF0A7;"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="2160" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Wingdings" w:hAnsi="Wingdings" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="3">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="&#xF0B7;"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="2880" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Symbol" w:hAnsi="Symbol" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="4">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="o"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="3600" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="5">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="&#xF0A7;"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="4320" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Wingdings" w:hAnsi="Wingdings" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="6">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="&#xF0B7;"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="5040" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Symbol" w:hAnsi="Symbol" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="7">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="o"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="5760" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+		<w:lvl w:ilvl="8">
+			<w:start w:val="1"/>
+			<w:numFmt w:val="bullet"/>
+			<w:lvlText w:val="&#xF0A7;"/>
+			<w:lvlJc w:val="left"/>
+			<w:pPr>
+				<w:ind w:left="6480" w:hanging="360"/>
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Wingdings" w:hAnsi="Wingdings" w:hint="default"/>
+			</w:rPr>
+		</w:lvl>
+	</w:abstractNum>
+	<w:num w:numId="1">
+		<w:abstractNumId w:val="0"/>
+	</w:num>
+</w:numbering>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/settings.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/settings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e63560f324b70cd59ad9a0ac7b0c89a4637a8064
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/settings.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:settings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+						xmlns:o="urn:schemas-microsoft-com:office:office"
+						xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+						xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+						xmlns:v="urn:schemas-microsoft-com:vml"
+						xmlns:w10="urn:schemas-microsoft-com:office:word"
+						xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+						xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+						xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main"
+						mc:Ignorable="w14">
+	<w:zoom w:percent="100"/>
+	<w:proofState w:spelling="clean" w:grammar="clean"/>
+	<w:defaultTabStop w:val="720"/>
+	<w:characterSpacingControl w:val="doNotCompress"/>
+	<w:compat>
+		<w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="15"/>
+		<w:compatSetting w:name="overrideTableStyleFontSizeAndJustification" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
+		<w:compatSetting w:name="enableOpenTypeFeatures" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
+		<w:compatSetting w:name="doNotFlipMirrorIndents" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
+		<w:compatSetting w:name="differentiateMultirowTableHeaders" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
+	</w:compat>
+	<m:mathPr>
+		<m:mathFont m:val="Cambria Math"/>
+		<m:brkBin m:val="before"/>
+		<m:brkBinSub m:val="--"/>
+		<m:smallFrac m:val="0"/>
+		<m:dispDef/>
+		<m:lMargin m:val="0"/>
+		<m:rMargin m:val="0"/>
+		<m:defJc m:val="centerGroup"/>
+		<m:wrapIndent m:val="1440"/>
+		<m:intLim m:val="subSup"/>
+		<m:naryLim m:val="undOvr"/>
+	</m:mathPr>
+	<w:themeFontLang w:val="en-US"/>
+	<w:clrSchemeMapping w:bg1="light1" w:t1="dark1" w:bg2="light2" w:t2="dark2" w:accent1="accent1" w:accent2="accent2" w:accent3="accent3" w:accent4="accent4" w:accent5="accent5" w:accent6="accent6" w:hyperlink="hyperlink" w:followedHyperlink="followedHyperlink"/>
+	<w:shapeDefaults>
+		<o:shapedefaults v:ext="edit" spidmax="1026"/>
+		<o:shapelayout v:ext="edit">
+			<o:idmap v:ext="edit" data="1"/>
+		</o:shapelayout>
+	</w:shapeDefaults>
+	<w:decimalSymbol w:val="."/>
+	<w:listSeparator w:val=","/>
+</w:settings>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/styles.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/styles.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b0355c4e5cb1b2eef3279b250c63884d4868de5f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/styles.xml
@@ -0,0 +1,1191 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:styles xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+					xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+					xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+					xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+					mc:Ignorable="w14">
+	<w:docDefaults>
+		<w:rPrDefault>
+			<w:rPr>
+				<w:rFonts w:asciiTheme="minorHAnsi" w:eastAsiaTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cstheme="minorBidi"/>
+				<w:sz w:val="22"/>
+				<w:szCs w:val="22"/>
+				<w:lang w:val="en-US" w:eastAsia="en-US" w:bidi="ar-SA"/>
+			</w:rPr>
+		</w:rPrDefault>
+		<w:pPrDefault>
+			<w:pPr>
+				<w:spacing w:after="160" w:line="259" w:lineRule="auto"/>
+			</w:pPr>
+		</w:pPrDefault>
+	</w:docDefaults>
+	<w:latentStyles w:defLockedState="0" w:defUIPriority="99" w:defSemiHidden="0" w:defUnhideWhenUsed="0" w:defQFormat="0" w:count="371">
+		<w:lsdException w:name="Normal" w:uiPriority="0" w:qFormat="1"/>
+		<w:lsdException w:name="heading 1" w:uiPriority="9" w:qFormat="1"/>
+		<w:lsdException w:name="heading 2" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="heading 3" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="heading 4" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="heading 5" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="heading 6" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="heading 7" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="heading 8" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="heading 9" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="index 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 6" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 7" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 8" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index 9" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 1" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 2" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 3" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 4" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 5" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 6" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 7" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 8" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toc 9" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Normal Indent" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="footnote text" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="annotation text" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="header" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="footer" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="index heading" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="caption" w:semiHidden="1" w:uiPriority="35" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="table of figures" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="envelope address" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="envelope return" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="footnote reference" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="annotation reference" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="line number" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="page number" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="endnote reference" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="endnote text" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="table of authorities" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="macro" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="toa heading" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Bullet" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Number" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Bullet 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Bullet 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Bullet 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Bullet 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Number 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Number 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Number 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Number 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Title" w:uiPriority="10" w:qFormat="1"/>
+		<w:lsdException w:name="Closing" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Signature" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Default Paragraph Font" w:semiHidden="1" w:uiPriority="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text Indent" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Continue" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Continue 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Continue 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Continue 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="List Continue 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Message Header" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Subtitle" w:uiPriority="11" w:qFormat="1"/>
+		<w:lsdException w:name="Salutation" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Date" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text First Indent" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text First Indent 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Note Heading" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text Indent 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Body Text Indent 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Block Text" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Hyperlink" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="FollowedHyperlink" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Strong" w:uiPriority="22" w:qFormat="1"/>
+		<w:lsdException w:name="Emphasis" w:uiPriority="20" w:qFormat="1"/>
+		<w:lsdException w:name="Document Map" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Plain Text" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="E-mail Signature" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Top of Form" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Bottom of Form" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Normal (Web)" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Acronym" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Address" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Cite" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Code" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Definition" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Keyboard" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Preformatted" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Sample" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Typewriter" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="HTML Variable" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Normal Table" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="annotation subject" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="No List" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Outline List 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Outline List 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Outline List 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Simple 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Simple 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Simple 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Classic 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Classic 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Classic 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Classic 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Colorful 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Colorful 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Colorful 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Columns 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Columns 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Columns 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Columns 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Columns 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 6" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 7" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid 8" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 4" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 5" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 6" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 7" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table List 8" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table 3D effects 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table 3D effects 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table 3D effects 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Contemporary" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Elegant" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Professional" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Subtle 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Subtle 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Web 1" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Web 2" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Web 3" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Balloon Text" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Table Grid" w:uiPriority="39"/>
+		<w:lsdException w:name="Table Theme" w:semiHidden="1" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="Placeholder Text" w:semiHidden="1"/>
+		<w:lsdException w:name="No Spacing" w:uiPriority="1" w:qFormat="1"/>
+		<w:lsdException w:name="Light Shading" w:uiPriority="60"/>
+		<w:lsdException w:name="Light List" w:uiPriority="61"/>
+		<w:lsdException w:name="Light Grid" w:uiPriority="62"/>
+		<w:lsdException w:name="Medium Shading 1" w:uiPriority="63"/>
+		<w:lsdException w:name="Medium Shading 2" w:uiPriority="64"/>
+		<w:lsdException w:name="Medium List 1" w:uiPriority="65"/>
+		<w:lsdException w:name="Medium List 2" w:uiPriority="66"/>
+		<w:lsdException w:name="Medium Grid 1" w:uiPriority="67"/>
+		<w:lsdException w:name="Medium Grid 2" w:uiPriority="68"/>
+		<w:lsdException w:name="Medium Grid 3" w:uiPriority="69"/>
+		<w:lsdException w:name="Dark List" w:uiPriority="70"/>
+		<w:lsdException w:name="Colorful Shading" w:uiPriority="71"/>
+		<w:lsdException w:name="Colorful List" w:uiPriority="72"/>
+		<w:lsdException w:name="Colorful Grid" w:uiPriority="73"/>
+		<w:lsdException w:name="Light Shading Accent 1" w:uiPriority="60"/>
+		<w:lsdException w:name="Light List Accent 1" w:uiPriority="61"/>
+		<w:lsdException w:name="Light Grid Accent 1" w:uiPriority="62"/>
+		<w:lsdException w:name="Medium Shading 1 Accent 1" w:uiPriority="63"/>
+		<w:lsdException w:name="Medium Shading 2 Accent 1" w:uiPriority="64"/>
+		<w:lsdException w:name="Medium List 1 Accent 1" w:uiPriority="65"/>
+		<w:lsdException w:name="Revision" w:semiHidden="1"/>
+		<w:lsdException w:name="List Paragraph" w:uiPriority="34" w:qFormat="1"/>
+		<w:lsdException w:name="Quote" w:uiPriority="29" w:qFormat="1"/>
+		<w:lsdException w:name="Intense Quote" w:uiPriority="30" w:qFormat="1"/>
+		<w:lsdException w:name="Medium List 2 Accent 1" w:uiPriority="66"/>
+		<w:lsdException w:name="Medium Grid 1 Accent 1" w:uiPriority="67"/>
+		<w:lsdException w:name="Medium Grid 2 Accent 1" w:uiPriority="68"/>
+		<w:lsdException w:name="Medium Grid 3 Accent 1" w:uiPriority="69"/>
+		<w:lsdException w:name="Dark List Accent 1" w:uiPriority="70"/>
+		<w:lsdException w:name="Colorful Shading Accent 1" w:uiPriority="71"/>
+		<w:lsdException w:name="Colorful List Accent 1" w:uiPriority="72"/>
+		<w:lsdException w:name="Colorful Grid Accent 1" w:uiPriority="73"/>
+		<w:lsdException w:name="Light Shading Accent 2" w:uiPriority="60"/>
+		<w:lsdException w:name="Light List Accent 2" w:uiPriority="61"/>
+		<w:lsdException w:name="Light Grid Accent 2" w:uiPriority="62"/>
+		<w:lsdException w:name="Medium Shading 1 Accent 2" w:uiPriority="63"/>
+		<w:lsdException w:name="Medium Shading 2 Accent 2" w:uiPriority="64"/>
+		<w:lsdException w:name="Medium List 1 Accent 2" w:uiPriority="65"/>
+		<w:lsdException w:name="Medium List 2 Accent 2" w:uiPriority="66"/>
+		<w:lsdException w:name="Medium Grid 1 Accent 2" w:uiPriority="67"/>
+		<w:lsdException w:name="Medium Grid 2 Accent 2" w:uiPriority="68"/>
+		<w:lsdException w:name="Medium Grid 3 Accent 2" w:uiPriority="69"/>
+		<w:lsdException w:name="Dark List Accent 2" w:uiPriority="70"/>
+		<w:lsdException w:name="Colorful Shading Accent 2" w:uiPriority="71"/>
+		<w:lsdException w:name="Colorful List Accent 2" w:uiPriority="72"/>
+		<w:lsdException w:name="Colorful Grid Accent 2" w:uiPriority="73"/>
+		<w:lsdException w:name="Light Shading Accent 3" w:uiPriority="60"/>
+		<w:lsdException w:name="Light List Accent 3" w:uiPriority="61"/>
+		<w:lsdException w:name="Light Grid Accent 3" w:uiPriority="62"/>
+		<w:lsdException w:name="Medium Shading 1 Accent 3" w:uiPriority="63"/>
+		<w:lsdException w:name="Medium Shading 2 Accent 3" w:uiPriority="64"/>
+		<w:lsdException w:name="Medium List 1 Accent 3" w:uiPriority="65"/>
+		<w:lsdException w:name="Medium List 2 Accent 3" w:uiPriority="66"/>
+		<w:lsdException w:name="Medium Grid 1 Accent 3" w:uiPriority="67"/>
+		<w:lsdException w:name="Medium Grid 2 Accent 3" w:uiPriority="68"/>
+		<w:lsdException w:name="Medium Grid 3 Accent 3" w:uiPriority="69"/>
+		<w:lsdException w:name="Dark List Accent 3" w:uiPriority="70"/>
+		<w:lsdException w:name="Colorful Shading Accent 3" w:uiPriority="71"/>
+		<w:lsdException w:name="Colorful List Accent 3" w:uiPriority="72"/>
+		<w:lsdException w:name="Colorful Grid Accent 3" w:uiPriority="73"/>
+		<w:lsdException w:name="Light Shading Accent 4" w:uiPriority="60"/>
+		<w:lsdException w:name="Light List Accent 4" w:uiPriority="61"/>
+		<w:lsdException w:name="Light Grid Accent 4" w:uiPriority="62"/>
+		<w:lsdException w:name="Medium Shading 1 Accent 4" w:uiPriority="63"/>
+		<w:lsdException w:name="Medium Shading 2 Accent 4" w:uiPriority="64"/>
+		<w:lsdException w:name="Medium List 1 Accent 4" w:uiPriority="65"/>
+		<w:lsdException w:name="Medium List 2 Accent 4" w:uiPriority="66"/>
+		<w:lsdException w:name="Medium Grid 1 Accent 4" w:uiPriority="67"/>
+		<w:lsdException w:name="Medium Grid 2 Accent 4" w:uiPriority="68"/>
+		<w:lsdException w:name="Medium Grid 3 Accent 4" w:uiPriority="69"/>
+		<w:lsdException w:name="Dark List Accent 4" w:uiPriority="70"/>
+		<w:lsdException w:name="Colorful Shading Accent 4" w:uiPriority="71"/>
+		<w:lsdException w:name="Colorful List Accent 4" w:uiPriority="72"/>
+		<w:lsdException w:name="Colorful Grid Accent 4" w:uiPriority="73"/>
+		<w:lsdException w:name="Light Shading Accent 5" w:uiPriority="60"/>
+		<w:lsdException w:name="Light List Accent 5" w:uiPriority="61"/>
+		<w:lsdException w:name="Light Grid Accent 5" w:uiPriority="62"/>
+		<w:lsdException w:name="Medium Shading 1 Accent 5" w:uiPriority="63"/>
+		<w:lsdException w:name="Medium Shading 2 Accent 5" w:uiPriority="64"/>
+		<w:lsdException w:name="Medium List 1 Accent 5" w:uiPriority="65"/>
+		<w:lsdException w:name="Medium List 2 Accent 5" w:uiPriority="66"/>
+		<w:lsdException w:name="Medium Grid 1 Accent 5" w:uiPriority="67"/>
+		<w:lsdException w:name="Medium Grid 2 Accent 5" w:uiPriority="68"/>
+		<w:lsdException w:name="Medium Grid 3 Accent 5" w:uiPriority="69"/>
+		<w:lsdException w:name="Dark List Accent 5" w:uiPriority="70"/>
+		<w:lsdException w:name="Colorful Shading Accent 5" w:uiPriority="71"/>
+		<w:lsdException w:name="Colorful List Accent 5" w:uiPriority="72"/>
+		<w:lsdException w:name="Colorful Grid Accent 5" w:uiPriority="73"/>
+		<w:lsdException w:name="Light Shading Accent 6" w:uiPriority="60"/>
+		<w:lsdException w:name="Light List Accent 6" w:uiPriority="61"/>
+		<w:lsdException w:name="Light Grid Accent 6" w:uiPriority="62"/>
+		<w:lsdException w:name="Medium Shading 1 Accent 6" w:uiPriority="63"/>
+		<w:lsdException w:name="Medium Shading 2 Accent 6" w:uiPriority="64"/>
+		<w:lsdException w:name="Medium List 1 Accent 6" w:uiPriority="65"/>
+		<w:lsdException w:name="Medium List 2 Accent 6" w:uiPriority="66"/>
+		<w:lsdException w:name="Medium Grid 1 Accent 6" w:uiPriority="67"/>
+		<w:lsdException w:name="Medium Grid 2 Accent 6" w:uiPriority="68"/>
+		<w:lsdException w:name="Medium Grid 3 Accent 6" w:uiPriority="69"/>
+		<w:lsdException w:name="Dark List Accent 6" w:uiPriority="70"/>
+		<w:lsdException w:name="Colorful Shading Accent 6" w:uiPriority="71"/>
+		<w:lsdException w:name="Colorful List Accent 6" w:uiPriority="72"/>
+		<w:lsdException w:name="Colorful Grid Accent 6" w:uiPriority="73"/>
+		<w:lsdException w:name="Subtle Emphasis" w:uiPriority="19" w:qFormat="1"/>
+		<w:lsdException w:name="Intense Emphasis" w:uiPriority="21" w:qFormat="1"/>
+		<w:lsdException w:name="Subtle Reference" w:uiPriority="31" w:qFormat="1"/>
+		<w:lsdException w:name="Intense Reference" w:uiPriority="32" w:qFormat="1"/>
+		<w:lsdException w:name="Book Title" w:uiPriority="33" w:qFormat="1"/>
+		<w:lsdException w:name="Bibliography" w:semiHidden="1" w:uiPriority="37" w:unhideWhenUsed="1"/>
+		<w:lsdException w:name="TOC Heading" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" w:qFormat="1"/>
+		<w:lsdException w:name="Plain Table 1" w:uiPriority="41"/>
+		<w:lsdException w:name="Plain Table 2" w:uiPriority="42"/>
+		<w:lsdException w:name="Plain Table 3" w:uiPriority="43"/>
+		<w:lsdException w:name="Plain Table 4" w:uiPriority="44"/>
+		<w:lsdException w:name="Plain Table 5" w:uiPriority="45"/>
+		<w:lsdException w:name="Grid Table Light" w:uiPriority="40"/>
+		<w:lsdException w:name="Grid Table 1 Light" w:uiPriority="46"/>
+		<w:lsdException w:name="Grid Table 2" w:uiPriority="47"/>
+		<w:lsdException w:name="Grid Table 3" w:uiPriority="48"/>
+		<w:lsdException w:name="Grid Table 4" w:uiPriority="49"/>
+		<w:lsdException w:name="Grid Table 5 Dark" w:uiPriority="50"/>
+		<w:lsdException w:name="Grid Table 6 Colorful" w:uiPriority="51"/>
+		<w:lsdException w:name="Grid Table 7 Colorful" w:uiPriority="52"/>
+		<w:lsdException w:name="Grid Table 1 Light Accent 1" w:uiPriority="46"/>
+		<w:lsdException w:name="Grid Table 2 Accent 1" w:uiPriority="47"/>
+		<w:lsdException w:name="Grid Table 3 Accent 1" w:uiPriority="48"/>
+		<w:lsdException w:name="Grid Table 4 Accent 1" w:uiPriority="49"/>
+		<w:lsdException w:name="Grid Table 5 Dark Accent 1" w:uiPriority="50"/>
+		<w:lsdException w:name="Grid Table 6 Colorful Accent 1" w:uiPriority="51"/>
+		<w:lsdException w:name="Grid Table 7 Colorful Accent 1" w:uiPriority="52"/>
+		<w:lsdException w:name="Grid Table 1 Light Accent 2" w:uiPriority="46"/>
+		<w:lsdException w:name="Grid Table 2 Accent 2" w:uiPriority="47"/>
+		<w:lsdException w:name="Grid Table 3 Accent 2" w:uiPriority="48"/>
+		<w:lsdException w:name="Grid Table 4 Accent 2" w:uiPriority="49"/>
+		<w:lsdException w:name="Grid Table 5 Dark Accent 2" w:uiPriority="50"/>
+		<w:lsdException w:name="Grid Table 6 Colorful Accent 2" w:uiPriority="51"/>
+		<w:lsdException w:name="Grid Table 7 Colorful Accent 2" w:uiPriority="52"/>
+		<w:lsdException w:name="Grid Table 1 Light Accent 3" w:uiPriority="46"/>
+		<w:lsdException w:name="Grid Table 2 Accent 3" w:uiPriority="47"/>
+		<w:lsdException w:name="Grid Table 3 Accent 3" w:uiPriority="48"/>
+		<w:lsdException w:name="Grid Table 4 Accent 3" w:uiPriority="49"/>
+		<w:lsdException w:name="Grid Table 5 Dark Accent 3" w:uiPriority="50"/>
+		<w:lsdException w:name="Grid Table 6 Colorful Accent 3" w:uiPriority="51"/>
+		<w:lsdException w:name="Grid Table 7 Colorful Accent 3" w:uiPriority="52"/>
+		<w:lsdException w:name="Grid Table 1 Light Accent 4" w:uiPriority="46"/>
+		<w:lsdException w:name="Grid Table 2 Accent 4" w:uiPriority="47"/>
+		<w:lsdException w:name="Grid Table 3 Accent 4" w:uiPriority="48"/>
+		<w:lsdException w:name="Grid Table 4 Accent 4" w:uiPriority="49"/>
+		<w:lsdException w:name="Grid Table 5 Dark Accent 4" w:uiPriority="50"/>
+		<w:lsdException w:name="Grid Table 6 Colorful Accent 4" w:uiPriority="51"/>
+		<w:lsdException w:name="Grid Table 7 Colorful Accent 4" w:uiPriority="52"/>
+		<w:lsdException w:name="Grid Table 1 Light Accent 5" w:uiPriority="46"/>
+		<w:lsdException w:name="Grid Table 2 Accent 5" w:uiPriority="47"/>
+		<w:lsdException w:name="Grid Table 3 Accent 5" w:uiPriority="48"/>
+		<w:lsdException w:name="Grid Table 4 Accent 5" w:uiPriority="49"/>
+		<w:lsdException w:name="Grid Table 5 Dark Accent 5" w:uiPriority="50"/>
+		<w:lsdException w:name="Grid Table 6 Colorful Accent 5" w:uiPriority="51"/>
+		<w:lsdException w:name="Grid Table 7 Colorful Accent 5" w:uiPriority="52"/>
+		<w:lsdException w:name="Grid Table 1 Light Accent 6" w:uiPriority="46"/>
+		<w:lsdException w:name="Grid Table 2 Accent 6" w:uiPriority="47"/>
+		<w:lsdException w:name="Grid Table 3 Accent 6" w:uiPriority="48"/>
+		<w:lsdException w:name="Grid Table 4 Accent 6" w:uiPriority="49"/>
+		<w:lsdException w:name="Grid Table 5 Dark Accent 6" w:uiPriority="50"/>
+		<w:lsdException w:name="Grid Table 6 Colorful Accent 6" w:uiPriority="51"/>
+		<w:lsdException w:name="Grid Table 7 Colorful Accent 6" w:uiPriority="52"/>
+		<w:lsdException w:name="List Table 1 Light" w:uiPriority="46"/>
+		<w:lsdException w:name="List Table 2" w:uiPriority="47"/>
+		<w:lsdException w:name="List Table 3" w:uiPriority="48"/>
+		<w:lsdException w:name="List Table 4" w:uiPriority="49"/>
+		<w:lsdException w:name="List Table 5 Dark" w:uiPriority="50"/>
+		<w:lsdException w:name="List Table 6 Colorful" w:uiPriority="51"/>
+		<w:lsdException w:name="List Table 7 Colorful" w:uiPriority="52"/>
+		<w:lsdException w:name="List Table 1 Light Accent 1" w:uiPriority="46"/>
+		<w:lsdException w:name="List Table 2 Accent 1" w:uiPriority="47"/>
+		<w:lsdException w:name="List Table 3 Accent 1" w:uiPriority="48"/>
+		<w:lsdException w:name="List Table 4 Accent 1" w:uiPriority="49"/>
+		<w:lsdException w:name="List Table 5 Dark Accent 1" w:uiPriority="50"/>
+		<w:lsdException w:name="List Table 6 Colorful Accent 1" w:uiPriority="51"/>
+		<w:lsdException w:name="List Table 7 Colorful Accent 1" w:uiPriority="52"/>
+		<w:lsdException w:name="List Table 1 Light Accent 2" w:uiPriority="46"/>
+		<w:lsdException w:name="List Table 2 Accent 2" w:uiPriority="47"/>
+		<w:lsdException w:name="List Table 3 Accent 2" w:uiPriority="48"/>
+		<w:lsdException w:name="List Table 4 Accent 2" w:uiPriority="49"/>
+		<w:lsdException w:name="List Table 5 Dark Accent 2" w:uiPriority="50"/>
+		<w:lsdException w:name="List Table 6 Colorful Accent 2" w:uiPriority="51"/>
+		<w:lsdException w:name="List Table 7 Colorful Accent 2" w:uiPriority="52"/>
+		<w:lsdException w:name="List Table 1 Light Accent 3" w:uiPriority="46"/>
+		<w:lsdException w:name="List Table 2 Accent 3" w:uiPriority="47"/>
+		<w:lsdException w:name="List Table 3 Accent 3" w:uiPriority="48"/>
+		<w:lsdException w:name="List Table 4 Accent 3" w:uiPriority="49"/>
+		<w:lsdException w:name="List Table 5 Dark Accent 3" w:uiPriority="50"/>
+		<w:lsdException w:name="List Table 6 Colorful Accent 3" w:uiPriority="51"/>
+		<w:lsdException w:name="List Table 7 Colorful Accent 3" w:uiPriority="52"/>
+		<w:lsdException w:name="List Table 1 Light Accent 4" w:uiPriority="46"/>
+		<w:lsdException w:name="List Table 2 Accent 4" w:uiPriority="47"/>
+		<w:lsdException w:name="List Table 3 Accent 4" w:uiPriority="48"/>
+		<w:lsdException w:name="List Table 4 Accent 4" w:uiPriority="49"/>
+		<w:lsdException w:name="List Table 5 Dark Accent 4" w:uiPriority="50"/>
+		<w:lsdException w:name="List Table 6 Colorful Accent 4" w:uiPriority="51"/>
+		<w:lsdException w:name="List Table 7 Colorful Accent 4" w:uiPriority="52"/>
+		<w:lsdException w:name="List Table 1 Light Accent 5" w:uiPriority="46"/>
+		<w:lsdException w:name="List Table 2 Accent 5" w:uiPriority="47"/>
+		<w:lsdException w:name="List Table 3 Accent 5" w:uiPriority="48"/>
+		<w:lsdException w:name="List Table 4 Accent 5" w:uiPriority="49"/>
+		<w:lsdException w:name="List Table 5 Dark Accent 5" w:uiPriority="50"/>
+		<w:lsdException w:name="List Table 6 Colorful Accent 5" w:uiPriority="51"/>
+		<w:lsdException w:name="List Table 7 Colorful Accent 5" w:uiPriority="52"/>
+		<w:lsdException w:name="List Table 1 Light Accent 6" w:uiPriority="46"/>
+		<w:lsdException w:name="List Table 2 Accent 6" w:uiPriority="47"/>
+		<w:lsdException w:name="List Table 3 Accent 6" w:uiPriority="48"/>
+		<w:lsdException w:name="List Table 4 Accent 6" w:uiPriority="49"/>
+		<w:lsdException w:name="List Table 5 Dark Accent 6" w:uiPriority="50"/>
+		<w:lsdException w:name="List Table 6 Colorful Accent 6" w:uiPriority="51"/>
+		<w:lsdException w:name="List Table 7 Colorful Accent 6" w:uiPriority="52"/>
+	</w:latentStyles>
+	<w:style w:type="paragraph" w:default="1" w:styleId="Normal">
+		<w:name w:val="Normal"/>
+		<w:qFormat/>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Heading1">
+		<w:name w:val="heading 1"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:link w:val="Heading1Char"/>
+		<w:uiPriority w:val="9"/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:keepNext/>
+			<w:keepLines/>
+			<w:spacing w:before="240" w:after="0"/>
+			<w:outlineLvl w:val="0"/>
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+			<w:sz w:val="32"/>
+			<w:szCs w:val="32"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Heading2">
+		<w:name w:val="heading 2"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:link w:val="Heading2Char"/>
+		<w:uiPriority w:val="9"/>
+		<w:unhideWhenUsed/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:keepNext/>
+			<w:keepLines/>
+			<w:spacing w:before="40" w:after="0"/>
+			<w:outlineLvl w:val="1"/>
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+			<w:sz w:val="26"/>
+			<w:szCs w:val="26"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Heading3">
+		<w:name w:val="heading 3"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:link w:val="Heading3Char"/>
+		<w:uiPriority w:val="9"/>
+		<w:unhideWhenUsed/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:keepNext/>
+			<w:keepLines/>
+			<w:spacing w:before="40" w:after="0"/>
+			<w:outlineLvl w:val="2"/>
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="1F4D78" w:themeColor="accent1" w:themeShade="7F"/>
+			<w:sz w:val="24"/>
+			<w:szCs w:val="24"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Heading4">
+		<w:name w:val="heading 4"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:link w:val="Heading4Char"/>
+		<w:uiPriority w:val="9"/>
+		<w:unhideWhenUsed/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:keepNext/>
+			<w:keepLines/>
+			<w:spacing w:before="40" w:after="0"/>
+			<w:outlineLvl w:val="3"/>
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:i/>
+			<w:iCs/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Heading5">
+		<w:name w:val="heading 5"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:link w:val="Heading5Char"/>
+		<w:uiPriority w:val="9"/>
+		<w:unhideWhenUsed/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:keepNext/>
+			<w:keepLines/>
+			<w:spacing w:before="40" w:after="0"/>
+			<w:outlineLvl w:val="4"/>
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Heading6">
+		<w:name w:val="heading 6"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:link w:val="Heading6Char"/>
+		<w:uiPriority w:val="9"/>
+		<w:unhideWhenUsed/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:keepNext/>
+			<w:keepLines/>
+			<w:spacing w:before="40" w:after="0"/>
+			<w:outlineLvl w:val="5"/>
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="1F4D78" w:themeColor="accent1" w:themeShade="7F"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:default="1" w:styleId="DefaultParagraphFont">
+		<w:name w:val="Default Paragraph Font"/>
+		<w:uiPriority w:val="1"/>
+		<w:semiHidden/>
+		<w:unhideWhenUsed/>
+	</w:style>
+	<w:style w:type="table" w:default="1" w:styleId="TableNormal">
+		<w:name w:val="Normal Table"/>
+		<w:uiPriority w:val="99"/>
+		<w:semiHidden/>
+		<w:unhideWhenUsed/>
+		<w:tblPr>
+			<w:tblInd w:w="0" w:type="dxa"/>
+			<w:tblCellMar>
+				<w:top w:w="0" w:type="dxa"/>
+				<w:left w:w="108" w:type="dxa"/>
+				<w:bottom w:w="0" w:type="dxa"/>
+				<w:right w:w="108" w:type="dxa"/>
+			</w:tblCellMar>
+		</w:tblPr>
+	</w:style>
+	<w:style w:type="numbering" w:default="1" w:styleId="NoList">
+		<w:name w:val="No List"/>
+		<w:uiPriority w:val="99"/>
+		<w:semiHidden/>
+		<w:unhideWhenUsed/>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Heading1Char">
+		<w:name w:val="Heading 1 Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Heading1"/>
+		<w:uiPriority w:val="9"/>
+		<w:rsid w:val="0088377C"/>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+			<w:sz w:val="32"/>
+			<w:szCs w:val="32"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Heading2Char">
+		<w:name w:val="Heading 2 Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Heading2"/>
+		<w:uiPriority w:val="9"/>
+		<w:rsid w:val="0088377C"/>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+			<w:sz w:val="26"/>
+			<w:szCs w:val="26"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Heading3Char">
+		<w:name w:val="Heading 3 Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Heading3"/>
+		<w:uiPriority w:val="9"/>
+		<w:rsid w:val="0088377C"/>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="1F4D78" w:themeColor="accent1" w:themeShade="7F"/>
+			<w:sz w:val="24"/>
+			<w:szCs w:val="24"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Heading4Char">
+		<w:name w:val="Heading 4 Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Heading4"/>
+		<w:uiPriority w:val="9"/>
+		<w:rsid w:val="0088377C"/>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:i/>
+			<w:iCs/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Heading5Char">
+		<w:name w:val="Heading 5 Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Heading5"/>
+		<w:uiPriority w:val="9"/>
+		<w:rsid w:val="0088377C"/>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Heading6Char">
+		<w:name w:val="Heading 6 Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Heading6"/>
+		<w:uiPriority w:val="9"/>
+		<w:rsid w:val="0088377C"/>
+		<w:rPr>
+			<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
+			<w:color w:val="1F4D78" w:themeColor="accent1" w:themeShade="7F"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="ListParagraph">
+		<w:name w:val="List Paragraph"/>
+		<w:basedOn w:val="Normal"/>
+		<w:uiPriority w:val="34"/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:ind w:left="720"/>
+			<w:contextualSpacing/>
+		</w:pPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Quote">
+		<w:name w:val="Quote"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:link w:val="QuoteChar"/>
+		<w:uiPriority w:val="29"/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:spacing w:before="200"/>
+			<w:ind w:left="864" w:right="864"/>
+		</w:pPr>
+		<w:rPr>
+			<w:i/>
+			<w:iCs/>
+			<w:color w:val="404040" w:themeColor="text1" w:themeTint="BF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="QuoteChar">
+		<w:name w:val="Quote Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Quote"/>
+		<w:uiPriority w:val="29"/>
+		<w:rsid w:val="0088377C"/>
+		<w:rPr>
+			<w:i/>
+			<w:iCs/>
+			<w:color w:val="404040" w:themeColor="text1" w:themeTint="BF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Caption">
+		<w:name w:val="caption"/>
+		<w:basedOn w:val="Normal"/>
+		<w:next w:val="Normal"/>
+		<w:uiPriority w:val="35"/>
+		<w:unhideWhenUsed/>
+		<w:qFormat/>
+		<w:rsid w:val="0088377C"/>
+		<w:pPr>
+			<w:spacing w:after="200" w:line="240" w:lineRule="auto"/>
+		</w:pPr>
+		<w:rPr>
+			<w:i/>
+			<w:iCs/>
+			<w:color w:val="44546A" w:themeColor="text2"/>
+			<w:sz w:val="18"/>
+			<w:szCs w:val="18"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:styleId="Hyperlink">
+		<w:name w:val="Hyperlink"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="99"/>
+		<w:unhideWhenUsed/>
+		<w:rsid w:val="00EB4EA4"/>
+		<w:rPr>
+			<w:color w:val="0563C1" w:themeColor="hyperlink"/>
+			<w:u w:val="single"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:styleId="FollowedHyperlink">
+		<w:name w:val="Followed Hyperlink"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="99"/>
+		<w:semiHidden/>
+		<w:unhideWhenUsed/>
+		<w:rsid w:val="00EB4EA4"/>
+		<w:rPr>
+			<w:color w:val="954F72" w:themeColor="followedHyperlink"/>
+			<w:u w:val="single"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:styleId="Emphasis">
+		<w:name w:val="Emphasis" />
+		<w:basedOn w:val="DefaultParagraphFont" />
+		<w:uiPriority w:val="20" />
+		<w:qFormat />
+		<w:rsid w:val="00A92E04" />
+		<w:rPr>
+			<w:i />
+			<w:iCs />
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:styleId="IntenseEmphasis">
+		<w:name w:val="Intense Emphasis"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="21"/>
+		<w:qFormat/>
+		<w:rsid w:val="0040552B"/>
+		<w:rPr>
+			<w:i/>
+			<w:iCs/>
+			<w:color w:val="5B9BD5" w:themeColor="accent1"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="paragraph" w:customStyle="1" w:styleId="Code">
+		<w:name w:val="Code"/>
+		<w:basedOn w:val="Normal"/>
+		<w:qFormat/>
+		<w:rsid w:val="00C96FFC"/>
+		<w:pPr>
+			<w:spacing w:after="0"/>
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:ascii="Courier New" w:hAnsi="Courier New"/>
+			<w:color w:val="000066"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:styleId="CodeInline" w:customStyle="1">
+		<w:name w:val="Code Inline" />
+		<w:basedOn w:val="DefaultParagraphFont" />
+		<w:uiPriority w:val="1" />
+		<w:rsid w:val="0034120D" />
+		<w:rPr>
+			<w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" />
+			<w:b w:val="0" />
+			<w:i w:val="0" />
+			<w:color w:val="000066" />
+			<w:sz w:val="20" />
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:styleId="Command" w:customStyle="1">
+		<w:name w:val="Command" />
+		<w:basedOn w:val="DefaultParagraphFont" />
+		<w:uiPriority w:val="1" />
+		<w:rsid w:val="0034120D" />
+		<w:rPr>
+			<w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" />
+			<w:b w:val="0" />
+			<w:i w:val="0" />
+			<w:color w:val="000066" />
+			<w:sz w:val="20" />
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Comment">
+		<w:name w:val="Comment"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="006633" />
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="ForeignPhrase">
+		<w:name w:val="Foreign Phrase"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00D940E9"/>
+		<w:rPr>
+			<w:i/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Placeholder">
+		<w:name w:val="Placeholder"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00D940E9"/>
+		<w:rPr>
+			<w:i/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Phrase">
+		<w:name w:val="Phrase"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00D940E9"/>
+		<w:rPr>
+			<w:i/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Identifier">
+		<w:name w:val="Identifier"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="000000"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Keyword">
+		<w:name w:val="Keyword"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="0000FF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Label">
+		<w:name w:val="Label"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="005359D6"/>
+		<w:rPr>
+			<w:b/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Literal">
+		<w:name w:val="Literal"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00F350F0"/>
+		<w:rPr>
+			<w:color w:val="CC0000"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Math">
+		<w:name w:val="Math"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00022F98"/>
+		<w:rPr>
+			<w:i/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="MissingComment">
+		<w:name w:val="Missing Comment"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00022F98"/>
+		<w:rPr>
+			<w:b/>
+			<w:color w:val="A50021"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Parameter">
+		<w:name w:val="Parameter"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="005359D6"/>
+		<w:rPr>
+			<w:i/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Term">
+		<w:name w:val="Term"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="005359D6"/>
+		<w:rPr>
+			<w:b w:val="0"/>
+			<w:i/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="TypeParameter">
+		<w:name w:val="Type Parameter"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="005359D6"/>
+		<w:rPr>
+			<w:i/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="UserInput">
+		<w:name w:val="User Input"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="005359D6"/>
+		<w:rPr>
+			<w:b/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="UserInterface">
+		<w:name w:val="User Interface"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="005359D6"/>
+		<w:rPr>
+			<w:b/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="PShellCmdlet">
+		<w:name w:val="Powershell Commandlet"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:b />
+			<w:color w:val="5A9EA5"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Namespace">
+		<w:name w:val="Namespace"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="008284"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Number">
+		<w:name w:val="Number"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="009966"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="Preprocessor">
+		<w:name w:val="Preprocessor"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="996666"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlTag">
+		<w:name w:val="XML Tag"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="AA4400"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlBracket">
+		<w:name w:val="XML Bracket"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="0000FF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlBracketInline">
+		<w:name w:val="XML Bracket Inline"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:shd w:val="clear" w:color="000000" w:fill="FFFF00" />
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlComment">
+		<w:name w:val="XML Comment"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="006633"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlCDATA">
+		<w:name w:val="XML CDATA"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="AA0088"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlAttributeName">
+		<w:name w:val="XML Attribute Name"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="0000FF"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlAttributeEqual">
+		<w:name w:val="XML Attribute Equal Sign"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="000000"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="XmlAttributeValue">
+		<w:name w:val="XML Attribute Value"/>
+		<w:uiPriority w:val="1"/>
+		<w:qFormat/>
+		<w:rsid w:val="00694EC0"/>
+		<w:rPr>
+			<w:color w:val="CC0000"/>
+		</w:rPr>
+	</w:style>
+	<w:style w:type="table" w:styleId="AlertTable" w:customStyle="1">
+		<w:name w:val="Alert Table" />
+		<w:basedOn w:val="TableNormal" />
+		<w:uiPriority w:val="99" />
+		<w:rsid w:val="00550A37" />
+		<w:pPr>
+			<w:spacing w:after="120" w:line="240" w:lineRule="auto" />
+		</w:pPr>
+		<w:tblPr>
+			<w:tblInd w:w="0" w:type="dxa" />
+			<w:tblBorders>
+				<w:top w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:left w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:bottom w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:right w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+			</w:tblBorders>
+			<w:tblCellMar>
+				<w:top w:w="43" w:type="dxa" />
+				<w:left w:w="43" w:type="dxa" />
+				<w:bottom w:w="43" w:type="dxa" />
+				<w:right w:w="43" w:type="dxa" />
+			</w:tblCellMar>
+		</w:tblPr>
+		<w:tblStylePr w:type="firstRow">
+			<w:pPr>
+				<w:wordWrap />
+				<w:spacing w:after="0" w:afterLines="0" w:afterAutospacing="0" />
+			</w:pPr>
+			<w:rPr>
+				<w:b />
+			</w:rPr>
+			<w:tblPr />
+			<w:tcPr>
+				<w:shd w:val="clear" w:color="auto" w:fill="B8CCE4" w:themeFill="accent1" w:themeFillTint="66" />
+			</w:tcPr>
+		</w:tblStylePr>
+	</w:style>
+	<w:style w:type="table" w:styleId="GeneralTable" w:customStyle="1">
+		<w:name w:val="General Table" />
+		<w:basedOn w:val="TableNormal" />
+		<w:uiPriority w:val="99" />
+		<w:rsid w:val="00550A37" />
+		<w:pPr>
+			<w:spacing w:after="0" w:line="240" w:lineRule="auto" />
+		</w:pPr>
+		<w:tblPr>
+			<w:tblInd w:w="0" w:type="dxa" />
+			<w:tblBorders>
+				<w:top w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:left w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:bottom w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:right w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:insideH w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="6" w:space="0" />
+				<w:insideV w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="6" w:space="0" />
+			</w:tblBorders>
+			<w:tblCellMar>
+				<w:top w:w="43" w:type="dxa" />
+				<w:left w:w="43" w:type="dxa" />
+				<w:bottom w:w="43" w:type="dxa" />
+				<w:right w:w="43" w:type="dxa" />
+			</w:tblCellMar>
+		</w:tblPr>
+		<w:tblStylePr w:type="firstRow">
+			<w:pPr>
+				<w:wordWrap />
+				<w:spacing w:after="0" w:afterLines="0" w:afterAutospacing="0" />
+			</w:pPr>
+			<w:rPr>
+				<w:b />
+			</w:rPr>
+			<w:tblPr />
+			<w:tcPr>
+				<w:shd w:val="clear" w:color="auto" w:fill="B8CCE4" w:themeFill="accent1" w:themeFillTint="66" />
+			</w:tcPr>
+		</w:tblStylePr>
+	</w:style>
+	<w:style w:type="table" w:styleId="CodeTable" w:customStyle="1" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+		<w:name w:val="Code Table" />
+		<w:basedOn w:val="TableNormal" />
+		<w:uiPriority w:val="99" />
+		<w:rsid w:val="00F44D81" />
+		<w:pPr>
+			<w:spacing w:after="0" w:line="240" w:lineRule="auto" />
+		</w:pPr>
+		<w:rPr>
+			<w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" />
+			<w:sz w:val="20" />
+		</w:rPr>
+		<w:tblPr>
+			<w:tblInd w:w="0" w:type="dxa" />
+			<w:tblBorders>
+				<w:top w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:left w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:bottom w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+				<w:right w:val="single" w:color="BFBFBF" w:themeColor="background1" w:themeShade="BF" w:sz="4" w:space="0" />
+			</w:tblBorders>
+			<w:tblCellMar>
+				<w:top w:w="43" w:type="dxa" />
+				<w:left w:w="43" w:type="dxa" />
+				<w:bottom w:w="43" w:type="dxa" />
+				<w:right w:w="43" w:type="dxa" />
+			</w:tblCellMar>
+		</w:tblPr>
+		<w:tblStylePr w:type="firstRow">
+			<w:pPr>
+				<w:wordWrap />
+				<w:spacing w:after="0" w:afterLines="0" w:afterAutospacing="0" />
+			</w:pPr>
+			<w:rPr>
+				<w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" />
+				<w:b />
+				<w:i w:val="0" />
+				<w:sz w:val="22" />
+			</w:rPr>
+			<w:tblPr />
+			<w:tcPr>
+				<w:shd w:val="clear" w:color="auto" w:fill="BDD6EE" w:themeFill="accent1" w:themeFillTint="66" />
+			</w:tcPr>
+		</w:tblStylePr>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Header">
+		<w:name w:val="header"/>
+		<w:basedOn w:val="Normal"/>
+		<w:link w:val="HeaderChar"/>
+		<w:uiPriority w:val="99"/>
+		<w:unhideWhenUsed/>
+		<w:rsid w:val="008D5979"/>
+		<w:pPr>
+			<w:tabs>
+				<w:tab w:val="center" w:pos="4680"/>
+				<w:tab w:val="right" w:pos="9360"/>
+			</w:tabs>
+			<w:spacing w:after="0" w:line="240" w:lineRule="auto"/>
+		</w:pPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="HeaderChar">
+		<w:name w:val="Header Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Header"/>
+		<w:uiPriority w:val="99"/>
+		<w:rsid w:val="008D5979"/>
+	</w:style>
+	<w:style w:type="paragraph" w:styleId="Footer">
+		<w:name w:val="footer"/>
+		<w:basedOn w:val="Normal"/>
+		<w:link w:val="FooterChar"/>
+		<w:uiPriority w:val="99"/>
+		<w:unhideWhenUsed/>
+		<w:rsid w:val="008D5979"/>
+		<w:pPr>
+			<w:tabs>
+				<w:tab w:val="center" w:pos="4680"/>
+				<w:tab w:val="right" w:pos="9360"/>
+			</w:tabs>
+			<w:spacing w:after="0" w:line="240" w:lineRule="auto"/>
+		</w:pPr>
+	</w:style>
+	<w:style w:type="character" w:customStyle="1" w:styleId="FooterChar">
+		<w:name w:val="Footer Char"/>
+		<w:basedOn w:val="DefaultParagraphFont"/>
+		<w:link w:val="Footer"/>
+		<w:uiPriority w:val="99"/>
+		<w:rsid w:val="008D5979"/>
+	</w:style>
+</w:styles>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/theme/theme1.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/theme/theme1.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c3c6f3d23b7c00adc4d6a9f0c821ad1a6a24e114
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/theme/theme1.xml
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">
+	<a:themeElements>
+		<a:clrScheme name="Office">
+			<a:dk1>
+				<a:sysClr val="windowText" lastClr="000000"/>
+			</a:dk1>
+			<a:lt1>
+				<a:sysClr val="window" lastClr="FFFFFF"/>
+			</a:lt1>
+			<a:dk2>
+				<a:srgbClr val="44546A"/>
+			</a:dk2>
+			<a:lt2>
+				<a:srgbClr val="E7E6E6"/>
+			</a:lt2>
+			<a:accent1>
+				<a:srgbClr val="5B9BD5"/>
+			</a:accent1>
+			<a:accent2>
+				<a:srgbClr val="ED7D31"/>
+			</a:accent2>
+			<a:accent3>
+				<a:srgbClr val="A5A5A5"/>
+			</a:accent3>
+			<a:accent4>
+				<a:srgbClr val="FFC000"/>
+			</a:accent4>
+			<a:accent5>
+				<a:srgbClr val="4472C4"/>
+			</a:accent5>
+			<a:accent6>
+				<a:srgbClr val="70AD47"/>
+			</a:accent6>
+			<a:hlink>
+				<a:srgbClr val="0563C1"/>
+			</a:hlink>
+			<a:folHlink>
+				<a:srgbClr val="954F72"/>
+			</a:folHlink>
+		</a:clrScheme>
+		<a:fontScheme name="Office">
+			<a:majorFont>
+				<a:latin typeface="Calibri Light" panose="020F0302020204030204"/>
+				<a:ea typeface=""/>
+				<a:cs typeface=""/>
+				<a:font script="Jpan" typeface="MS ゴシック"/>
+				<a:font script="Hang" typeface="맑은 고딕"/>
+				<a:font script="Hans" typeface="宋体"/>
+				<a:font script="Hant" typeface="新細明體"/>
+				<a:font script="Arab" typeface="Times New Roman"/>
+				<a:font script="Hebr" typeface="Times New Roman"/>
+				<a:font script="Thai" typeface="Angsana New"/>
+				<a:font script="Ethi" typeface="Nyala"/>
+				<a:font script="Beng" typeface="Vrinda"/>
+				<a:font script="Gujr" typeface="Shruti"/>
+				<a:font script="Khmr" typeface="MoolBoran"/>
+				<a:font script="Knda" typeface="Tunga"/>
+				<a:font script="Guru" typeface="Raavi"/>
+				<a:font script="Cans" typeface="Euphemia"/>
+				<a:font script="Cher" typeface="Plantagenet Cherokee"/>
+				<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
+				<a:font script="Tibt" typeface="Microsoft Himalaya"/>
+				<a:font script="Thaa" typeface="MV Boli"/>
+				<a:font script="Deva" typeface="Mangal"/>
+				<a:font script="Telu" typeface="Gautami"/>
+				<a:font script="Taml" typeface="Latha"/>
+				<a:font script="Syrc" typeface="Estrangelo Edessa"/>
+				<a:font script="Orya" typeface="Kalinga"/>
+				<a:font script="Mlym" typeface="Kartika"/>
+				<a:font script="Laoo" typeface="DokChampa"/>
+				<a:font script="Sinh" typeface="Iskoola Pota"/>
+				<a:font script="Mong" typeface="Mongolian Baiti"/>
+				<a:font script="Viet" typeface="Times New Roman"/>
+				<a:font script="Uigh" typeface="Microsoft Uighur"/>
+				<a:font script="Geor" typeface="Sylfaen"/>
+			</a:majorFont>
+			<a:minorFont>
+				<a:latin typeface="Calibri" panose="020F0502020204030204"/>
+				<a:ea typeface=""/>
+				<a:cs typeface=""/>
+				<a:font script="Jpan" typeface="MS 明朝"/>
+				<a:font script="Hang" typeface="맑은 고딕"/>
+				<a:font script="Hans" typeface="宋体"/>
+				<a:font script="Hant" typeface="新細明體"/>
+				<a:font script="Arab" typeface="Arial"/>
+				<a:font script="Hebr" typeface="Arial"/>
+				<a:font script="Thai" typeface="Cordia New"/>
+				<a:font script="Ethi" typeface="Nyala"/>
+				<a:font script="Beng" typeface="Vrinda"/>
+				<a:font script="Gujr" typeface="Shruti"/>
+				<a:font script="Khmr" typeface="DaunPenh"/>
+				<a:font script="Knda" typeface="Tunga"/>
+				<a:font script="Guru" typeface="Raavi"/>
+				<a:font script="Cans" typeface="Euphemia"/>
+				<a:font script="Cher" typeface="Plantagenet Cherokee"/>
+				<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
+				<a:font script="Tibt" typeface="Microsoft Himalaya"/>
+				<a:font script="Thaa" typeface="MV Boli"/>
+				<a:font script="Deva" typeface="Mangal"/>
+				<a:font script="Telu" typeface="Gautami"/>
+				<a:font script="Taml" typeface="Latha"/>
+				<a:font script="Syrc" typeface="Estrangelo Edessa"/>
+				<a:font script="Orya" typeface="Kalinga"/>
+				<a:font script="Mlym" typeface="Kartika"/>
+				<a:font script="Laoo" typeface="DokChampa"/>
+				<a:font script="Sinh" typeface="Iskoola Pota"/>
+				<a:font script="Mong" typeface="Mongolian Baiti"/>
+				<a:font script="Viet" typeface="Arial"/>
+				<a:font script="Uigh" typeface="Microsoft Uighur"/>
+				<a:font script="Geor" typeface="Sylfaen"/>
+			</a:minorFont>
+		</a:fontScheme>
+		<a:fmtScheme name="Office">
+			<a:fillStyleLst>
+				<a:solidFill>
+					<a:schemeClr val="phClr"/>
+				</a:solidFill>
+				<a:gradFill rotWithShape="1">
+					<a:gsLst>
+						<a:gs pos="0">
+							<a:schemeClr val="phClr">
+								<a:lumMod val="110000"/>
+								<a:satMod val="105000"/>
+								<a:tint val="67000"/>
+							</a:schemeClr>
+						</a:gs>
+						<a:gs pos="50000">
+							<a:schemeClr val="phClr">
+								<a:lumMod val="105000"/>
+								<a:satMod val="103000"/>
+								<a:tint val="73000"/>
+							</a:schemeClr>
+						</a:gs>
+						<a:gs pos="100000">
+							<a:schemeClr val="phClr">
+								<a:lumMod val="105000"/>
+								<a:satMod val="109000"/>
+								<a:tint val="81000"/>
+							</a:schemeClr>
+						</a:gs>
+					</a:gsLst>
+					<a:lin ang="5400000" scaled="0"/>
+				</a:gradFill>
+				<a:gradFill rotWithShape="1">
+					<a:gsLst>
+						<a:gs pos="0">
+							<a:schemeClr val="phClr">
+								<a:satMod val="103000"/>
+								<a:lumMod val="102000"/>
+								<a:tint val="94000"/>
+							</a:schemeClr>
+						</a:gs>
+						<a:gs pos="50000">
+							<a:schemeClr val="phClr">
+								<a:satMod val="110000"/>
+								<a:lumMod val="100000"/>
+								<a:shade val="100000"/>
+							</a:schemeClr>
+						</a:gs>
+						<a:gs pos="100000">
+							<a:schemeClr val="phClr">
+								<a:lumMod val="99000"/>
+								<a:satMod val="120000"/>
+								<a:shade val="78000"/>
+							</a:schemeClr>
+						</a:gs>
+					</a:gsLst>
+					<a:lin ang="5400000" scaled="0"/>
+				</a:gradFill>
+			</a:fillStyleLst>
+			<a:lnStyleLst>
+				<a:ln w="6350" cap="flat" cmpd="sng" algn="ctr">
+					<a:solidFill>
+						<a:schemeClr val="phClr"/>
+					</a:solidFill>
+					<a:prstDash val="solid"/>
+					<a:miter lim="800000"/>
+				</a:ln>
+				<a:ln w="12700" cap="flat" cmpd="sng" algn="ctr">
+					<a:solidFill>
+						<a:schemeClr val="phClr"/>
+					</a:solidFill>
+					<a:prstDash val="solid"/>
+					<a:miter lim="800000"/>
+				</a:ln>
+				<a:ln w="19050" cap="flat" cmpd="sng" algn="ctr">
+					<a:solidFill>
+						<a:schemeClr val="phClr"/>
+					</a:solidFill>
+					<a:prstDash val="solid"/>
+					<a:miter lim="800000"/>
+				</a:ln>
+			</a:lnStyleLst>
+			<a:effectStyleLst>
+				<a:effectStyle>
+					<a:effectLst/>
+				</a:effectStyle>
+				<a:effectStyle>
+					<a:effectLst/>
+				</a:effectStyle>
+				<a:effectStyle>
+					<a:effectLst>
+						<a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0">
+							<a:srgbClr val="000000">
+								<a:alpha val="63000"/>
+							</a:srgbClr>
+						</a:outerShdw>
+					</a:effectLst>
+				</a:effectStyle>
+			</a:effectStyleLst>
+			<a:bgFillStyleLst>
+				<a:solidFill>
+					<a:schemeClr val="phClr"/>
+				</a:solidFill>
+				<a:solidFill>
+					<a:schemeClr val="phClr">
+						<a:tint val="95000"/>
+						<a:satMod val="170000"/>
+					</a:schemeClr>
+				</a:solidFill>
+				<a:gradFill rotWithShape="1">
+					<a:gsLst>
+						<a:gs pos="0">
+							<a:schemeClr val="phClr">
+								<a:tint val="93000"/>
+								<a:satMod val="150000"/>
+								<a:shade val="98000"/>
+								<a:lumMod val="102000"/>
+							</a:schemeClr>
+						</a:gs>
+						<a:gs pos="50000">
+							<a:schemeClr val="phClr">
+								<a:tint val="98000"/>
+								<a:satMod val="130000"/>
+								<a:shade val="90000"/>
+								<a:lumMod val="103000"/>
+							</a:schemeClr>
+						</a:gs>
+						<a:gs pos="100000">
+							<a:schemeClr val="phClr">
+								<a:shade val="63000"/>
+								<a:satMod val="120000"/>
+							</a:schemeClr>
+						</a:gs>
+					</a:gsLst>
+					<a:lin ang="5400000" scaled="0"/>
+				</a:gradFill>
+			</a:bgFillStyleLst>
+		</a:fmtScheme>
+	</a:themeElements>
+	<a:objectDefaults/>
+	<a:extraClrSchemeLst/>
+	<a:extLst>
+		<a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}">
+			<thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/>
+		</a:ext>
+	</a:extLst>
+</a:theme>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/webSettings.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/webSettings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f848d6214b90967ac7c9c9d41d7980389e409807
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/DocumentParts/word/webSettings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<w:webSettings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" mc:Ignorable="w14">
+	<w:optimizeForBrowser/>
+	<w:allowPNG/>
+</w:webSettings>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/en-US.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/en-US.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c1a7e214c9890ec746885c35be257638f54e20f6
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/en-US.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+	<!-- This is used when a title is not specified in the project -->
+	<item id="rootTopicTitleLocalized">Namespaces</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/ru-RU.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/ru-RU.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f864522e1918c79fc8da9aae5a9fb28ac55de051
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/ru-RU.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+	<!-- This is used when a title is not specified in the project -->
+	<item id="rootTopicTitleLocalized">Пространства имен</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/zh-CN.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/zh-CN.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7188be44ebd54272f323250c92d16b471854cbfd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/SHFBContent/zh-CN.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+	<!-- This is used when a title is not specified in the project -->
+	<item id="rootTopicTitleLocalized">命名空间</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/CodeTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/CodeTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..585a81dd3cc7c630e73d56fc5cfe83b72388b655
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/CodeTemplates.xsl
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	Code languages
+	============================================================================================= -->
+
+	<xsl:template name="t_codeLang">
+		<xsl:param name="p_codeLang"/>
+		<xsl:variable name="v_codeLangLC" select="translate($p_codeLang,$g_allUpperCaseLetters,$g_allLowerCaseLetters)"/>
+		<xsl:choose>
+			<!-- Languages without a syntax generator.  The presentation style content files will contain any required
+					 resource items for these (i.e. devlang_HTML). -->
+			<xsl:when test="$v_codeLangLC = 'html' or $v_codeLangLC = 'htm'">
+				<xsl:text>HTML</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'bat' or $v_codeLangLC = 'batch'">
+				<xsl:text>batch</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'pshell' or $v_codeLangLC = 'powershell' or $v_codeLangLC = 'ps1'">
+				<xsl:text>PShell</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'py'">
+				<xsl:text>Python</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'sql' or $v_codeLangLC = 'sqlserver' or $v_codeLangLC = 'sql server'">
+				<xsl:text>SQL</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vbs' or $v_codeLangLC = 'vbscript'">
+				<xsl:text>VBScript</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vb-c#' or $v_codeLangLC = 'visualbasicandcsharp'">
+				<xsl:text>VisualBasicAndCSharp</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'xml' or $v_codeLangLC = 'xmllang' or $v_codeLangLC = 'xsl'">
+				<xsl:text>XML</xsl:text>
+			</xsl:when>
+			<!-- Special case for XAML.  It has a syntax generator but we treat the code elements differently and must
+					 use a common ID. -->
+			<xsl:when test="$v_codeLangLC = 'xaml' or $v_codeLangLC = 'xamlusage'">
+				<xsl:text>XAML</xsl:text>
+			</xsl:when>
+			<!-- None/other.  No resource items are needed for these. -->
+			<xsl:when test="$v_codeLangLC = 'none' or $v_codeLangLC = 'other'">
+				<xsl:value-of select="$v_codeLangLC"/>
+			</xsl:when>
+			<!-- If none of the above, assume it is a language with a syntax generator.  The syntax generator content
+					 files will contain any required resource items for the language. -->
+			<xsl:otherwise>
+				<xsl:value-of select="$p_codeLang"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Code sections
+	============================================================================================= -->
+
+	<xsl:template name="t_putCodeSections">
+		<xsl:param name="p_codeNodes"/>
+		<xsl:param name="p_nodeCount"/>
+		<xsl:param name="p_codeLangAttr" select="''"/>
+
+		<xsl:for-each select="msxsl:node-set($p_codeNodes)">
+			<xsl:choose>
+				<xsl:when test="$p_codeLangAttr != ''">
+					<xsl:variable name="v_codeLang">
+						<xsl:call-template name="t_codeLang">
+							<xsl:with-param name="p_codeLang">
+								<xsl:for-each select="@*">
+									<xsl:if test="name() = $p_codeLangAttr">
+										<xsl:value-of select="."/>
+									</xsl:if>
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:variable>
+					<xsl:choose>
+						<xsl:when test="$v_codeLang = 'XAML'">
+							<xsl:call-template name="XamlSyntaxBlock"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_putCodeSection">
+								<xsl:with-param name="p_codeLang" select="$v_codeLang"/>
+							</xsl:call-template>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_putCodeSection" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="t_putCodeSection">
+		<xsl:param name="p_codeLang" />
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="CodeTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<xsl:choose>
+					<xsl:when test="(normalize-space(@title) != '') or (not(@title) and normalize-space($p_codeLang) != '' and $p_codeLang != 'other' and $p_codeLang != 'none')">
+						<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<w:tblLook w:firstRow="0" w:noHBand="1" w:noVBand="1"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</w:tblPr>
+			<xsl:if test="(normalize-space(@title) != '') or (not(@title) and normalize-space($p_codeLang) != '' and $p_codeLang != 'other' and $p_codeLang != 'none')">
+				<w:tr>
+					<w:trPr>
+						<w:cnfStyle w:val="100000000000" />
+					</w:trPr>
+					<w:tc>
+						<w:p>
+							<w:pPr>
+								<w:keepNext />
+							</w:pPr>
+							<w:r>
+								<w:t>
+									<xsl:choose>
+										<xsl:when test="@title">
+											<xsl:value-of select="@title" />
+										</xsl:when>
+										<xsl:otherwise>
+											<include item="devlang_{$p_codeLang}" undefined="{$p_codeLang}"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</w:t>
+							</w:r>
+						</w:p>
+					</w:tc>
+				</w:tr>
+			</xsl:if>
+			<w:tr>
+				<w:tc>
+					<w:p>
+						<!-- Use apply-templates rather than copy-of so ddue:codeFeaturedElement nodes are transformed -->
+						<xsl:apply-templates mode="preserveFormatting"/>
+					</w:p>
+				</w:tc>
+			</w:tr>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	XAML Syntax
+	============================================================================================= -->
+
+	<xsl:template name="XamlSyntaxBlock">
+		<!-- Branch based on page type -->
+		<xsl:choose>
+			<!-- Display boilerplate for page types that cannot be used in XAML -->
+			<xsl:when test="$g_apiTopicSubGroup='method' or $g_apiTopicSubGroup='constructor' or
+                      $g_apiTopicSubGroup='interface' or $g_apiTopicSubGroup='delegate' or
+                      $g_apiTopicSubGroup='field'">
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate"/>
+			</xsl:when>
+
+			<!-- Class and structure -->
+			<xsl:when test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='structure'">
+				<xsl:choose>
+					<xsl:when test="div[@class='xamlObjectElementUsageHeading']">
+						<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+							<xsl:with-param name="autogenContent">
+								<xsl:copy-of select="div[@class='xamlObjectElementUsageHeading']"/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+							<xsl:with-param name="p_messageId">
+								<xsl:copy-of select="."/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Enumeration -->
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:choose>
+					<xsl:when test="div[@class='nonXamlAssemblyBoilerplate']"/>
+					<xsl:otherwise>
+						<w:tbl>
+							<w:tblPr>
+								<w:tblStyle w:val="CodeTable"/>
+								<w:tblW w:w="5000" w:type="pct"/>
+								<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+							</w:tblPr>
+							<w:tr>
+								<w:trPr>
+									<w:cnfStyle w:val="100000000000" />
+								</w:trPr>
+								<w:tc>
+									<w:p>
+										<w:pPr>
+											<w:keepNext />
+										</w:pPr>
+										<w:r>
+											<w:t>
+												<include item="xamlAttributeUsageHeading"/>
+											</w:t>
+										</w:r>
+									</w:p>
+								</w:tc>
+							</w:tr>
+							<w:tr>
+								<w:tc>
+									<w:p>
+										<include item="enumerationOverviewXamlSyntax"/>
+									</w:p>
+								</w:tc>
+							</w:tr>
+						</w:tbl>
+						<w:p>
+							<w:pPr>
+								<w:spacing w:after="0" />
+							</w:pPr>
+						</w:p>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Property -->
+			<xsl:when test="$g_apiTopicSubGroup='property' or $g_apiTopicSubSubGroup='attachedProperty'">
+				<!-- Property Element Usage -->
+				<xsl:if test="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Attribute Usage -->
+				<xsl:if test="div[@class='xamlAttributeUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Show auto-generated boilerplate if no other content to override it -->
+				<xsl:if test="not(div[@class='xamlPropertyElementUsageHeading' or
+								@class='xamlContentElementUsageHeading' or @class='xamlAttributeUsageHeading'])">
+					<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+						<xsl:with-param name="p_messageId">
+							<xsl:copy-of select="div/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+			</xsl:when>
+
+			<!-- Event -->
+			<xsl:when test="$g_apiTopicSubGroup='event' or $g_apiTopicSubSubGroup='attachedEvent'">
+				<!-- If XamlSyntaxUsage component generated an Attribute Usage block, this template will show it -->
+				<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+					<xsl:with-param name="autogenContent">
+						<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+					</xsl:with-param>
+				</xsl:call-template>
+				<!-- If XamlSyntaxUsage component generated a boilerplate block, this template will show it -->
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+					<xsl:with-param name="p_messageId">
+						<xsl:copy-of select="div/*"/>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:when>
+
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- Displays one of the standard XAML boilerplate strings. -->
+	<xsl:template name="ShowXamlSyntaxBoilerplate">
+		<xsl:param name="p_messageId"/>
+
+		<!-- Do not show any XAML syntax boilerplate strings -->
+		<xsl:variable name="boilerplateId"/>
+
+		<!-- If future requirements call for showing one or more boilerplate strings for XAML, use the commented out
+				 code to specify the ids of the shared content items to include.
+         NOTE: The markup like div/@class='interfaceOverviewXamlSyntax' is added by XamlUsageSyntax.cs in
+				 BuildAssembler. -->
+		<!--
+    <xsl:variable name="boilerplateId">
+      <xsl:value-of select="div/@class[.='interfaceOverviewXamlSyntax' or
+                    .='propertyXamlSyntax_abstractType' or                    
+                    .='classXamlSyntax_abstract']"/>
+    </xsl:variable>
+    -->
+
+		<xsl:if test="$boilerplateId != ''">
+			<w:p>
+				<w:r>
+					<w:t xml:space="preserve"><include item="{$boilerplateId}">
+						<xsl:choose>
+							<xsl:when test="$p_messageId !='' or (count(msxsl:node-set($p_messageId)/*) &gt; 0)">
+								<parameter><xsl:copy-of select="msxsl:node-set($p_messageId)"/></parameter>
+							</xsl:when>
+							<!-- Make sure we at least pass in an empty param because some boilerplates expect them -->
+							<xsl:otherwise>
+								<parameter/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</include></w:t>
+				</w:r>
+			</w:p>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Displays the auto-generated XAML syntax for page types other than enumerations -->
+	<xsl:template name="ShowAutogeneratedXamlSyntax">
+		<xsl:param name="autogenContent"/>
+		<xsl:if test="count(msxsl:node-set($autogenContent))>0">
+			<xsl:for-each select="msxsl:node-set($autogenContent)/div">
+				<w:tbl>
+					<w:tblPr>
+						<w:tblStyle w:val="CodeTable"/>
+						<w:tblW w:w="5000" w:type="pct"/>
+						<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+					</w:tblPr>
+					<w:tr>
+						<w:trPr>
+							<w:cnfStyle w:val="100000000000" />
+						</w:trPr>
+						<w:tc>
+							<w:p>
+								<w:pPr>
+									<w:keepNext />
+								</w:pPr>
+								<w:r>
+									<w:t>
+										<include item="{@class}"/>
+									</w:t>
+								</w:r>
+							</w:p>
+						</w:tc>
+					</w:tr>
+					<w:tr>
+						<w:tc>
+							<w:p>
+								<xsl:copy-of select="node()"/>
+							</w:p>
+						</w:tc>
+					</w:tr>
+				</w:tbl>
+				<w:p>
+					<w:pPr>
+						<w:spacing w:after="0" />
+					</w:pPr>
+				</w:p>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/ConceptualTopicTypes.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/ConceptualTopicTypes.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..32effac2e6940a26d7c4ef1e85adb0a539cb838e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/ConceptualTopicTypes.xsl
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+>
+	<xsl:variable name="g_topicTypes">
+		<topic guid="EF7DDB37-8ED3-4DFA-B38D-5A3CC1906034"
+					 name=""
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="1FE70836-AA7D-4515-B54B-E10C4B516E50"
+					 name="developerConceptualDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="68F07632-C4C5-4645-8DFA-AC87DCB4BD54"
+					 name="developerSDKTechnologyOverviewArchitectureDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="CDB8C120-888F-447B-8AF8-F9540562E7CA"
+					 name="developerSDKTechnologyOverviewOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="356C57C4-384D-4AF2-A637-FDD6F088A033"
+					 name="developerSDKTechnologyOverviewScenariosDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="19F1BB0E-F32A-4D5F-80A9-211D92A8A715"
+					 name="developerSDKTechnologyOverviewTechnologySummaryDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="56DB00EC-28BA-4C0D-8694-28E8B244E236"
+					 name="developerWhitePaperDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="DAC3A6A0-C863-4E5B-8F65-79EFC6A4BA09"
+					 name="developerHowToDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4779DD54-5D0C-4CC3-9DB3-BF1C90B721B3"
+					 name="developerWalkthroughDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+
+		<topic guid="A635375F-98C2-4241-94E7-E427B47C20B6"
+					 name="developerErrorMessageDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="95DADC4C-A2A6-447A-AA36-B6BE3A4F8DEC"
+					 name="developerReferenceWithSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="F9205737-4DEC-4A58-AA69-0E621B1236BD"
+					 name="developerReferenceWithoutSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="38C8E0D1-D601-4DBA-AE1B-5BEC16CD9B01"
+					 name="developerTroubleshootingDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="B8ED9F21-39A4-4967-928D-160CD2ED9DCE"
+					 name="developerUIReferenceDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="3272D745-2FFC-48C4-9E9D-CF2B2B784D5F"
+					 name="developerXmlReference"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="A689E19C-2687-4881-8CE1-652FF60CF46C"
+					 name="developerGlossaryDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="069EFD88-412D-4E2F-8848-2D5C3AD56BDE"
+					 name="developerSampleDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4BBAAF90-0E5F-4C86-9D31-A5CAEE35A416"
+					 name="developerSDKTechnologyOverviewCodeDirectoryDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="4A273212-0AC8-4D72-8349-EC11CD2FF8CD"
+					 name="codeEntityDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Other Resources"/>
+	</xsl:variable>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/GlobalTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/GlobalTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..11ee338f1edd346b3505dfcd632490cf33e069f7
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/GlobalTemplates.xsl
@@ -0,0 +1,459 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+>
+	
+	<!-- ============================================================================================
+	Globals
+	============================================================================================= -->
+
+	<xsl:variable name="g_allUpperCaseLetters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
+	<xsl:variable name="g_allLowerCaseLetters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
+
+	<!-- ============================================================================================
+	String formatting
+	============================================================================================= -->
+
+	<!-- indent by 2*n spaces -->
+	<xsl:template name="t_putIndent">
+		<xsl:param name="p_count" />
+		<xsl:if test="$p_count &gt; 1">
+			<xsl:text>&#160;&#160;</xsl:text>
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count" select="$p_count - 1" />
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Gets the substring after the last occurrence of a period in a given string -->
+	<xsl:template name="t_getTrimmedLastPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:choose>
+			<xsl:when test="contains($p_string, '.')">
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string"
+													select="substring-after($p_string, '.')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="$p_string" />
+			</xsl:otherwise>
+		</xsl:choose>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Text handling
+	============================================================================================= -->
+
+	<!-- This is used for most text which needs normalizing to remove extra whitespace -->
+	<xsl:template match="text()">
+		<w:r>
+			<!-- Keep this on the same line to prevent extra space from getting included -->
+			<w:t xml:space="preserve"><xsl:call-template name="t_normalize"><xsl:with-param name="p_text" select="."/></xsl:call-template></w:t>
+		</w:r>
+	</xsl:template>
+
+	<!-- This is used to keep extra whitespace and line breaks intact for things like code blocks -->
+	<xsl:template match="text()" mode="preserveFormatting">
+		<w:r>
+			<!-- Keep this on the same line to prevent extra space from getting included -->
+			<w:t xml:space="preserve"><xsl:value-of select="." /></w:t>
+		</w:r>
+	</xsl:template>
+
+	<!-- Space normalization with handling for inserting a space before and/or after if there are preceding and/or
+			 following elements. -->
+	<xsl:template name="t_normalize">
+		<xsl:param name="p_text" />
+
+		<!-- If there is a preceding non-text sibling that isn't lineBreak and the text started with whitespace, add a leading space -->
+		<xsl:if test="preceding-sibling::* and not(preceding-sibling::node()[1][self::text()]) and starts-with(translate($p_text, '&#x20;&#x9;&#xD;&#xA;', '&#xFF;&#xFF;&#xFF;&#xFF;'), '&#xFF;')">
+			<xsl:if test="not(local-name(preceding-sibling::node()[1]) = 'lineBreak')">
+				<xsl:text> </xsl:text>
+			</xsl:if>
+		</xsl:if>
+
+		<xsl:value-of select="normalize-space($p_text)"/>
+
+		<!-- If there is a following non-text sibling and the text ended with whitespace, add a trailing space -->
+		<xsl:if test="following-sibling::* and not(following-sibling::node()[1][self::text()]) and substring(translate($p_text, '&#x20;&#x9;&#xD;&#xA;', '&#xFF;&#xFF;&#xFF;&#xFF;'), string-length($p_text)) = '&#xFF;'">
+			<xsl:text> </xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	SeeAlso links
+	============================================================================================= -->
+
+	<xsl:template match="referenceLink">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<xsl:template match="referenceLink" mode="preserveFormatting">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<xsl:template name="t_autogenSeeAlsoLinks">
+
+		<!-- a link to the containing type on all list and member topics -->
+		<xsl:if test="($g_apiTopicGroup='member' or $g_apiTopicGroup='list')">
+			<xsl:variable name="v_typeTopicId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/topicdata/@typeTopicId">
+						<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="/document/reference/containers/type/@api"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<w:p>
+				<w:pPr>
+					<w:spacing w:after="0" />
+				</w:pPr>
+				<referenceLink target="{$v_typeTopicId}" display-target="format">
+					<include item="boilerplate_seeAlsoTypeLink">
+						<parameter>{0}</parameter>
+						<parameter>
+							<xsl:choose>
+								<xsl:when test="/document/reference/topicdata/@typeTopicId">
+									<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
+								</xsl:otherwise>
+							</xsl:choose>
+						</parameter>
+					</include>
+				</referenceLink>
+			</w:p>
+		</xsl:if>
+
+		<!-- a link to the type's All Members list -->
+		<xsl:variable name="v_allMembersId">
+			<xsl:choose>
+				<xsl:when test="/document/reference/topicdata/@allMembersTopicId">
+					<xsl:value-of select="/document/reference/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+				<xsl:when test="$g_apiTopicGroup='member' or ($g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload')">
+					<xsl:value-of select="/document/reference/containers/type/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_allMembersId) and not($v_allMembersId=$key)">
+			<w:p>
+				<w:pPr>
+					<w:spacing w:after="0" />
+				</w:pPr>
+				<referenceLink target="{$v_allMembersId}" display-target="format">
+					<include item="boilerplate_seeAlsoMembersLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</w:p>
+		</xsl:if>
+
+		<!-- a link to the overload topic -->
+		<xsl:variable name="v_overloadId">
+			<xsl:value-of select="/document/reference/memberdata/@overload"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_overloadId)">
+			<w:p>
+				<w:pPr>
+					<w:spacing w:after="0" />
+				</w:pPr>
+				<referenceLink target="{$v_overloadId}" display-target="format" show-parameters="false">
+					<include item="boilerplate_seeAlsoOverloadLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</w:p>
+		</xsl:if>
+
+		<!-- a link to the namespace topic -->
+		<xsl:variable name="v_namespaceId">
+			<xsl:value-of select="/document/reference/containers/namespace/@api"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_namespaceId)">
+			<w:p>
+				<w:pPr>
+					<w:spacing w:after="0" />
+				</w:pPr>
+				<referenceLink target="{$v_namespaceId}" display-target="format">
+					<include item="boilerplate_seeAlsoNamespaceLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</w:p>
+		</xsl:if>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Section headers
+	============================================================================================= -->
+
+	<xsl:template name="t_putSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+
+		<xsl:if test="normalize-space($p_title)">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading2" />
+				</w:pPr>
+				<xsl:copy-of select="$p_title" />
+			</w:p>
+		</xsl:if>
+
+		<xsl:copy-of select="$p_content" />
+	</xsl:template>
+
+	<xsl:template name="t_putSectionInclude">
+		<xsl:param name="p_titleInclude" />
+		<xsl:param name="p_content" />
+		<w:p>
+			<w:pPr>
+				<w:pStyle w:val="Heading2" />
+			</w:pPr>
+			<w:r>
+				<w:t>
+					<include item="{$p_titleInclude}"/>
+				</w:t>
+			</w:r>
+		</w:p>
+		<xsl:copy-of select="$p_content" />
+	</xsl:template>
+
+	<xsl:template name="t_putSubSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+		<w:p>
+			<w:pPr>
+				<w:pStyle w:val="Heading4" />
+			</w:pPr>
+			<xsl:copy-of select="$p_title" />
+		</w:p>
+		<xsl:copy-of select="$p_content" />
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template name="t_putAlert">
+		<xsl:param name="p_alertClass" select="@class"/>
+		<xsl:param name="p_alertContent" select="''"/>
+		<xsl:variable name="v_title">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note'">
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_title_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_title_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_title_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_title_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_title_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_title_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_title_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_title_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='implement'">
+					<xsl:text>text_NotesForImplementers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caller'">
+					<xsl:text>text_NotesForCallers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='inherit'">
+					<xsl:text>text_NotesForInheritors</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_altTitle">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_altText_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_altText_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_altText_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_altText_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_altText_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_altText_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_altText_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_altText_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_noteImg">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='tip' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_caution.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_security.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_caution.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="AlertTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+			</w:tblPr>
+			<w:tr>
+				<w:trPr>
+					<w:cnfStyle w:val="100000000000" />
+				</w:trPr>
+				<w:tc>
+					<w:p>
+						<w:pPr>
+							<w:keepNext />
+						</w:pPr>
+						<w:r>
+							<img src="../media/{$v_noteImg}">
+								<includeAttribute name="alt" item="{$v_altTitle}"/>
+							</img>
+						</w:r>
+						<w:r>
+							<w:t xml:space="preserve">  </w:t>
+						</w:r>
+						<include item="{$v_title}"/>
+					</w:p>
+				</w:tc>
+			</w:tr>
+			<w:tr>
+				<w:tc>
+					<xsl:choose>
+						<xsl:when test="$p_alertContent=''">
+							<xsl:apply-templates/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:copy-of select="$p_alertContent"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</w:tc>
+			</w:tr>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Debugging template for showing an element in comments
+	============================================================================================= -->
+
+	<xsl:template name="t_dumpContent">
+		<xsl:param name="indent" select="''"/>
+		<xsl:param name="content" select="."/>
+		<xsl:for-each select="msxsl:node-set($content)">
+			<xsl:choose>
+				<xsl:when test="self::text()">
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="."/>
+					</xsl:comment>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="'«'"/>
+						<xsl:value-of select="name()"/>
+						<xsl:for-each select="@*">
+							<xsl:text xml:space="preserve"> </xsl:text>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'='"/>
+							<xsl:value-of select="."/>
+						</xsl:for-each>
+						<xsl:choose>
+							<xsl:when test="./node()">
+								<xsl:value-of select="'»'"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="'/»'"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:comment>
+					<xsl:for-each select="node()">
+						<xsl:call-template name="t_dumpContent">
+							<xsl:with-param name="indent" select="concat($indent,'  ')"/>
+						</xsl:call-template>
+					</xsl:for-each>
+					<xsl:if test="./node()">
+						<xsl:comment>
+							<xsl:value-of select="$indent"/>
+							<xsl:value-of select="'«/'"/>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'»'"/>
+						</xsl:comment>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/HTMLTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/HTMLTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..743a2e4c49c5dcf53311154416e41bcb723ae552
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/HTMLTemplates.xsl
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+								xmlns:o="urn:schemas-microsoft-com:office:office"
+								xmlns:v="urn:schemas-microsoft-com:vml"
+>
+
+	<!-- ==========================================================================================================
+	HTML elements.  Open XML does not support HTML elements but they are prevalent in XML comments so we'll make
+	our best attempt at converting those with Open XML equivalents and removing those that don't but will pull in
+	their content.
+	=========================================================================================================== -->
+
+	<!-- These HTML elements are dropped but we'll include their content if any -->
+	<xsl:template match="abbr|acronym|area|del|div|dl|font|ins|map" name="t_HtmlContentOnly">
+		<xsl:apply-templates />
+	</xsl:template>
+
+	<!-- Treat pre elements like code blocks -->
+	<xsl:template match="pre" name="t_HtmlPre">
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="CodeTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<w:tblLook w:firstRow="0" w:noHBand="1" w:noVBand="1"/>
+			</w:tblPr>
+			<w:tr>
+				<w:tc>
+					<w:p>
+						<xsl:apply-templates mode="preserveFormatting"/>
+					</w:p>
+				</w:tc>
+			</w:tr>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<!-- Pass these elements through as-is.  The Open XML file builder task will convert them accordingly. -->
+	<xsl:template match="a|br|img|span" name="t_HtmlPassthrough">
+		<xsl:copy>
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates/>
+		</xsl:copy>
+	</xsl:template>
+
+	<xsl:template match="span" name="t_codeSpan" mode="preserveFormatting">
+		<xsl:copy>
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates/>
+		</xsl:copy>
+	</xsl:template>
+
+	<!-- Normal paragraph.  Note that unlike HTML, self-closing and empty paragraphs will be rendered in the
+			 document and will consume space.  However, we can't remove them as it could then combine text into a
+			 single paragraph that is not intended to be combined.  Best to let the user sort it out later.  The fix
+			 is to wrap the text in the paragraph elements and not use self-closing paragraphs. -->
+	<xsl:template match="p" name="t_HtmlPara">
+		<w:p>
+			<xsl:choose>
+				<!-- Indent the paragraph if it is within a block quote -->
+				<xsl:when test="parent::blockquote">
+					<w:pPr>
+						<w:pStyle w:val="Quote" />
+						<w:ind w:left="432" w:right="432" />
+					</w:pPr>
+				</xsl:when>
+				<!-- In table header cells, keep them together with the next row to avoid splitting them across pages -->
+				<xsl:when test="th">
+					<w:pPr>
+						<w:keepNext />
+					</w:pPr>
+				</xsl:when>
+				<xsl:otherwise />
+			</xsl:choose>
+			<xsl:apply-templates />
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="hr">
+		<w:p>
+			<w:r>
+				<w:pict>
+					<v:rect style="width:0;height:1.5pt" o:hr="t" o:hrstd="t" o:hralign="center" fillcolor="#a0a0a0"
+						stroked="f" />
+				</w:pict>
+			</w:r>
+		</w:p>		
+	</xsl:template>
+
+	<xsl:template match="b|strong" name="t_HtmlBold">
+		<xsl:if test="normalize-space(.)">
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="i|em" name="t_HtmlItalic">
+		<xsl:if test="normalize-space(.)">
+			<span class="Emphasis">
+				<xsl:apply-templates />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="u" name="t_HtmlUnderline">
+		<xsl:if test="normalize-space(.)">
+			<span class="Underline">
+				<xsl:apply-templates />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="sub" name="t_HtmlSubscript">
+		<xsl:if test="normalize-space(.)">
+			<span class="Subscript">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="sup" name="t_HtmlSuperscript">
+		<xsl:if test="normalize-space(.)">
+			<span class="Superscript">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="blockquote" name="t_HtmlBlockQuote">
+		<xsl:if test="normalize-space(.)">
+			<xsl:choose>
+				<xsl:when test="p">
+					<xsl:apply-templates/>
+				</xsl:when>
+				<xsl:otherwise>
+					<w:p>
+						<w:pPr>
+							<w:pStyle w:val="Quote" />
+							<w:ind w:left="432" w:right="432" />
+						</w:pPr>
+						<xsl:apply-templates/>
+					</w:p>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="h1|h2|h3|h4|h5|h6" name="t_HtmlHeading">
+		<w:p>
+			<w:pPr>
+				<xsl:choose>
+					<xsl:when test="local-name() = 'h1'">
+						<w:pStyle w:val="Heading1" />
+					</xsl:when>
+					<xsl:when test="local-name() = 'h2'">
+						<w:pStyle w:val="Heading2" />
+					</xsl:when>
+					<xsl:when test="local-name() = 'h3'">
+						<w:pStyle w:val="Heading3" />
+					</xsl:when>
+					<xsl:when test="local-name() = 'h4'">
+						<w:pStyle w:val="Heading4" />
+					</xsl:when>
+					<xsl:when test="local-name() = 'h5'">
+						<w:pStyle w:val="Heading5" />
+					</xsl:when>
+					<xsl:otherwise>
+						<w:pStyle w:val="Heading6" />
+					</xsl:otherwise>
+				</xsl:choose>
+			</w:pPr>
+			<xsl:apply-templates />
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="table" name="t_HtmlTable">
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="GeneralTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<xsl:choose>
+					<xsl:when test="tr/th">
+						<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<w:tblLook w:firstRow="0" w:noHBand="1" w:noVBand="1"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</w:tblPr>
+			<xsl:apply-templates/>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="tr" name="t_HtmlTableRow">
+		<w:tr>
+			<xsl:if test="th">
+				<w:trPr>
+					<w:cnfStyle w:val="100000000000" />
+				</w:trPr>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="th|td" name="t_HtmlTableCell">
+		<w:tc>
+			<xsl:apply-templates/>
+		</w:tc>
+	</xsl:template>
+
+	<!-- The Open XML file builder will convert lists accordingly -->
+	<xsl:template match="ol|ul" name="t_HtmlList">
+		<ul>
+			<xsl:attribute name="class">
+				<xsl:choose>
+					<xsl:when test="local-name() = 'ol'">
+						<xsl:text>ordered</xsl:text>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>bullet</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:attribute>
+			<xsl:apply-templates/>
+		</ul>
+	</xsl:template>
+
+	<xsl:template match="li" name="t_HtmlListItem">
+		<li>
+			<xsl:apply-templates/>
+		</li>
+	</xsl:template>
+
+	<xsl:template match="dt" name="t_HtmlDefinedTerm">
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="dd" name="t_HtmlDefinition">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MAMLSeeAlsoTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MAMLSeeAlsoTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..92e41dcc74a534a3fbc2af964aca06695b9d2bc4
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MAMLSeeAlsoTemplates.xsl
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="ConceptualTopicTypes.xsl"/>
+
+	<!-- ============================================================================================
+	Process relatedTopics
+	============================================================================================= -->
+
+	<xsl:template match="ddue:relatedTopics" mode="seeAlso">
+		<xsl:param name="p_autoGenerateLinks" select="false()"/>
+
+		<xsl:variable name="v_taskLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='tasks'">
+					<xsl:copy-of select="."/>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_conceptLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='concepts'">
+					<xsl:copy-of select="."/>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_referenceLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id] | ddue:codeEntityReference">
+				<xsl:choose>
+					<xsl:when test="self::ddue:codeEntityReference">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="$v_seeAlsoGroup='reference'">
+							<xsl:copy-of select="."/>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_otherLinks">
+			<xsl:for-each select="ddue:link | ddue:legacyLink | ddue:dynamicLink[@type='inline'] | ddue:externalLink">
+				<xsl:choose>
+					<xsl:when test="self::ddue:dynamicLink">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:when test="self::ddue:externalLink">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:when test="@topicType_id">
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="($v_seeAlsoGroup!='tasks') and ($v_seeAlsoGroup!='concepts') and ($v_seeAlsoGroup!='reference')">
+							<xsl:copy-of select="."/>
+						</xsl:if>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:copy-of select="."/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:if test="msxsl:node-set($v_taskLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_tasks'"/>
+				<xsl:with-param name="p_members" select="$v_taskLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_referenceLinks)/* or boolean($p_autoGenerateLinks)">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_reference'"/>
+				<xsl:with-param name="p_members" select="$v_referenceLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="$p_autoGenerateLinks"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_conceptLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_concepts'"/>
+				<xsl:with-param name="p_members" select="$v_conceptLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_otherLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup" select="'title_seeAlso_otherResources'"/>
+				<xsl:with-param name="p_members" select="$v_otherLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template name="t_putSeeAlsoSubSection">
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_autoGenerateLinks" select="false()"/>
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="{$p_headerGroup}"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:if test="boolean($p_autoGenerateLinks)">
+					<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+				</xsl:if>
+				<xsl:for-each select="msxsl:node-set($p_members)/*">
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+						<xsl:apply-templates select="."/>
+					</w:p>
+				</xsl:for-each>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MAMLTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MAMLTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..c8e9fc87af5fac4fa1f190ae45bc5ebe9460483e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MAMLTemplates.xsl
@@ -0,0 +1,1616 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl"/>
+	<xsl:import href="CodeTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	The Remarks section includes content from these nodes, excluding the xaml sections which are captured in the xaml syntax processing
+	============================================================================================= -->
+
+	<xsl:template name="t_hasRemarksContent">
+		<xsl:param name="p_node"/>
+		<xsl:choose>
+			<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:content)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForImplementers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForCallers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForInheritors)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:platformNotes)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:sections/ddue:section[not(
+                starts-with(@address,'xamlValues') or 
+                starts-with(@address,'xamlTextUsage') or 
+                starts-with(@address,'xamlAttributeUsage') or 
+                starts-with(@address,'xamlPropertyElementUsage') or 
+                starts-with(@address,'xamlImplicitCollectionUsage') or 
+                starts-with(@address,'xamlObjectElementUsage') or 
+                starts-with(@address,'dependencyPropertyInfo') or 
+                starts-with(@address,'routedEventInfo')
+                )])">true</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Remarks
+	============================================================================================= -->
+
+	<xsl:template match="ddue:remarks" name="t_ddue_Remarks">
+		<xsl:call-template name="t_writeRemarksSection">
+			<xsl:with-param name="p_node" select=".."/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_writeRemarksSection">
+		<xsl:param name="p_node"/>
+
+		<xsl:variable name="v_hasRemarks">
+			<xsl:call-template name="t_hasRemarksContent">
+				<xsl:with-param name="p_node" select="$p_node"/>
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:if test="$v_hasRemarks='true'">
+			<xsl:choose>
+				<xsl:when test="not($g_apiTopicGroup = 'namespace')">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude" select="'title_remarks'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+							<!-- HostProtectionAttribute -->
+							<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
+								<xsl:call-template name="t_hostProtectionContent"/>
+							</xsl:if>
+							<xsl:apply-templates select="$p_node/ddue:notesForImplementers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForCallers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForInheritors"/>
+							<xsl:apply-templates select="$p_node/ddue:platformNotes"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_hostProtectionContent">
+		<!-- HostProtectionAttribute boilerplate -->
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass" select="'note'"/>
+			<xsl:with-param name="p_alertContent">
+				<include item="boilerplate_hostProtectionAttribute">
+					<parameter>
+						<xsl:value-of select="concat('text_', $g_apiTopicSubGroup, 'Lower')"/>
+					</parameter>
+					<parameter>
+						<span class="Label">
+							<xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
+								<xsl:value-of select="@name"/>
+								<xsl:if test="position() != last()">
+									<xsl:text xml:space="preserve"> | </xsl:text>
+								</xsl:if>
+							</xsl:for-each>
+						</span>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections
+	============================================================================================= -->
+
+	<xsl:template match="ddue:sections" name="t_ddue_sections">
+		<xsl:apply-templates select="ddue:section"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:section" name="t_ddue_section">
+		<!-- Display the section only if it has content (text or media)-->
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or descendant::ddue:content/*">
+
+			<xsl:apply-templates select="@address"/>
+			<!-- Count all the possible ancestor root nodes -->
+			<xsl:variable name="a1" select="count(ancestor::ddue:attributesandElements)"/>
+			<xsl:variable name="a2" select="count(ancestor::ddue:codeExample)"/>
+			<xsl:variable name="a3" select="count(ancestor::ddue:dotNetFrameworkEquivalent)"/>
+			<xsl:variable name="a4" select="count(ancestor::ddue:elementInformation)"/>
+			<xsl:variable name="a5" select="count(ancestor::ddue:exceptions)"/>
+			<xsl:variable name="a6" select="count(ancestor::ddue:introduction)"/>
+			<xsl:variable name="a7" select="count(ancestor::ddue:languageReferenceRemarks)"/>
+			<xsl:variable name="a8" select="count(ancestor::ddue:nextSteps)"/>
+			<xsl:variable name="a9" select="count(ancestor::ddue:parameters)"/>
+			<xsl:variable name="a10" select="count(ancestor::ddue:prerequisites)"/>
+			<xsl:variable name="a11" select="count(ancestor::ddue:procedure)"/>
+			<xsl:variable name="a12" select="count(ancestor::ddue:relatedTopics)"/>
+			<xsl:variable name="a13" select="count(ancestor::ddue:remarks)"/>
+			<xsl:variable name="a14" select="count(ancestor::ddue:requirements)"/>
+			<xsl:variable name="a15" select="count(ancestor::ddue:schemaHierarchy)"/>
+			<xsl:variable name="a16" select="count(ancestor::ddue:syntaxSection)"/>
+			<xsl:variable name="a17" select="count(ancestor::ddue:textValue)"/>
+			<xsl:variable name="a18" select="count(ancestor::ddue:type)"/>
+			<xsl:variable name="a19" select="count(ancestor::ddue:section)"/>
+			<xsl:variable name="total" select="$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10+$a11+$a12+$a13+$a14+$a15+$a16+$a17+$a18+$a19"/>
+			<xsl:choose>
+				<xsl:when test="$total = 0">
+					<xsl:call-template name="t_putSection">
+						<xsl:with-param name="p_title">
+							<xsl:apply-templates select="ddue:title" mode="section"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:content"/>
+							<xsl:apply-templates select="ddue:sections"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:when test="$total = 1">
+					<w:p>
+						<w:pPr>
+							<w:pStyle w:val="Heading3" />
+						</w:pPr>
+						<xsl:apply-templates select="ddue:title" mode="section"/>
+					</w:p>
+					<xsl:apply-templates select="ddue:content"/>
+					<xsl:apply-templates select="ddue:sections"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<w:p>
+						<w:pPr>
+							<w:pStyle w:val="Heading4" />
+						</w:pPr>
+						<xsl:apply-templates select="ddue:title" mode="section"/>
+					</w:p>
+					<xsl:apply-templates select="ddue:content"/>
+					<xsl:apply-templates select="ddue:sections"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:title" mode="section" name="t_ddue_sectionTitle">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="@address" name="t_ddue_address">
+		<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+		<w:bookmarkStart w:name="_{string(.)}" w:id="0" />
+		<w:bookmarkEnd w:id="0" />
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block Elements
+	============================================================================================= -->
+
+	<xsl:template match="ddue:para" name="t_ddue_para">
+		<w:p>
+			<xsl:choose>
+				<!-- Indent the paragraph if it is within a definition -->
+				<xsl:when test="parent::ddue:definition">
+					<w:pPr>
+						<w:ind w:left="432" />
+					</w:pPr>
+				</xsl:when>
+				<!-- In table header cells, keep them together with the next row to avoid splitting them across pages -->
+				<xsl:when test="ancestor::ddue:tableHeader">
+					<w:pPr>
+						<w:keepNext />
+					</w:pPr>
+				</xsl:when>
+				<xsl:otherwise />
+			</xsl:choose>
+			<xsl:apply-templates />
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="ddue:summary" name="t_ddue_summary">
+		<xsl:if test="not(@abstract='true')">
+			<!-- The ddue:summary element is redundant since it's optional in the MAML schema but ddue:introduction is
+					 not.  Using abstract='true' will prevent the summary from being included in the topic. -->
+			<xsl:apply-templates />
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForImplementers" name="t_ddue_notesForImplementers">
+		<w:p>
+			<w:r>
+				<w:rPr>
+					<w:b />
+				</w:rPr>
+				<w:t><include item="text_NotesForImplementers"/></w:t>
+			</w:r>
+		</w:p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForCallers" name="t_ddue_notesForCallers">
+		<w:p>
+			<w:r>
+				<w:rPr>
+					<w:b />
+				</w:rPr>
+				<w:t>
+					<include item="text_NotesForCallers"/>
+				</w:t>
+			</w:r>
+		</w:p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForInheritors" name="t_ddue_notesForInheritors">
+		<w:p>
+			<w:r>
+				<w:rPr>
+					<w:b />
+				</w:rPr>
+				<w:t>
+					<include item="text_NotesForInheritors"/>
+				</w:t>
+			</w:r>
+		</w:p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:schemaHierarchy" name="t_ddue_schemaHierarchy">
+		<xsl:for-each select="ddue:link">
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count" select="position()"/>
+			</xsl:call-template>
+			<xsl:apply-templates select="."/>
+			<br />
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:syntaxSection" name="t_ddue_syntaxSection">
+		<xsl:if test="ddue:legacySyntax">
+			<xsl:for-each select="ddue:legacySyntax">
+				<xsl:variable name="v_codeLang">
+					<xsl:call-template name="t_codeLang">
+						<xsl:with-param name="p_codeLang" select="@language" />
+					</xsl:call-template>
+				</xsl:variable>
+
+				<xsl:call-template name="t_putCodeSection">
+					<xsl:with-param name="p_codeLang" select="$v_codeLang" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Just pass these through -->
+	<xsl:template match="ddue:content" name="t_ddue_content">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacy" name="t_ddue_legacy">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:procedure" name="t_ddue_procedure">
+		<xsl:apply-templates select="@address"/>
+		<xsl:if test="normalize-space(ddue:title)">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading5" />
+				</w:pPr>
+				<xsl:value-of select="ddue:title"/>
+			</w:p>
+		</xsl:if>
+		<xsl:apply-templates select="ddue:steps"/>
+		<xsl:apply-templates select="ddue:conclusion"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:steps" name="t_ddue_steps">
+		<xsl:choose>
+			<xsl:when test="@class = 'ordered'">
+				<xsl:variable name="v_temp">
+					<xsl:value-of select="count(ddue:step)"/>
+				</xsl:variable>
+				<xsl:if test="$v_temp = 1">
+					<ul class="bullet">
+						<xsl:apply-templates select="ddue:step"/>
+					</ul>
+				</xsl:if>
+				<xsl:if test="$v_temp &gt; 1">
+					<ul class="ordered">
+						<xsl:apply-templates select="ddue:step"/>
+					</ul>
+				</xsl:if>
+			</xsl:when>
+			<xsl:when test="@class='bullet'">
+				<ul class="bullet">
+					<xsl:apply-templates select="ddue:step"/>
+				</ul>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:step" name="t_ddue_step">
+		<li>
+			<xsl:apply-templates select="@address"/>
+			<xsl:apply-templates/>
+		</li>
+	</xsl:template>
+
+	<xsl:template match="ddue:inThisSection" name="t_ddue_inThisSection">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_inThisSection'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="ddue:buildInstructions" name="t_ddue_buildInstructions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_buildInstructions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:nextSteps" name="t_ddue_nextSteps">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_nextSteps'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:requirements" name="t_ddue_requirements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_requirements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageReferenceRemarks" name="t_ddue_languageReferenceRemarks">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_remarks'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributesandElements" name="t_ddue_attributesandElements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_attributesAndElements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributes" name="t_ddue_attributes">
+		<xsl:if test="normalize-space(.)">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading4" />
+				</w:pPr>
+				<include item="title_attributes"/>
+			</w:p>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute" name="t_ddue_attribute">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute/ddue:title" name="t_ddue_attributeTitle">
+		<w:p>
+			<w:pPr>
+				<w:pStyle w:val="Heading4" />
+			</w:pPr>
+			<xsl:apply-templates/>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="ddue:childElement" name="t_ddue_childElement">
+		<xsl:if test="normalize-space(.)">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading4" />
+				</w:pPr>
+				<include item="title_childElement"/>
+			</w:p>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parentElement" name="t_ddue_parentElement">
+		<xsl:if test="normalize-space(.)">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading4" />
+				</w:pPr>
+				<include item="title_parentElement"/>
+			</w:p>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:textValue" name="t_ddue_textValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_textValue'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:elementInformation" name="t_ddue_elementInformation">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_elementInformation'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:dotNetFrameworkEquivalent" name="t_ddue_dotNetFrameworkEquivalent">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_dotNetFrameworkEquivalent'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:prerequisites" name="t_ddue_prerequisites">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_prerequisites'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:type" name="t_ddue_type">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:title_robustProgramming" name="t_ddue_robustProgramming">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_robustProgramming'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:security" name="t_ddue_security">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_securitySection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:externalResources" name="t_ddue_externalResources">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_externalResources'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:demonstrates" name="t_ddue_demonstrates">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_demonstrates'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:appliesTo" name="t_ddue_appliesTo">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_appliesTo'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:conclusion" name="t_ddue_conclusion">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:background" name="t_ddue_background">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_background'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:whatsNew" name="t_ddue_whatsNew">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_whatsNew'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:reference" name="t_ddue_reference">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_reference'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerErrorMessageDocument" name="t_ddue_developerErrorMessageDocument">
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<xsl:when test="name() = 'secondaryErrorTitle'">
+					<xsl:if test="not(../ddue:nonLocErrorTitle)">
+						<xsl:apply-templates select=".">
+							<xsl:with-param name="newSection">yes</xsl:with-param>
+						</xsl:apply-templates>
+					</xsl:if>
+				</xsl:when>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<xsl:template match="ddue:nonLocErrorTitle" name="t_ddue_nonLocErrorTitle">
+		<xsl:if test="string-length(../ddue:nonLocErrorTitle[normalize-space(.)]) > 0 or string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<xsl:if test="../ddue:secondaryErrorTitle">
+				<w:p>
+					<w:pPr>
+						<w:pStyle w:val="Heading4" />
+					</w:pPr>
+					<include item="title_errorMessage"/>
+				</w:p>
+				<xsl:apply-templates select="../ddue:secondaryErrorTitle">
+					<xsl:with-param name="newSection">no</xsl:with-param>
+				</xsl:apply-templates>
+			</xsl:if>
+			<xsl:apply-templates/>
+			<w:p />
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:secondaryErrorTitle" name="t_ddue_secondaryErrorTitle">
+		<xsl:param name="newSection"/>
+		<xsl:if test="string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<xsl:choose>
+				<xsl:when test="$newSection = 'yes'">
+					<xsl:apply-templates/>
+					<w:p />
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates/>
+					<br />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerSampleDocument" name="t_ddue_developerSampleDocument">
+		<!-- Show the topic intro -->
+		<xsl:apply-templates select="ddue:introduction"/>
+
+		<!-- The sample download list section from dsSample -->
+		<xsl:if test="ddue:relatedTopics/ddue:sampleRef">
+			<include item="{ddue:relatedTopics/ddue:sampleRef/@srcID}"/>
+		</xsl:if>
+
+		<!-- Then the rest of the topic's content -->
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<!-- Introduction was already captured above -->
+				<xsl:when test="name() = 'introduction'"/>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists and Tables
+	============================================================================================= -->
+
+	<xsl:template match="ddue:list" name="t_ddue_list">
+		<ul>
+			<xsl:attribute name="class">
+				<xsl:value-of select="@class" />
+			</xsl:attribute>
+			<xsl:if test="@class='ordered' and @start">
+				<xsl:attribute name="start">
+					<xsl:value-of select="@start"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates select="ddue:listItem"/>
+		</ul>
+	</xsl:template>
+
+	<xsl:template match="ddue:listItem" name="t_ddue_listItem">
+		<li>
+			<xsl:apply-templates select="@address" />
+			<xsl:apply-templates />
+		</li>
+	</xsl:template>
+
+	<xsl:template match="ddue:table" name="t_ddue_table">
+		<xsl:if test="normalize-space(ddue:title)">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading3" />
+				</w:pPr>
+				<w:r>
+					<w:t><xsl:value-of select="ddue:title"/></w:t>
+				</w:r>
+			</w:p>
+		</xsl:if>
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="GeneralTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<xsl:choose>
+					<xsl:when test="ddue:tableHeader">
+						<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<w:tblLook w:firstRow="0" w:noHBand="1" w:noVBand="1"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</w:tblPr>
+			<xsl:apply-templates/>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader" name="t_ddue_tableHeader">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader/ddue:row" name="t_ddue_tableHeaderRow">
+		<w:tr>
+			<w:trPr>
+				<w:cnfStyle w:val="100000000000" />
+			</w:trPr>
+			<xsl:apply-templates/>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="ddue:row" name="t_ddue_row">
+		<w:tr>
+			<xsl:apply-templates/>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="ddue:entry" name="t_ddue_entry">
+		<w:tc>
+			<xsl:apply-templates select="@address"/>
+			<xsl:apply-templates/>
+		</w:tc>
+	</xsl:template>
+
+	<xsl:template match="ddue:definitionTable" name="t_ddue_definitionTable">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:definedTerm" name="t_ddue_definedTerm">
+		<xsl:apply-templates select="@address"/>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="ddue:definition" name="t_ddue_definition">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Code
+	============================================================================================= -->
+
+	<xsl:template match="ddue:snippets" name="t_ddue_snippets">
+		<xsl:if test="ddue:snippet">
+			<xsl:for-each select="ddue:snippet">
+				<xsl:call-template name="t_putCodeSection">
+					<xsl:with-param name="p_codeLang" select="@language" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:code | ddue:sampleCode" name="t_ddue_code">
+		<xsl:variable name="v_codeLang">
+			<xsl:call-template name="t_codeLang">
+				<xsl:with-param name="p_codeLang" select="@language" />
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:call-template name="t_putCodeSection">
+			<xsl:with-param name="p_codeLang" select="$v_codeLang" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template match="ddue:alert" name="t_ddue_alert">
+		<xsl:call-template name="t_putAlert"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Media
+	============================================================================================= -->
+
+	<xsl:template match="ddue:mediaLink" name="t_ddue_mediaLink">
+		<xsl:if test="ddue:caption and not(ddue:caption[@placement='after'])">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Caption" />
+					<xsl:choose>
+						<xsl:when test="ddue:image[@placement='center']">
+							<w:jc w:val="center" />
+						</xsl:when>
+						<xsl:when test="ddue:image[@placement='far']">
+							<w:pPr>
+								<w:jc w:val="right" />
+							</w:pPr>
+						</xsl:when>
+						<xsl:otherwise>
+							<w:pPr>
+								<w:jc w:val="left" />
+							</w:pPr>
+						</xsl:otherwise>
+					</xsl:choose>
+					<w:keepNext />
+				</w:pPr>
+				<xsl:if test="ddue:caption[@lead]">
+					<w:r>
+						<w:rPr>
+							<w:b />
+						</w:rPr>
+						<w:t xml:space="preserve"><xsl:value-of select="normalize-space(ddue:caption/@lead)"/>: </w:t>
+					</w:r>
+				</xsl:if>
+				<xsl:apply-templates select="ddue:caption"/>
+			</w:p>
+		</xsl:if>
+		<w:p>
+			<w:pPr>
+				<xsl:choose>
+					<xsl:when test="ddue:image[@placement='center']">
+						<w:jc w:val="center" />
+					</xsl:when>
+					<xsl:when test="ddue:image[@placement='far']">
+						<w:jc w:val="right" />
+					</xsl:when>
+					<xsl:otherwise>
+						<w:jc w:val="left" />
+					</xsl:otherwise>
+				</xsl:choose>
+				<xsl:if test="ddue:caption and ddue:caption[@placement='after']">
+					<w:keepNext />
+				</xsl:if>
+			</w:pPr>
+			<w:r>
+				<artLink target="{ddue:image/@xlink:href}"/>
+			</w:r>
+		</w:p>
+		<xsl:if test="ddue:caption and ddue:caption[@placement='after']">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Caption" />
+					<xsl:choose>
+						<xsl:when test="ddue:image[@placement='center']">
+							<w:jc w:val="center" />
+						</xsl:when>
+						<xsl:when test="ddue:image[@placement='far']">
+							<w:pPr>
+								<w:jc w:val="right" />
+							</w:pPr>
+						</xsl:when>
+						<xsl:otherwise>
+							<w:pPr>
+								<w:jc w:val="left" />
+							</w:pPr>
+						</xsl:otherwise>
+					</xsl:choose>
+				</w:pPr>
+				<xsl:if test="ddue:caption[@lead]">
+					<w:r>
+						<w:rPr>
+							<w:b />
+						</w:rPr>
+						<w:t xml:space="preserve"><xsl:value-of select="normalize-space(ddue:caption/@lead)"/>: </w:t>
+					</w:r>
+				</xsl:if>
+				<xsl:apply-templates select="ddue:caption"/>
+			</w:p>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:mediaLinkInline" name="t_ddue_mediaLinkInline">
+		<w:r>
+			<artLink target="{ddue:image/@xlink:href}"/>
+		</w:r>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline elements
+	============================================================================================= -->
+
+	<!-- Pass spans through.  They'll be converted by the document builder task. -->
+	<xsl:template match="ddue:span" name="t_ddue_span">
+		<span>
+			<xsl:attribute name="class">
+				<xsl:value-of select="@class" />
+			</xsl:attribute>
+			<xsl:copy-of select="node()"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="ddue:span" name="t_ddue_spanPreserveFormatting" mode="preserveFormatting">
+		<span>
+			<xsl:attribute name="class">
+				<xsl:value-of select="@class" />
+			</xsl:attribute>
+			<xsl:copy-of select="node()"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageKeyword" name="t_ddue_languageKeyword">
+		<xsl:variable name="v_keyword" select="."/>
+		<xsl:choose>
+			<xsl:when test="$v_keyword='null' or $v_keyword='Nothing' or $v_keyword='nullptr'">
+				<include item="devlang_nullKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='static' or $v_keyword='Shared'">
+				<include item="devlang_staticKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='virtual' or $v_keyword='Overridable'">
+				<include item="devlang_virtualKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='true' or $v_keyword='True'">
+				<include item="devlang_trueKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='false' or $v_keyword='False'">
+				<include item="devlang_falseKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='abstract' or $v_keyword='MustInherit'">
+				<include item="devlang_abstractKeyword"/>
+			</xsl:when>
+			<xsl:when test="$v_keyword='sealed' or $v_keyword='NotInheritable'">
+				<include item="devlang_sealedKeyword"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<w:r>
+					<w:rPr>
+						<w:rStyle w:val="CodeInline" />
+					</w:rPr>
+					<!-- Keep this on the same line to prevent extra space from getting included -->
+					<w:t xml:space="preserve"><xsl:value-of select="."/></w:t>
+				</w:r>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="ddue:application" name="t_ddue_application">
+		<xsl:if test="normalize-space(.)">
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeFeaturedElement" name="t_ddue_codeFeaturedElement">
+		<xsl:if test="normalize-space(.)">
+			<span class="Label">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeInline" name="t_ddue_codeInline">
+		<xsl:if test="normalize-space(.)">
+			<w:r>
+				<w:rPr>
+					<w:rStyle w:val="CodeInline"/>
+				</w:rPr>
+				<w:t>
+					<xsl:value-of select="." />
+				</w:t>
+			</w:r>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:command" name="t_ddue_command">
+		<xsl:if test="normalize-space(.)">
+			<span class="Command">
+				<xsl:apply-templates />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:computerOutputInline" name="t_ddue_computerOutputInline">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:corporation" name="t_ddue_corporation">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:country" name="t_ddue_country">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:database" name="t_ddue_database">
+		<xsl:if test="normalize-space(.)">
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:date" name="t_ddue_date">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:embeddedLabel" name="t_ddue_embeddedLabel">
+		<xsl:if test="normalize-space(.)">
+			<span class="Label">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:environmentVariable" name="t_ddue_environmentVariable">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:errorInline" name="t_ddue_errorInline">
+		<xsl:if test="normalize-space(.)">
+			<span class="Emphasis">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:hardware" name="t_ddue_hardware">
+		<xsl:if test="normalize-space(.)">
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:fictitiousUri" name="t_ddue_fictitiousUri">
+		<xsl:call-template name="t_ddue_localUri"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:foreignPhrase" name="t_ddue_foreignPhrase">
+		<xsl:if test="normalize-space(.)">
+			<span class="ForeignPhrase">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyBold" name="t_ddue_legacyBold">
+		<xsl:if test="normalize-space(.)">
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyItalic" name="t_ddue_legacyItalic">
+		<xsl:if test="normalize-space(.)">
+			<span class="Emphasis">
+				<xsl:apply-templates />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyUnderline" name="t_ddue_legacyUnderline">
+		<xsl:if test="normalize-space(.)">
+			<span class="Underline">
+				<xsl:apply-templates />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:lineBreak" name="t_ddue_lineBreak">
+		<w:r>
+			<w:br />
+		</w:r>
+	</xsl:template>
+
+	<xsl:template match="ddue:literal" name="t_ddue_literal">
+		<xsl:if test="normalize-space(.)">
+			<span class="Literal">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:localizedText" name="t_ddue_localizedText">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:localUri" name="t_ddue_localUri">
+		<xsl:if test="normalize-space(.)">
+			<span class="Emphasis">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:math" name="t_ddue_math">
+		<xsl:if test="normalize-space(.)">
+			<span class="Math">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:newTerm" name="t_ddue_newTerm">
+		<xsl:if test="normalize-space(.)">
+			<span class="Term">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameterReference" name="t_ddue_parameterReference">
+		<xsl:if test="normalize-space(.)">
+			<span class="Parameter">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:phrase" name="t_ddue_phrase">
+		<xsl:if test="normalize-space(.)">
+			<span class="Phrase">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:quote" name="t_ddue_quote">
+		<xsl:if test="normalize-space(.)">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Quote" />
+					<w:ind w:left="432" w:right="432" />
+				</w:pPr>
+				<xsl:apply-templates/>
+			</w:p>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:quoteInline" name="t_ddue_quoteInline">
+		<xsl:if test="normalize-space(.)">
+			<span class="QuoteChar">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:placeholder|ddue:replaceable" name="t_ddue_replaceable">
+		<xsl:if test="normalize-space(.)">
+			<span class="Placeholder">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:subscript|ddue:subscriptType" name="t_ddue_subscript">
+		<xsl:if test="normalize-space(.)">
+			<span class="Subscript">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:superscript|ddue:superscriptType" name="t_ddue_superscript">
+		<xsl:if test="normalize-space(.)">
+			<span class="Superscript">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:system" name="t_ddue_system">
+		<xsl:if test="normalize-space(.)">
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:ui" name="t_ddue_ui">
+		<xsl:if test="normalize-space(.)">
+			<span class="UserInterface">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:unmanagedCodeEntityReference" name="t_ddue_unmanagedCodeEntityReference">
+		<xsl:if test="normalize-space(.)">
+			<span class="Bold">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInput" name="t_ddue_userInput">
+		<xsl:if test="normalize-space(.)">
+			<span class="UserInput">
+				<xsl:value-of select="." />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInputLocalizable" name="t_ddue_userInputLocalizable">
+		<xsl:call-template name="t_ddue_userInput"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Pass through a chunk of markup.  This differs from the API markup template in that it must strip
+	off the "ddue" namespace.  This will allow build components to add Open XML elements to a
+	pre-transformed document.  You can also use it in topics to support things that aren't addressed
+	by the MAML schema and the Sandcastle transforms.
+	============================================================================================= -->
+
+	<xsl:template match="ddue:markup" name="t_ddue_markup">
+		<xsl:apply-templates select="node()" mode="markup"/>
+	</xsl:template>
+
+	<xsl:template match="*" mode="markup" name="t_ddue_markup_content">
+		<xsl:element name="{name()}">
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates select="node()" mode="markup"/>
+		</xsl:element>
+	</xsl:template>
+
+	<xsl:template match="text() | comment()" mode="markup" name="t_ddue_markup_text">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Links
+	============================================================================================= -->
+
+	<xsl:template match="ddue:externalLink" name="t_ddue_externalLink">
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="normalize-space(ddue:linkUri)"/>
+			</xsl:attribute>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:if test="normalize-space(ddue:linkAlternateText)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space(ddue:linkAlternateText)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:value-of select="normalize-space(ddue:linkText)"/>
+		</a>
+	</xsl:template>
+
+	<xsl:template match="ddue:link" name="t_ddue_link">
+		<xsl:choose>
+			<xsl:when test="starts-with(@xlink:href,'#')">
+				<!-- in-page link -->
+				<a href="{@xlink:href}">
+					<xsl:apply-templates/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- verified, external link -->
+				<conceptualLink target="{@xlink:href}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyLink" name="t_ddue_legacyLink">
+		<a href="{@xlink:href}" rel="noopener noreferrer">
+			<xsl:apply-templates />
+		</a>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeEntityReference" name="t_ddue_codeEntityReference">
+		<referenceLink target="{normalize-space(string(.))}">
+			<xsl:if test="@qualifyHint">
+				<xsl:attribute name="show-container">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+				<xsl:attribute name="show-parameters">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:if test="@autoUpgrade">
+				<xsl:attribute name="prefer-overload">
+					<xsl:value-of select="@autoUpgrade"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space(@linkText)">
+					<xsl:value-of select="normalize-space(@linkText)"/>
+				</xsl:when>
+				<xsl:when test="starts-with(normalize-space(.), 'R:')">
+					<include item="topicTitle_root" />
+				</xsl:when>
+				<xsl:otherwise />
+			</xsl:choose>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Copyright notice
+	============================================================================================= -->
+
+	<xsl:template match="ddue:copyright" name="t_ddue_copyright">
+		<!-- Paragraph: {0} &copy;{1}{2}. All rights reserved. -->
+		<include item="boilerplate_copyrightNotice">
+			<parameter>
+				<xsl:value-of select="ddue:trademark" />
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:year">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:holder">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Glossary
+	============================================================================================= -->
+
+	<xsl:key name="k_glossaryTermFirstLetters" match="//ddue:glossaryEntry"
+		use="translate(substring(ddue:terms/ddue:term/text(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ ')"/>
+
+	<xsl:template match="ddue:glossary" name="t_ddue_glossary">
+		<xsl:if test="ddue:title">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading1" />
+				</w:pPr>
+				<w:r>
+					<w:t><xsl:value-of select="normalize-space(ddue:title)" /></w:t>
+				</w:r>
+			</w:p>
+		</xsl:if>
+		<xsl:choose>
+			<xsl:when test="ddue:glossaryDiv">
+				<w:p>
+					<!-- Organized glossary with glossaryDiv elements -->
+					<xsl:for-each select="ddue:glossaryDiv">
+						<xsl:if test="ddue:title">
+							<xsl:choose>
+								<xsl:when test="@address">
+									<w:hyperlink w:history="1" w:anchor="_{string(@address)}">
+										<w:r>
+											<w:rPr>
+												<w:rStyle w:val="Hyperlink" />
+											</w:rPr>
+											<w:t><xsl:value-of select="ddue:title" /></w:t>
+										</w:r>
+									</w:hyperlink>
+								</xsl:when>
+								<xsl:otherwise>
+									<w:r>
+										<w:t><xsl:value-of select="ddue:title" /></w:t>
+									</w:r>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:if>
+						<xsl:if test="position() != last()">
+							<w:r>
+								<w:t xsl:space="preserve"> | </w:t>
+							</w:r>
+						</xsl:if>
+					</xsl:for-each>
+				</w:p>
+				<xsl:apply-templates select="ddue:glossaryDiv"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- Simple glossary consisting of nothing by glossaryEntry elements -->
+				<xsl:call-template name="t_glossaryLetterBar"/>
+				<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryDiv" name="t_ddue_glossaryDiv">
+		<xsl:if test="@address">
+			<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+			<w:bookmarkStart w:name="_{string(@address)}" w:id="0" />
+			<w:bookmarkEnd w:id="0" />
+		</xsl:if>
+		<xsl:if test="ddue:title">
+			<w:p>
+				<w:pPr>
+					<w:pStyle w:val="Heading2" />
+				</w:pPr>
+				<w:r>
+					<w:t>
+						<xsl:value-of select="normalize-space(ddue:title)" />
+					</w:t>
+				</w:r>
+			</w:p>
+		</xsl:if>
+		<xsl:call-template name="t_glossaryLetterBar">
+			<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+		</xsl:call-template>
+		<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter">
+			<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryGroupByEntriesTermFirstLetter">
+		<xsl:param name="p_sectionPrefix" select="''"/>
+		<xsl:variable name="v_div" select="."/>
+		<!-- Group entries by the first letter of their terms using the Muenchian method.
+         http://www.jenitennison.com/xslt/grouping/muenchian.html -->
+		<xsl:for-each select="ddue:glossaryEntry[generate-id() = 
+                  generate-id(key('k_glossaryTermFirstLetters',
+                  translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                  [parent::node() = $v_div][1])]">
+			<xsl:sort select="ddue:terms/ddue:term[1]" />
+			<xsl:variable name="v_letter"
+										select="translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' '))"/>
+
+			<xsl:call-template name="t_glossaryEntryGroup">
+				<xsl:with-param name="p_link" select="concat($p_sectionPrefix,$v_letter)"/>
+				<xsl:with-param name="p_name" select="$v_letter"/>
+				<xsl:with-param name="p_nodes"
+												select="key('k_glossaryTermFirstLetters',
+                        translate($v_letter,$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                        [parent::node() = $v_div]"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryEntry" name="t_ddue_glossaryEntry">
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+			<xsl:apply-templates select="@address" />
+			<xsl:for-each select="ddue:terms/ddue:term">
+				<xsl:sort select="normalize-space(.)" />
+
+				<xsl:if test="@termId">
+					<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+					<w:bookmarkStart w:name="_{string(@termId)}" w:id="0" />
+					<w:bookmarkEnd w:id="0" />
+				</xsl:if>
+				<span class="Bold">
+					<xsl:value-of select="normalize-space(.)" />
+				</span>
+				<xsl:if test="position() != last()">
+					<w:r>
+						<w:t xsl:space="preserve"><xsl:text>, </xsl:text></w:t>
+					</w:r>
+				</xsl:if>
+			</xsl:for-each>
+		</w:p>
+		<xsl:apply-templates select="ddue:definition/*"/>
+
+		<xsl:if test="ddue:relatedEntry">
+			<w:p>
+				<w:pPr>
+					<w:ind w:left="432" />
+				</w:pPr>
+
+				<w:r>
+					<w:t xsl:space="preserve"><include item="text_relatedEntries" />&#160;&#160;</w:t>
+				</w:r>
+
+				<xsl:for-each select="ddue:relatedEntry">
+					<xsl:variable name="id" select="@termId" />
+					<w:hyperlink w:history="1" w:anchor="_{string(@termId)}">
+						<w:r>
+							<w:rPr>
+								<w:rStyle w:val="Hyperlink" />
+							</w:rPr>
+							<w:t>
+								<xsl:value-of select="//ddue:term[@termId=$id]"/>
+							</w:t>
+						</w:r>
+					</w:hyperlink>
+					<xsl:if test="position() != last()">
+						<w:r>
+							<w:t xsl:space="preserve">,&#160;</w:t>
+						</w:r>
+					</xsl:if>
+				</xsl:for-each>
+			</w:p>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryEntryGroup">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:param name="p_nodes"/>
+		<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+		<w:bookmarkStart w:name="_{string($p_link)}" w:id="0" />
+		<w:bookmarkEnd w:id="0" />
+		<w:p>
+			<w:pPr>
+				<w:pStyle w:val="Heading3" />
+			</w:pPr>
+			<w:r>
+				<w:t><xsl:value-of select="$p_name"/></w:t>
+			</w:r>
+		</w:p>
+		<xsl:apply-templates select="$p_nodes">
+			<xsl:sort select="ddue:terms/ddue:term"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBar">
+		<xsl:param name="p_sectionPrefix" select="''"/>
+		<w:p>
+			<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+				<xsl:with-param name="p_sectionPrefix" select="$p_sectionPrefix"/>
+				<xsl:with-param name="p_bar" select="$g_allUpperCaseLetters"/>
+				<xsl:with-param name="p_characterPosition" select="1"/>
+			</xsl:call-template>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLinkRecursive">
+		<xsl:param name="p_sectionPrefix"/>
+		<xsl:param name="p_bar"/>
+		<xsl:param name="p_characterPosition"/>
+		<xsl:variable name="v_letter" select="substring($p_bar,$p_characterPosition,1)"/>
+		<xsl:if test="$v_letter">
+			<xsl:choose>
+				<xsl:when test="ddue:glossaryEntry[ddue:terms/ddue:term[1]
+                  [translate(substring(text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')) = $v_letter]]">
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_link" select="concat($p_sectionPrefix,$v_letter)"/>
+						<xsl:with-param name="p_name" select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<w:r>
+							<w:t xml:space="preserve"> | </w:t>
+						</w:r>
+					</xsl:if>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_name" select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<w:r>
+							<w:t xml:space="preserve"> | </w:t>
+						</w:r>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+				<xsl:with-param name="p_sectionPrefix" select="$p_sectionPrefix"/>
+				<xsl:with-param name="p_bar" select="$p_bar"/>
+				<xsl:with-param name="p_characterPosition" select="$p_characterPosition + 1"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLink">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:choose>
+			<xsl:when test="$p_link">
+				<w:hyperlink w:history="1" w:anchor="_{string($p_link)}">
+					<w:r>
+						<w:rPr>
+							<w:rStyle w:val="Hyperlink" />
+						</w:rPr>
+						<w:t><xsl:value-of select="$p_name"/></w:t>
+					</w:r>
+				</w:hyperlink>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="Bold">
+					<xsl:value-of select="$p_name"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MainConceptual.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MainConceptual.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..c20399ab0b10c9e233497a6c47d33645566e2e8d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MainConceptual.xsl
@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
+								xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+								xmlns:o="urn:schemas-microsoft-com:office:office"
+								xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+								xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+								xmlns:v="urn:schemas-microsoft-com:vml"
+								xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
+								xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+								xmlns:w10="urn:schemas-microsoft-com:office:word"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+								xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+								xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
+								xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
+								xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
+								xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
+								xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+								xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main"
+								xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl"/>
+	<xsl:import href="CodeTemplates.xsl"/>
+	<xsl:import href="MAMLTemplates.xsl"/>
+	<xsl:import href="MAMLSeeAlsoTemplates.xsl"/>
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the API identifier string - see globalTemplates for others
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_hasSeeAlsoSection"
+								select="boolean(count(/document/topic/*/ddue:relatedTopics/*[local-name()!='sampleRef']) > 0)"/>
+	<xsl:variable name="g_apiTopicGroup" />
+	<xsl:variable name="g_apiTopicSubGroup" />
+	<xsl:variable name="g_apiTopicSubSubGroup" />
+
+	<!-- ============================================================================================
+	Document
+	============================================================================================= -->
+
+	<xsl:template match="/document" name="t_document">
+		<w:document mc:Ignorable="w14 wp14">
+			<w:body>
+				<w:p>
+					<w:pPr>
+						<w:pStyle w:val="Heading1" />
+					</w:pPr>
+					<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+					<w:bookmarkStart w:name="_Topic" w:id="0" />
+					<w:bookmarkEnd w:id="0" />
+					<w:r>
+						<w:t>
+							<include item="boilerplate_pageTitle">
+								<parameter>
+									<xsl:choose>
+										<xsl:when test="normalize-space(/document/metadata/title)">
+											<xsl:value-of select="normalize-space(/document/metadata/title)"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="normalize-space(/document/topic/*/ddue:title)"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</parameter>
+							</include>
+						</w:t>
+					</w:r>
+				</w:p>
+				<xsl:apply-templates select="topic"/>
+			</w:body>
+		</w:document>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections that behave differently in conceptual and reference
+	============================================================================================= -->
+
+	<!-- Ignore the title -->
+	<xsl:template match="ddue:title" />
+
+	<xsl:template match="ddue:introduction">
+		<!-- Display the introduction only if it has content -->
+		<xsl:if test="count(*) &gt; 0">
+			<xsl:apply-templates select="@address"/>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameters">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_parameters'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:returnValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:choose>
+				<xsl:when test="(normalize-space(ddue:content)='') and ddue:sections/ddue:section[ddue:title='Property Value']">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude" select="'title_propertyValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:sections/ddue:section[ddue:title='Property Value']/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude" select="'title_returnValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:exceptions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedSections">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedSections'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedTopics">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+			<w:bookmarkStart w:name="_SeeAlso" w:id="0" />
+			<w:bookmarkEnd w:id="0" />
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates select="/document/topic/*/ddue:relatedTopics" mode="seeAlso"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeExample">
+		<!-- Create Example section for the first codeExample node -->
+		<xsl:if test="not(preceding-sibling::ddue:codeExample) and ../ddue:codeExample[normalize-space(.)!='']">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_example'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+					<!-- If there are additional codeExample nodes, put them inside this section -->
+					<xsl:for-each select="following-sibling::ddue:codeExample">
+						<xsl:apply-templates/>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeReference">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	<autoOutline/> or <autoOutline>[#]</autoOutline>
+  
+	Inserts a bullet list of links to the topic's sections or a section's sub-sections with optional support for
+	limiting the expansion down to a specific level.  Authors can use the tag directly or specify a token (defined
+	in a token file) in a topic's introduction to get a bullet list of the sections; or in a
+	ddue:section/ddue:content to get a bullet list of the section's sub-sections.  If the token is used, the
+	shared content component replaces <token>autoOutline</token> with an <autoOutline/> node that you specify.
+	This was the old way of doing it but this version allows it to be specified directly like any other MAML tag.
+	Examples:
+
+  <autoOutline/>                Show only top-level topic titles
+  <autoOutline>1</autoOutline>  Show top-level titles and titles for one level down
+  <autoOutline>3</autoOutline>  Show titles from the top down to three levels
+	============================================================================================= -->
+
+	<xsl:template match="autoOutline|ddue:autoOutline" name="t_autoOutline">
+		<xsl:variable name="v_maxDepth">
+			<xsl:choose>
+				<xsl:when test="normalize-space(.)">
+					<xsl:value-of select="number(normalize-space(.))"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="number(0)"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_intro" select="@lead"/>
+		<xsl:variable name="p_outlineType">
+			<xsl:choose>
+				<xsl:when test="@excludeRelatedTopics = 'true'">
+					<xsl:value-of select="string('topNoRelated')"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="string('toplevel')"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:choose>
+			<!-- If <autoOutline/> is in introduction, it outlines the topic's top level sections -->
+			<xsl:when test="ancestor::ddue:introduction">
+				<xsl:for-each select="ancestor::ddue:introduction/parent::*">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">
+							<xsl:value-of select="$p_outlineType"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- If <autoOutline/> is in section/content, it outlines the section's subsections -->
+			<xsl:when test="ancestor::ddue:content[parent::ddue:section]">
+				<xsl:for-each select="ancestor::ddue:content/parent::ddue:section/ddue:sections">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">subsection</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_insertAutoOutline">
+		<xsl:param name="p_intro"/>
+		<xsl:param name="p_outlineType"/>
+		<xsl:param name="p_depth"/>
+		<xsl:param name="p_maxDepth"/>
+		<!-- Insert an outline if there are sections with title and address -->
+		<xsl:if test="ddue:section[ddue:title[normalize-space(.)!='']]">
+			<!-- Insert a boilerplate intro -->
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_intro) = 'none'">
+					<xsl:text></xsl:text>
+				</xsl:when>
+				<xsl:when test="normalize-space($p_intro)">
+					<w:p>
+						<w:r>
+							<w:t>
+								<xsl:value-of select="normalize-space($p_intro)"/>
+							</w:t>
+						</w:r>
+					</w:p>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='toplevel' or $p_outlineType='topNoRelated'">
+					<w:p>
+						<w:r>
+							<w:t>
+								<include item="boilerplate_autoOutlineTopLevelIntro"/>
+							</w:t>
+						</w:r>
+					</w:p>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='subsection'">
+					<w:p>
+						<w:r>
+							<w:t>
+								<include item="boilerplate_autoOutlineSubsectionIntro"/>
+							</w:t>
+						</w:r>
+					</w:p>
+				</xsl:when>
+			</xsl:choose>
+			<xsl:for-each select="ddue:section[ddue:title[normalize-space(.)!='']]">
+				<xsl:call-template name="t_outlineSectionEntry">
+					<xsl:with-param name="p_depth">
+						<xsl:value-of select="$p_depth"/>
+					</xsl:with-param>
+				</xsl:call-template>
+
+				<!-- Expand sub-sections too if wanted up to a maximum of 9 level (Open XML's limit) -->
+				<xsl:if test="$p_depth &lt; $p_maxDepth and $p_depth &lt; 9">
+					<xsl:for-each select="ddue:sections">
+						<xsl:call-template name="t_insertAutoOutline">
+							<xsl:with-param name="p_outlineType">subsubsection</xsl:with-param>
+							<xsl:with-param name="p_depth">
+								<xsl:value-of select="$p_depth + 1"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_maxDepth">
+								<xsl:value-of select="$p_maxDepth"/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:for-each>
+			<!-- For top level outlines include a link to See Also -->
+			<xsl:if test="starts-with($p_outlineType,'toplevel') and count(//ddue:relatedTopics/*) > 0">
+				<w:p>
+					<w:pPr>
+						<w:pStyle w:val="ListParagraph" />
+						<w:numPr>
+							<w:ilvl w:val="0" />
+							<w:numId w:val="1" />
+						</w:numPr>
+					</w:pPr>
+					<w:hyperlink w:history="1" w:anchor="_SeeAlso">
+						<w:r>
+							<w:rPr>
+								<w:rStyle w:val="Hyperlink" />
+							</w:rPr>
+							<w:t>
+								<include item="title_relatedTopics"/>
+							</w:t>
+						</w:r>
+					</w:hyperlink>
+				</w:p>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- A list item in the outline's bullet list-->
+	<xsl:template name="t_outlineSectionEntry">
+		<xsl:param name="p_depth"/>
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or count(ddue:content/*) &gt; 0">
+			<xsl:choose>
+				<xsl:when test="@address">
+					<w:p>
+						<w:pPr>
+							<w:pStyle w:val="ListParagraph" />
+							<w:numPr>
+								<w:ilvl w:val="{string($p_depth)}" />
+								<w:numId w:val="1" />
+							</w:numPr>
+						</w:pPr>
+						<w:hyperlink w:history="1" w:anchor="_{string(@address)}">
+							<w:r>
+								<w:rPr>
+									<w:rStyle w:val="Hyperlink" />
+								</w:rPr>
+								<w:t>
+									<xsl:value-of select="ddue:title"/>
+								</w:t>
+							</w:r>
+						</w:hyperlink>
+					</w:p>
+				</xsl:when>
+				<xsl:otherwise>
+					<w:p>
+						<w:pPr>
+							<w:pStyle w:val="ListParagraph" />
+							<w:numPr>
+								<w:ilvl w:val="{string($p_depth)}" />
+								<w:numId w:val="1" />
+							</w:numPr>
+						</w:pPr>
+						<w:r>
+							<w:t>
+								<xsl:value-of select="ddue:title"/>
+							</w:t>
+						</w:r>
+					</w:p>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:if test="normalize-space(ddue:summary)">
+				<w:p>
+					<w:pPr>
+						<w:ind w:left="720" w:hanging="360" />
+					</w:pPr>
+					<xsl:apply-templates select="ddue:summary/para[1]/*"/>
+				</w:p>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ====================================================================================================== -->
+
+	<!-- Bibliography is not supported -->
+	<xsl:template match="ddue:bibliography" />
+	<xsl:template match="ddue:cite" />
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MainSandcastle.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MainSandcastle.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..06195c38871164f90fef2ca30b434acf1bacb44a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/MainSandcastle.xsl
@@ -0,0 +1,1321 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
+								xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+								xmlns:o="urn:schemas-microsoft-com:office:office"
+								xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+								xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+								xmlns:v="urn:schemas-microsoft-com:vml"
+								xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
+								xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+								xmlns:w10="urn:schemas-microsoft-com:office:word"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+								xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
+								xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
+								xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
+								xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
+								xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
+								xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+								xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main"
+								xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="GlobalTemplates.xsl" />
+	<xsl:import href="CodeTemplates.xsl" />
+	<xsl:import href="ReferenceUtilities.xsl" />
+	<xsl:import href="HTMLTemplates.xsl" />
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters
+	============================================================================================= -->
+
+	<xsl:param name="omitXmlnsBoilerplate" select="'false'"/>
+	<xsl:param name="omitVersionInformation" select="'false'"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_abstractSummary" select="/document/comments/summary"/>
+	<xsl:variable name="g_hasSeeAlsoSection"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads)] |
+		/document/comments/conceptualLink |
+		/document/reference/elements/element/overloads//seealso) > 0)  or 
+    ($g_apiTopicGroup='type' or $g_apiTopicGroup='member' or $g_apiTopicGroup='list'))"/>
+
+	<!-- ============================================================================================
+	Document
+	============================================================================================= -->
+
+	<xsl:template match="/">
+		<w:document mc:Ignorable="w14 wp14">
+			<!-- This is used by the Save Component to get the filename.  It won't end up in the final result. -->
+			<file>
+				<xsl:attribute name="name">
+					<xsl:value-of select="/document/reference/file/@name" />
+				</xsl:attribute>
+			</file>
+			<w:body>
+				<w:p>
+					<w:pPr>
+						<w:pStyle w:val="Heading1" />
+					</w:pPr>
+					<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+					<w:bookmarkStart w:name="_Topic" w:id="0" />
+					<w:bookmarkEnd w:id="0" />
+					<include item="boilerplate_pageTitle">
+						<parameter>
+							<xsl:call-template name="t_topicTitleDecorated"/>
+						</parameter>
+					</include>
+				</w:p>
+				<xsl:call-template name="t_body"/>
+			</w:body>
+		</w:document>
+	</xsl:template>
+
+
+	<!-- ============================================================================================
+	Body
+	============================================================================================= -->
+
+	<xsl:template name="t_body">
+
+		<!-- Auto-inserted info -->
+		<xsl:apply-templates select="/document/comments/preliminary"/>
+
+		<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+			<w:p>
+				<include item="boilerplate_obsoleteLong"/>
+			</w:p>
+		</xsl:if>
+
+
+		<xsl:apply-templates select="/document/comments/summary"/>
+		<xsl:if test="$g_apiTopicSubGroup='overload'">
+			<xsl:apply-templates select="/document/reference/elements" mode="overloadSummary"/>
+		</xsl:if>
+
+		<!-- Inheritance -->
+		<xsl:apply-templates select="/document/reference/family"/>
+
+		<!-- Assembly information -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:call-template name="t_putRequirementsInfo"/>
+		</xsl:if>
+
+		<!-- Syntax -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/syntax"/>
+		</xsl:if>
+
+		<!-- Members -->
+		<xsl:choose>
+			<xsl:when test="$g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root'">
+				<xsl:apply-templates select="/document/reference/elements" mode="root"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:apply-templates select="/document/reference/elements" mode="namespace"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespaceGroup'">
+				<xsl:apply-templates select="/document/reference/elements" mode="namespaceGroup" />
+			</xsl:when>
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:apply-templates select="/document/reference/elements" mode="enumeration"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:apply-templates select="/document/reference/elements" mode="type"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='list'">
+				<xsl:choose>
+					<xsl:when test="$g_apiTopicSubGroup='overload'">
+						<xsl:apply-templates select="/document/reference/elements" mode="overload"/>
+					</xsl:when>
+					<xsl:when test="$g_apiTopicSubGroup='DerivedTypeList'">
+						<xsl:apply-templates select="/document/reference/elements" mode="derivedType"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates select="/document/reference/elements" mode="member"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+		</xsl:choose>
+
+		<!-- Events -->
+		<xsl:call-template name="t_events"/>
+		<!-- Exceptions -->
+		<xsl:call-template name="t_exceptions"/>
+		<!-- Remarks -->
+		<xsl:apply-templates select="/document/comments/remarks"/>
+		<!-- Examples -->
+		<xsl:apply-templates select="/document/comments/example"/>
+
+		<!-- Contracts -->
+		<xsl:call-template name="t_contracts"/>
+		<!-- Versions -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/reference/versions"/>
+		</xsl:if>
+		<!-- Permissions -->
+		<xsl:call-template name="t_permissions"/>
+		<!-- Thread safety -->
+		<xsl:apply-templates select="/document/comments/threadsafety"/>
+
+		<!-- See also -->
+		<xsl:call-template name="t_putSeeAlsoSection"/>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<xsl:template match="para" name="t_para">
+		<w:p>
+			<xsl:apply-templates/>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="c" name="t_codeInline">
+		<span class="CodeInline">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="preliminary" name="t_preliminary">
+		<w:p>
+			<w:pPr>
+				<w:pStyle w:val="Emphasis" />
+			</w:pPr>
+			<xsl:choose>
+				<xsl:when test="normalize-space(.)">
+					<xsl:apply-templates/>
+				</xsl:when>
+				<xsl:otherwise>
+					<include item="preliminaryText" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="paramref" name="t_paramref">
+		<span class="Parameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="typeparamref" name="t_typeparamref">
+		<span class="TypeParameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block sections
+	============================================================================================= -->
+
+	<xsl:template match="summary" name="t_summary">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="value" name="t_value">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_fieldValue"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="returns" name="t_returns">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_methodValue"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="remarks" name="t_remarks">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_remarks'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="example" name="t_example">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_examples'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="code" name="t_code">
+		<xsl:variable name="v_codeLang">
+			<xsl:call-template name="t_codeLang">
+				<xsl:with-param name="p_codeLang" select="@language" />
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:call-template name="t_putCodeSection">
+			<xsl:with-param name="p_codeLang" select="$v_codeLang" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="syntax" name="t_syntax">
+		<xsl:if test="count(*) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_syntax'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_putCodeSections">
+						<xsl:with-param name="p_codeNodes" select="./div[@codeLanguage]"/>
+						<xsl:with-param name="p_nodeCount" select="count(./div[@codeLanguage])"/>
+						<xsl:with-param name="p_codeLangAttr" select="'codeLanguage'"/>
+					</xsl:call-template>
+
+					<!-- Source context -->
+					<xsl:apply-templates select="/document/reference/sourceContext" />
+
+					<!-- Parameters & return value -->
+					<xsl:apply-templates select="/document/reference/parameters"/>
+					<xsl:apply-templates select="/document/reference/templates"/>
+					<xsl:choose>
+						<xsl:when test="/document/comments/value | /document/comments/returns">
+							<xsl:apply-templates select="/document/comments/value" />
+							<xsl:apply-templates select="/document/comments/returns" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="/document/reference/returns[1] | /document/reference/eventhandler/type">
+								<xsl:call-template name="defaultReturnSection" />
+							</xsl:if>
+						</xsl:otherwise>
+					</xsl:choose>
+
+					<xsl:apply-templates select="/document/reference/implements"/>
+
+					<!-- Usage note for extension methods -->
+					<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.ExtensionAttribute'] and boolean($g_apiSubGroup='method')">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_extensionUsage"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<include item="text_extensionUsage">
+									<parameter>
+										<xsl:apply-templates select="/document/reference/parameters/parameter[1]/type" mode="link"/>
+									</parameter>
+								</include>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="defaultReturnSection">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='field']">
+						<include item="title_fieldValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='event']">
+						<include item="title_value" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_methodValue" />
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/apidata[@subgroup='event']">
+								<xsl:apply-templates select="/document/reference/eventhandler/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="overloads" mode="summary" name="t_overloadsSummary">
+		<xsl:choose>
+			<xsl:when test="count(summary) > 0">
+				<xsl:apply-templates select="summary"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="overloads" mode="sections" name="t_overloadsSections">
+		<xsl:apply-templates select="remarks"/>
+		<xsl:apply-templates select="example"/>
+	</xsl:template>
+
+	<xsl:template match="templates" name="t_templates">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_templates"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:for-each select="template">
+					<xsl:variable name="templateName" select="@name"/>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+						<span class="Parameter">
+							<xsl:value-of select="$templateName"/>
+						</span>
+					</w:p>
+					<xsl:apply-templates select="/document/comments/typeparam[@name=$templateName]"/>
+				</xsl:for-each>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_events">
+		<xsl:if test="count(/document/comments/event) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_events'"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_eventType"/>
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_eventReason"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<xsl:for-each select="/document/comments/event">
+							<w:tr>
+								<w:tc>
+									<referenceLink target="{@cref}" qualified="false"/>
+								</w:tc>
+								<w:tc>
+									<xsl:apply-templates select="."/>
+								</w:tc>
+							</w:tr>
+						</xsl:for-each>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_exceptions">
+		<xsl:if test="count(/document/comments/exception) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_exceptionName"/>
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_exceptionCondition"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<xsl:for-each select="/document/comments/exception">
+							<w:tr>
+								<w:tc>
+									<referenceLink target="{@cref}" qualified="false"/>
+								</w:tc>
+								<w:tc>
+									<xsl:apply-templates select="."/>
+								</w:tc>
+							</w:tr>
+						</xsl:for-each>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="threadsafety" name="t_threadsafety">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_threadSafety'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="normalize-space(.)">
+						<xsl:apply-templates/>
+					</xsl:when>
+					<xsl:when test="(not(@instance) and not(@static)) or (@static='true' and @instance='false')">
+						<include item="boilerplate_threadSafety" />
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:if test="@static='true'">
+							<include item="text_staticThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@static='false'">
+							<include item="text_staticNotThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='true'">
+							<include item="text_instanceThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='false'">
+							<include item="text_instanceNotThreadSafe"/>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_permissions">
+		<xsl:if test="count(/document/comments/permission) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_permissions'"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_permissionName"/>
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_permissionDescription"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<xsl:for-each select="/document/comments/permission">
+							<w:tr>
+								<w:tc>
+									<referenceLink target="{@cref}" qualified="false"/>
+								</w:tc>
+								<w:tc>
+									<xsl:apply-templates select="."/>
+								</w:tc>
+							</w:tr>
+						</xsl:for-each>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_contracts">
+		<xsl:variable name="v_requires" select="/document/comments/requires"/>
+		<xsl:variable name="v_ensures" select="/document/comments/ensures"/>
+		<xsl:variable name="v_ensuresOnThrow" select="/document/comments/ensuresOnThrow"/>
+		<xsl:variable name="v_invariants" select="/document/comments/invariant"/>
+		<xsl:variable name="v_setter" select="/document/comments/setter"/>
+		<xsl:variable name="v_getter" select="/document/comments/getter"/>
+		<xsl:variable name="v_pure" select="/document/comments/pure"/>
+		<xsl:if test="$v_requires or $v_ensures or $v_ensuresOnThrow or $v_invariants or $v_setter or $v_getter or $v_pure">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_contracts'"/>
+				<xsl:with-param name="p_content">
+					<!-- Purity -->
+					<xsl:if test="$v_pure">
+						<include item="contracts_PureMethod" />
+					</xsl:if>
+					<!-- Contracts -->
+					<xsl:if test="$v_getter">
+						<xsl:variable name="v_getterRequires"	select="$v_getter/requires"/>
+						<xsl:variable name="v_getterEnsures" select="$v_getter/ensures"/>
+						<xsl:variable name="v_getterEnsuresOnThrow" select="$v_getter/ensuresOnThrow"/>
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_getter"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:if test="$v_getterRequires">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_requiresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_getterRequires"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_getterEnsures">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_getterEnsures"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_getterEnsuresOnThrow">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresOnThrowName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_getterEnsuresOnThrow"/>
+									</xsl:call-template>
+								</xsl:if>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_setter">
+						<xsl:variable name="v_setterRequires" select="$v_setter/requires"/>
+						<xsl:variable name="v_setterEnsures" select="$v_setter/ensures"/>
+						<xsl:variable name="v_setterEnsuresOnThrow" select="$v_setter/ensuresOnThrow"/>
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_setter"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:if test="$v_setterRequires">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_requiresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_setterRequires"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_setterEnsures">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_setterEnsures"/>
+									</xsl:call-template>
+								</xsl:if>
+								<xsl:if test="$v_setterEnsuresOnThrow">
+									<xsl:call-template name="t_contractsTable">
+										<xsl:with-param name="p_title">
+											<include item="header_ensuresOnThrowName"/>
+										</xsl:with-param>
+										<xsl:with-param name="p_contracts" select="$v_setterEnsuresOnThrow"/>
+									</xsl:call-template>
+								</xsl:if>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_requires">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_requiresName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_requires"/>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_ensures">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_ensuresName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_ensures"/>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_ensuresOnThrow">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_ensuresOnThrowName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_ensuresOnThrow"/>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$v_invariants">
+						<xsl:call-template name="t_contractsTable">
+							<xsl:with-param name="p_title">
+								<include item="header_invariantsName"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_contracts" select="$v_invariants"/>
+						</xsl:call-template>
+					</xsl:if>
+					<!-- Contracts link -->
+					<w:p>
+						<a>
+							<xsl:attribute name="href">
+								<xsl:text>https://github.com/Microsoft/CodeContracts</xsl:text>
+							</xsl:attribute>
+							<xsl:attribute name="rel">
+								<xsl:text>noopener noreferrer</xsl:text>
+							</xsl:attribute>
+							<include item="contracts_LearnMore" />
+						</a>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_contractsTable">
+		<xsl:param name="p_title"/>
+		<xsl:param name="p_contracts"/>
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="GeneralTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+			</w:tblPr>
+			<w:tr>
+				<w:trPr>
+					<w:cnfStyle w:val="100000000000" />
+				</w:trPr>
+				<w:tc>
+					<w:p>
+						<w:r>
+							<w:t><xsl:copy-of select="$p_title"/></w:t>
+						</w:r>
+					</w:p>
+				</w:tc>
+			</w:tr>
+			<xsl:for-each select="$p_contracts">
+				<w:tr>
+					<w:tc>
+						<w:tbl>
+							<w:tblPr>
+								<w:tblStyle w:val="CodeTable"/>
+								<w:tblW w:w="5000" w:type="pct"/>
+								<w:tblLook w:firstRow="0" w:noHBand="1" w:noVBand="1"/>
+							</w:tblPr>
+							<w:tr>
+								<w:tc>
+									<w:p>
+										<w:r>
+											<!-- Keep this on the same line to prevent extra space from getting included -->
+											<w:t xml:space="preserve"><xsl:value-of select="."/></w:t>
+										</w:r>
+									</w:p>
+								</w:tc>
+							</w:tr>
+						</w:tbl>
+						<xsl:if test="@description or @inheritedFrom or @exception">
+							<w:tbl>
+								<w:tblPr>
+									<w:tblStyle w:val="GeneralTable"/>
+									<w:tblW w:w="5000" w:type="pct"/>
+									<w:tblLook w:firstRow="0" w:noHBand="1" w:noVBand="1"/>
+								</w:tblPr>
+								<xsl:if test="@description">
+									<w:tr>
+										<w:tc>
+											<span class="Emphasis"><include item="contracts_Description" /></span>
+										</w:tc>
+										<w:tc>
+											<xsl:value-of select="@description"/>
+										</w:tc>
+									</w:tr>
+								</xsl:if>
+								<xsl:if test="@inheritedFrom">
+									<w:tr>
+										<w:tc>
+											<span class="Emphasis">
+												<include item="contracts_InheritedFrom" />
+											</span>
+										</w:tc>
+										<w:tc>
+											<!-- Change the ID type and strip "get_" and "set_" prefixes from property member IDs -->
+											<xsl:variable name="inheritedMemberId">
+												<xsl:choose>
+													<xsl:when test="contains(@inheritedFrom, '.get_')">
+														<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.get_'), '.', substring-after(@inheritedFrom, '.get_'))"/>
+													</xsl:when>
+													<xsl:when test="contains(@inheritedFrom, '.set_')">
+														<!-- For the setter, we need to strip the last parameter too -->
+														<xsl:variable name="lastParam">
+															<xsl:call-template name="t_getLastParameter">
+																<xsl:with-param name="p_string" select="@inheritedFrom" />
+															</xsl:call-template>
+														</xsl:variable>
+														<xsl:variable name="setterName">
+															<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.set_'), '.', substring-after(@inheritedFrom, '.set_'))"/>
+														</xsl:variable>
+														<xsl:value-of select="concat(substring-before($setterName, $lastParam), ')')"/>
+													</xsl:when>
+													<xsl:otherwise>
+														<xsl:value-of select="@inheritedFrom"/>
+													</xsl:otherwise>
+												</xsl:choose>
+											</xsl:variable>
+											<referenceLink target="{$inheritedMemberId}">
+												<xsl:value-of select="@inheritedFromTypeName"/>
+											</referenceLink>
+										</w:tc>
+									</w:tr>
+								</xsl:if>
+								<xsl:if test="@exception">
+									<w:tr>
+										<w:tc>
+											<span class="Emphasis">
+												<include item="contracts_Exception" />
+											</span>
+										</w:tc>
+										<w:tc>
+											<referenceLink target="{@exception}" qualified="false"/>
+										</w:tc>
+									</w:tr>
+								</xsl:if>
+							</w:tbl>
+						</xsl:if>
+						<w:p/>
+					</w:tc>
+				</w:tr>
+			</xsl:for-each>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<!-- Gets the parameter following the last comma in the given string -->
+	<xsl:template name="t_getLastParameter">
+		<xsl:param name="p_string" />
+		<xsl:choose>
+			<xsl:when test="contains($p_string, ',')">
+				<xsl:call-template name="t_getLastParameter">
+					<xsl:with-param name="p_string" select="substring-after($p_string, ',')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="concat(',', $p_string)" />
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_putSeeAlsoSection">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<!-- The Open XML file builder task will reformat the bookmark name and ID to ensure that they are unique -->
+			<w:bookmarkStart w:name="_SeeAlso" w:id="0" />
+			<w:bookmarkEnd w:id="0" />
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+					<xsl:for-each select="/document/comments//seealso[not(ancestor::overloads)] | /document/reference/elements/element/overloads//seealso">
+						<w:p>
+							<w:pPr>
+								<w:spacing w:after="0" />
+							</w:pPr>
+							<xsl:apply-templates select=".">
+								<xsl:with-param name="displaySeeAlso" select="true()"/>
+							</xsl:apply-templates>
+						</w:p>
+					</xsl:for-each>
+					<!-- Copy conceptualLink elements as-is -->
+					<xsl:for-each select="/document/comments/conceptualLink">
+						<w:p>
+							<w:pPr>
+								<w:spacing w:after="0" />
+							</w:pPr>
+							<xsl:copy-of select="."/>
+						</w:p>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists
+	============================================================================================= -->
+
+	<xsl:template match="list[@type='bullet' or @type='number' or @type='nobullet' or @type='']" name="t_itemList">
+		<ul>
+			<xsl:attribute name="class">
+				<xsl:value-of select="@type" />
+			</xsl:attribute>
+			<xsl:if test="@type='number' and @start">
+				<xsl:attribute name="start">
+					<xsl:value-of select="@start"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:for-each select="item">
+				<li>
+					<xsl:choose>
+						<xsl:when test="term and description">
+							<w:p>
+								<span class="Bold">
+									<xsl:apply-templates select="term" />
+								</span>
+								<xsl:text> - </xsl:text>
+								<xsl:apply-templates select="description" />
+							</w:p>
+						</xsl:when>
+						<xsl:when test="term or description">
+							<xsl:apply-templates select="term" />
+							<xsl:apply-templates select="description" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:apply-templates />
+						</xsl:otherwise>
+					</xsl:choose>
+				</li>
+			</xsl:for-each>
+		</ul>
+	</xsl:template>
+
+	<xsl:template match="list[@type='table']" name="t_tableList">
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="GeneralTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<xsl:choose>
+					<xsl:when test="listheader">
+						<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<w:tblLook w:firstRow="0" w:noHBand="1" w:noVBand="1"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</w:tblPr>
+			<xsl:for-each select="listheader">
+				<w:tr>
+					<xsl:for-each select="*">
+						<w:tc>
+							<xsl:apply-templates/>
+						</w:tc>
+					</xsl:for-each>
+				</w:tr>
+			</xsl:for-each>
+			<xsl:for-each select="item">
+				<w:tr>
+					<xsl:for-each select="*">
+						<w:tc>
+							<xsl:apply-templates/>
+						</w:tc>
+					</xsl:for-each>
+				</w:tr>
+			</xsl:for-each>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template match="list[@type='definition']" name="t_definitionList">
+		<xsl:for-each select="item">
+			<w:p>
+				<w:pPr>
+					<w:spacing w:after="0" />
+				</w:pPr>
+				<span class="Bold">
+					<xsl:apply-templates select="term"/>
+				</span>
+			</w:p>
+			<xsl:apply-templates select="description"/>
+		</xsl:for-each>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<xsl:template match="conceptualLink">
+		<xsl:choose>
+			<xsl:when test="normalize-space(.)">
+				<conceptualLink target="{@target}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<conceptualLink target="{@target}"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@cref]" name="t_seeCRef">
+		<xsl:choose>
+			<xsl:when test="starts-with(@cref,'R:')">
+				<referenceLink target="{@cref}">
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<include item="topicTitle_root" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="starts-with(@cref,'O:')">
+				<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+					show-parameters="false">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="@qualifyHint">
+								<xsl:attribute name="show-container">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+								<xsl:attribute name="show-parameters">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+							</xsl:if>
+							<include item="boilerplate_seeAlsoOverloadLink">
+								<parameter>{0}</parameter>
+							</include>
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="normalize-space(.)">
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:apply-templates/>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="@qualifyHint">
+						<xsl:attribute name="show-container">
+							<xsl:value-of select="@qualifyHint"/>
+						</xsl:attribute>
+						<xsl:attribute name="show-parameters">
+							<xsl:value-of select="@qualifyHint"/>
+						</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@href]" name="t_seeHRef">
+		<xsl:call-template name="t_hyperlink">
+			<xsl:with-param name="p_content" select="."/>
+			<xsl:with-param name="p_href" select="@href"/>
+			<xsl:with-param name="p_alt" select="@alt"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="see[@langword]">
+		<xsl:choose>
+			<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
+				<include item="devlang_nullKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='static' or @langword='Shared'">
+				<include item="devlang_staticKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='virtual' or @langword='Overridable'">
+				<include item="devlang_virtualKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='true' or @langword='True'">
+				<include item="devlang_trueKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='false' or @langword='False'">
+				<include item="devlang_falseKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='abstract' or @langword='MustInherit'">
+				<include item="devlang_abstractKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='sealed' or @langword='NotInheritable'">
+				<include item="devlang_sealedKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='async' or @langword='async'">
+				<include item="devlang_asyncKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='await' or @langword='Await' or @langword='let!'">
+				<include item="devlang_awaitKeyword"/>
+			</xsl:when>
+			<xsl:when test="@langword='async/await' or @langword='Async/Await' or @langword='async/let!'">
+				<include item="devlang_asyncAwaitKeyword"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="Keyword">
+					<xsl:value-of select="@langword" />
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="seealso[@href]" name="t_seealsoHRef">
+		<xsl:param name="displaySeeAlso" select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:call-template name="t_hyperlink">
+				<xsl:with-param name="p_content" select="."/>
+				<xsl:with-param name="p_href" select="@href"/>
+				<xsl:with-param name="p_alt" select="@alt"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="seealso" name="t_seealso">
+		<xsl:param name="displaySeeAlso" select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:choose>
+				<xsl:when test="starts-with(@cref,'R:')">
+					<referenceLink target="{@cref}">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:value-of select="." />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="topicTitle_root" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="starts-with(@cref,'O:')">
+					<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+						show-parameters="false">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:apply-templates />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="boilerplate_seeAlsoOverloadLink">
+									<parameter>{0}</parameter>
+								</include>
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="normalize-space(.)">
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:apply-templates />
+					</referenceLink>
+				</xsl:when>
+				<xsl:otherwise>
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+					</referenceLink>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_hyperlink">
+		<xsl:param name="p_content"/>
+		<xsl:param name="p_href"/>
+		<xsl:param name="p_alt"/>
+
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="$p_href"/>
+			</xsl:attribute>
+			<xsl:attribute name="target">_blank</xsl:attribute>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:if test="normalize-space($p_alt)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space($p_alt)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_content)">
+					<xsl:value-of select="normalize-space($p_content)"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$p_href"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</a>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="note" name="t_note">
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass" select="@type"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_getParameterDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getReturnsDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getElementDescription">
+		<xsl:apply-templates select="summary[1]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSummary">
+		<xsl:apply-templates select="overloads" mode="summary"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSections">
+		<xsl:apply-templates select="overloads" mode="sections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================ -->
+
+	<!-- Pass through a chunk of markup.  This will allow build components to add Open XML or other elements such
+			 as "include" for localized shared content to a pre-transformed document.  This prevents it being removed
+			 as unrecognized content by the transformations. -->
+	<xsl:template match="markup">
+		<xsl:copy-of select="node()"/>
+	</xsl:template>
+	
+	<!-- Bibliography is not supported -->
+	<xsl:template match="cite" />
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/ReferenceUtilities.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/ReferenceUtilities.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..f442741592982b946668bf78ea34bd91ce7e1bf1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/ReferenceUtilities.xsl
@@ -0,0 +1,2355 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+>
+	<!-- ======================================================================================== -->
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the api identifier string - see globalTemplates for others
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+	<xsl:param name="maxVersionParts" />
+	<xsl:param name="includeEnumValues" select="string('true')" />
+	<xsl:param name="baseSourceCodeUrl" />
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_typeTopicId">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata[@group='api'] and /document/reference/apidata[@group='type']">
+				<xsl:value-of select="$key"/>
+			</xsl:when>
+			<xsl:when test="/document/reference/topicdata/@typeTopicId">
+				<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/containers/type/@api"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicGroup" select="/document/reference/topicdata/@group"/>
+	<xsl:variable name="g_apiGroup" select="/document/reference/apidata/@group"/>
+	<xsl:variable name="g_apiTopicGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@group"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@group"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicSubGroup" select="/document/reference/topicdata/@subgroup"/>
+	<xsl:variable name="g_apiSubGroup" select="/document/reference/apidata/@subgroup"/>
+	<xsl:variable name="g_apiTopicSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_apiSubSubGroup" select="/document/reference/apidata/@subsubgroup"/>
+	<xsl:variable name="g_apiTopicSubSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subsubgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subsubgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_namespaceName" select="/document/reference/containers/namespace/apidata/@name"/>
+
+	<!-- ============================================================================================
+	The plain-text title used in the TOC 
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitlePlain">
+		<xsl:param name="p_qualifyMembers" select="false()"/>
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<!-- the subsubgroup, subgroup, or group determines the title -->
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- v_operators + type v_conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no v_operators + type v_conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- v_operators + no type v_conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNamePlain">
+					<xsl:with-param name="p_qualifyMembers" select="$p_qualifyMembers"/>
+				</xsl:call-template>
+			</parameter>
+			<parameter>
+				<!-- show parameters only for overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesPlain"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesPlain"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- When positioned on a parameterized API, produces a (plain) comma-separated list of parameter types -->
+	<xsl:template name="t_parameterTypesPlain">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template" mode="plain"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (plain) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesPlain">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|
+				parameters/parameter[1]/pointerTo|parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+				mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+        returns[1]/template" mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNamePlain">
+		<xsl:param name="p_qualifyMembers" select="false()"/>
+		<xsl:choose>
+			<!-- type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- member pages use the member name, qualified if the qualified flag is set -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<!-- check for qualify flag and qualify if it is set -->
+				<xsl:if test="$p_qualifyMembers">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="t_typeNamePlain"/>
+					</xsl:for-each>
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>.</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+				<xsl:choose>
+					<!-- EII names are interfaceName.interfaceMemberName, not memberName -->
+					<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+						<xsl:for-each select="/document/reference/implements/member">
+							<xsl:for-each select="type">
+								<xsl:call-template name="t_typeNamePlain"/>
+							</xsl:for-each>
+							<xsl:text>.</xsl:text>
+							<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+							<xsl:choose>
+								<xsl:when test="apidata/@name">
+									<xsl:value-of select="apidata/@name" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:call-template name="t_getTrimmedLastPeriod">
+										<xsl:with-param name="p_string" select="@api" />
+									</xsl:call-template>
+								</xsl:otherwise>
+							</xsl:choose>
+							<xsl:apply-templates select="templates" mode="plain"/>
+						</xsl:for-each>
+					</xsl:when>
+					<!-- Use just the plain, unadorned api name for overload pages with templates -->
+					<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+						<xsl:value-of select="/document/reference/apidata/@name"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- but other members just use the name -->
+						<xsl:for-each select="/document/reference[1]">
+							<xsl:value-of select="apidata/@name"/>
+							<xsl:apply-templates select="templates" mode="plain"/>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- namespace, member (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	The language-variant, marked-up topic title	used as the big title at the top of the page
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitleDecorated">
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- operators + type conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no operators + type conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- operators + no type conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNameDecorated"/>
+			</parameter>
+			<parameter>
+				<!-- show parameters only from overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup= 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- When positioned on a generic api, produces a (decorated) comma-separated list of template names -->
+	<xsl:template name="t_parameterTypesDecorated">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template" mode="decorated"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (decorated) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesDecorated">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|
+				parameters/parameter[1]/pointerTo|parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+				mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+				returns[1]/template" mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNameDecorated">
+		<xsl:choose>
+			<!-- Type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- Constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- EII members -->
+			<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:text>.</xsl:text>
+				<xsl:for-each select="/document/reference/implements/member">
+					<xsl:for-each select="type">
+						<xsl:call-template name="t_typeNameDecorated"/>
+					</xsl:for-each>
+					<xsl:text>.</xsl:text>
+					<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+					<xsl:choose>
+						<xsl:when test="apidata/@name">
+							<xsl:value-of select="apidata/@name" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_getTrimmedLastPeriod">
+								<xsl:with-param name="p_string" select="@api" />
+							</xsl:call-template>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- Use just the plain, unadorned type.api name for overload pages with templates -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:text>.</xsl:text>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:when>
+			<!-- Normal member pages use the qualified member name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:if test="not($g_apiSubSubGroup='operator'and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:text>.</xsl:text>
+				</xsl:if>
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- Namespace (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements processing
+	============================================================================================= -->
+
+	<xsl:template match="elements" mode="root" name="t_rootElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_namespaces'"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_namespaceName"/>
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_namespaceDescription"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<xsl:apply-templates select="element" mode="root">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespace" name="t_namespaceElements">
+
+		<xsl:if test="element/apidata/@subgroup = 'class'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'class'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'structure'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'structure'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'interface'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'interface'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'delegate'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'delegate'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'enumeration'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'enumeration'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespaceGroup" name="t_namespaceGroupElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'tableTitle_namespace'"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_namespaceName"/>
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_namespaceDescription"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<xsl:apply-templates select="element" mode="namespaceGroup">
+							<xsl:sort select="substring-after(@api, ':')"/>
+						</xsl:apply-templates>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespaceGroup" name="t_namespaceGroupElement">
+		<w:tr>
+			<w:tc>
+				<referenceLink target="{@api}" qualified="false"/>
+			</w:tc>
+			<w:tc>
+				<xsl:call-template name="t_getElementDescription"/>
+			</w:tc>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="enumeration" name="t_enumerationElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'topicTitle_enumMembers'"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<!-- Icon column -->
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_memberName"/>
+								</w:p>
+							</w:tc>
+							<xsl:if test="$includeEnumValues='true'">
+								<w:tc>
+									<w:p>
+										<w:pPr>
+											<w:keepNext />
+										</w:pPr>
+										<include item="header_memberValue"/>
+									</w:p>
+								</w:tc>
+							</xsl:if>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_memberDescription"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<xsl:apply-templates select="element" mode="enumeration"/>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="member" name="t_memberElements">
+
+		<!-- Filter out the Overload pages created by ApplyVSDocModel.xsl. These
+         pages (and the need for this filter) will go away once the full Brighton spec is implemented. -->
+		<xsl:variable name="filteredOverloadElements"
+									select="element[starts-with(@api, 'Overload:')]/element | element[not(starts-with(@api, 'Overload:'))]"/>
+
+		<xsl:call-template name="t_memberIntroBoilerplate"/>
+
+		<!-- Constructor table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">constructor</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">property</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">method</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">event</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Operator table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">operator</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Field table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">field</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Attached property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedProperty</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedProperty']]"/>
+		</xsl:call-template>
+
+		<!-- Attached event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedEvent</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedEvent']]"/>
+		</xsl:call-template>
+
+		<!-- Extension method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">extensionMethod</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='extension']]"/>
+		</xsl:call-template>
+
+		<!-- EII table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">explicitInterfaceImplementation</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[.//memberdata[@visibility='private'] and .//proceduredata[@virtual = 'true']]"/>
+		</xsl:call-template>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="type" name="t_typeElements">
+		<xsl:apply-templates select="." mode="member"/>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="derivedType">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'derivedClasses'"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_memberName"/>
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_memberDescription"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<xsl:apply-templates select="element" mode="derivedType">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overload" name="t_overloadElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putMemberListSection">
+				<xsl:with-param name="p_headerGroup" select="'overloadMembers'"/>
+				<xsl:with-param name="p_members" select="element"/>
+				<xsl:with-param name="p_showParameters" select="'true'"/>
+				<xsl:with-param name="p_sort" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+		<xsl:apply-templates select="element" mode="overloadSections">
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overloadSummary">
+		<xsl:apply-templates select="element" mode="overloadSummary" >
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putNamespaceSection">
+		<xsl:param name="p_listSubgroup"/>
+
+		<xsl:variable name="v_header" select="concat('tableTitle_', $p_listSubgroup)"/>
+
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="$v_header"/>
+			<xsl:with-param name="p_content">
+				<xsl:call-template name="t_putNamespaceList">
+					<xsl:with-param name="p_listSubgroup" select="$p_listSubgroup"/>
+				</xsl:call-template>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_putNamespaceList">
+		<xsl:param name="p_listSubgroup"/>
+		<w:tbl>
+			<w:tblPr>
+				<w:tblStyle w:val="GeneralTable"/>
+				<w:tblW w:w="5000" w:type="pct"/>
+				<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+			</w:tblPr>
+			<w:tr>
+				<w:trPr>
+					<w:cnfStyle w:val="100000000000" />
+				</w:trPr>
+				<w:tc>
+					<w:p>
+						<w:pPr>
+							<w:keepNext />
+						</w:pPr>
+						<!-- Icon column -->
+					</w:p>
+				</w:tc>
+				<w:tc>
+					<w:p>
+						<w:pPr>
+							<w:keepNext />
+						</w:pPr>
+						<include item="header_{$p_listSubgroup}Name"/>
+					</w:p>
+				</w:tc>
+				<w:tc>
+					<w:p>
+						<w:pPr>
+							<w:keepNext />
+						</w:pPr>
+						<include item="header_typeDescription"/>
+					</w:p>
+				</w:tc>
+			</w:tr>
+			<xsl:apply-templates select="element[apidata/@subgroup=$p_listSubgroup]" mode="namespace">
+				<xsl:sort select="@api"/>
+			</xsl:apply-templates>
+		</w:tbl>
+		<w:p>
+			<w:pPr>
+				<w:spacing w:after="0" />
+			</w:pPr>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template name="t_memberIntroBoilerplate">
+		<xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+			<!-- If there are exposed members, show a boilerplate intro paragraph -->
+			<xsl:variable name="v_introTextItemId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
+					<xsl:otherwise>exposedMembersTableText</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<w:p>
+				<include item="{$v_introTextItemId}">
+					<parameter>
+						<referenceLink target="{$g_typeTopicId}"/>
+					</parameter>
+					<parameter>
+						<xsl:value-of select="concat ('text_',$g_apiTopicSubGroup,'Upper')"/>
+					</parameter>
+				</include>
+			</w:p>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putMemberListSection">
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_showParameters" select="false()"/>
+		<xsl:param name="p_sort" select="true()"/>
+
+		<xsl:if test="count($p_members) &gt; 0">
+			<xsl:variable name="v_header">
+				<xsl:value-of select="concat('tableTitle_', $p_headerGroup)"/>
+			</xsl:variable>
+
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="$v_header"/>
+				<xsl:with-param name="p_content">
+					<w:tbl>
+						<w:tblPr>
+							<w:tblStyle w:val="GeneralTable"/>
+							<w:tblW w:w="5000" w:type="pct"/>
+							<w:tblLook w:firstRow="1" w:noHBand="1" w:noVBand="1"/>
+						</w:tblPr>
+						<w:tr>
+							<w:trPr>
+								<w:cnfStyle w:val="100000000000" />
+							</w:trPr>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<!-- Icon column -->
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_typeName"/>
+								</w:p>
+							</w:tc>
+							<w:tc>
+								<w:p>
+									<w:pPr>
+										<w:keepNext />
+									</w:pPr>
+									<include item="header_typeDescription"/>
+								</w:p>
+							</w:tc>
+						</w:tr>
+						<!-- add a row for each member of the current subgroup-visibility -->
+						<xsl:choose>
+							<xsl:when test="boolean($p_sort)">
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+									<xsl:sort select="topicdata/@eiiName | apidata/@name"/>
+									<xsl:sort select="count(templates/*)"/>
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</w:tbl>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element processing
+	============================================================================================= -->
+
+	<xsl:template match="element" mode="root" name="t_rootElement">
+		<w:tr>
+			<w:tc>
+				<xsl:choose>
+					<xsl:when test="apidata/@name = ''">
+						<referenceLink target="{@api}" qualified="false">
+							<include item="defaultNamespace"/>
+						</referenceLink>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}" qualified="false"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</w:tc>
+			<w:tc>
+				<xsl:call-template name="t_getElementDescription"/>
+			</w:tc>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespace" name="t_namespaceElement">
+
+		<xsl:variable name="v_typeVisibility">
+			<xsl:choose>
+				<xsl:when test="typedata/@visibility='family' or typedata/@visibility='family or assembly' or typedata/@visibility='assembly'">prot</xsl:when>
+				<xsl:when test="typedata/@visibility='private'">priv</xsl:when>
+				<xsl:otherwise>pub</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<w:tr>
+			<w:tc>
+				<w:p>
+					<xsl:call-template name="t_putTypeIcon">
+						<xsl:with-param name="p_typeVisibility" select="$v_typeVisibility"/>
+					</xsl:call-template>
+				</w:p>
+			</w:tc>
+			<w:tc>
+				<referenceLink target="{@api}" qualified="false"/>
+			</w:tc>
+			<w:tc>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</w:tc>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="enumeration" name="t_enumerationElement">
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<w:tr>
+			<w:tc>
+				<w:p>
+					<!-- Platform icons -->
+					<xsl:if test="normalize-space($v_supportedOnCf)!=''">
+						<img src="../media/CW.gif">
+							<includeAttribute name="alt" item="altText_CompactFramework"/>
+							<includeAttribute name="title" item="altText_CompactFramework"/>
+						</img>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnXna)!=''">
+						<img src="../media/xna.gif">
+							<includeAttribute name="alt" item="altText_XNAFramework"/>
+							<includeAttribute name="title" item="altText_XNAFramework"/>
+						</img>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnSilverlightMobile)!=''">
+						<img src="../media/slMobile.gif">
+							<includeAttribute name="alt" item="altText_SilverlightMobile"/>
+							<includeAttribute name="title" item="altText_SilverlightMobile"/>
+						</img>
+					</xsl:if>
+				</w:p>
+			</w:tc>
+			<w:tc>
+				<span class="SelfLink">
+					<xsl:value-of select="apidata/@name"/>
+				</span>
+			</w:tc>
+			<xsl:if test="$includeEnumValues='true'">
+				<w:tc>
+					<w:p>
+						<w:r>
+							<w:t>
+								<xsl:value-of select="value"/>
+							</w:t>
+						</w:r>
+					</w:p>
+				</w:tc>
+			</xsl:if>
+			<w:tc>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getEnumMemberDescription"/>
+			</w:tc>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="derivedType" name="t_derivedTypeElement">
+		<w:tr>
+			<w:tc>
+				<xsl:choose>
+					<xsl:when test="@display-api">
+						<referenceLink target="{@api}" display-target="{@display-api}"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</w:tc>
+			<w:tc>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</w:tc>
+		</w:tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="memberlistRow" name="t_memberlistRowElement">
+		<xsl:param name="p_showParameters" select="'false'"/>
+		<xsl:variable name="v_notsupportedOnNetfw">
+			<xsl:call-template name="t_isMemberUnsupportedOnNetfw"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlight">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<xsl:variable name="v_staticMember">
+			<xsl:call-template name="t_isMemberStatic"/>
+		</xsl:variable>
+		<xsl:variable name="v_inheritedMember">
+			<xsl:call-template name="t_isMemberInherited"/>
+		</xsl:variable>
+		<xsl:variable name="v_declaredMember">
+			<xsl:call-template name="t_isMemberDeclared"/>
+		</xsl:variable>
+		<xsl:variable name="v_protectedMember">
+			<xsl:call-template name="t_isMemberProtected"/>
+		</xsl:variable>
+		<xsl:variable name="v_publicMember">
+			<xsl:call-template name="t_isMemberPublic"/>
+		</xsl:variable>
+		<xsl:variable name="v_privateMember">
+			<xsl:call-template name="t_isMemberPrivate"/>
+		</xsl:variable>
+		<xsl:variable name="v_explicitMember">
+			<xsl:call-template name="t_isMemberExplicit"/>
+		</xsl:variable>
+		<xsl:variable name="v_conversionOperator">
+			<xsl:call-template name="t_isConversionOperator"/>
+		</xsl:variable>
+		<!-- do not show non-static members of static types -->
+		<xsl:if test=".//memberdata/@static='true' or not(/document/reference/typedata[@abstract='true' and @sealed='true'])">
+			<w:tr>
+				<w:tc>
+					<w:p>
+						<xsl:call-template name="t_putMemberIcons">
+							<xsl:with-param name="p_memberVisibility">
+								<xsl:choose>
+									<xsl:when test="normalize-space($v_publicMember)!=''">pub</xsl:when>
+									<xsl:when test="normalize-space($v_protectedMember)!=''">prot</xsl:when>
+									<xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
+									<xsl:otherwise>pub</xsl:otherwise>
+								</xsl:choose>
+							</xsl:with-param>
+							<xsl:with-param name="p_staticMember" select="normalize-space($v_staticMember)"/>
+							<xsl:with-param name="p_supportedOnXna" select="normalize-space($v_supportedOnXna)"/>
+							<xsl:with-param name="p_supportedOnCf" select="normalize-space($v_supportedOnCf)"/>
+							<xsl:with-param name="p_supportedOnSilverlight" select="normalize-space($v_supportedOnSilverlight)"/>
+							<xsl:with-param name="p_supportedOnSilverlightMobile" select="normalize-space($v_supportedOnSilverlightMobile)"/>
+						</xsl:call-template>
+					</w:p>
+				</w:tc>
+				<w:tc>
+					<xsl:choose>
+						<xsl:when test="normalize-space($v_conversionOperator)!=''">
+							<referenceLink target="{@api}" show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="memberdata[@overload] or starts-with(../@api, 'Overload:')">
+							<referenceLink target="{@api}" show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="@source='extension'">
+							<xsl:call-template name="t_putExtensionMethodDisplayLink"/>
+						</xsl:when>
+						<xsl:when test="@display-api">
+							<referenceLink target="{@api}" display-target="{@display-api}" show-parameters="{$p_showParameters}"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<referenceLink target="{@api}" show-parameters="{$p_showParameters}"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</w:tc>
+				<w:tc>
+					<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+						<include item="boilerplate_obsoleteShort"/>
+					</xsl:if>
+					<xsl:if test="topicdata[@subgroup='overload'] or @overload='true'">
+						<include item="Overloaded"/>
+					</xsl:if>
+					<xsl:apply-templates select="element" mode="overloadSummary"/>
+					<xsl:call-template name="t_getElementDescription"/>
+					<xsl:choose>
+						<xsl:when test="not(topicdata[@subgroup='overload'])">
+							<xsl:choose>
+								<xsl:when test="@source='extension' and containers/type">
+									<xsl:text> </xsl:text>
+									<include item="definedBy">
+										<parameter>
+											<xsl:apply-templates select="containers/type" mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="normalize-space($v_inheritedMember)!=''">
+									<xsl:text> </xsl:text>
+									<include item="inheritedFrom">
+										<parameter>
+											<xsl:apply-templates select="containers/type" mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="overrides/member">
+									<xsl:text> </xsl:text>
+									<include item="overridesMember">
+										<parameter>
+											<xsl:apply-templates select="overrides/member" mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+							</xsl:choose>
+						</xsl:when>
+					</xsl:choose>
+
+					<!-- add boilerplate for other members in the signature set -->
+					<xsl:if test="@signatureset and element">
+						<xsl:variable name="primaryMember">
+							<xsl:copy-of select="."/>
+						</xsl:variable>
+						<xsl:variable name="primaryFramework" select="versions/versions[1]/@name"/>
+						<xsl:for-each select="versions/versions[@name!=$primaryFramework]">
+							<xsl:variable name="secondaryFramework" select="@name"/>
+							<xsl:if test="(msxsl:node-set($primaryMember)/*[not(@*[local-name()=$secondaryFramework])]) and (msxsl:node-set($primaryMember)/*[element[@*[local-name()=$secondaryFramework]]])">
+								<xsl:for-each select="msxsl:node-set($primaryMember)/*/element[@*[local-name()=$secondaryFramework]][1]">
+									<xsl:variable name="inheritedSecondaryMember">
+										<xsl:call-template name="t_isMemberInherited"/>
+									</xsl:variable>
+									<xsl:choose>
+										<xsl:when test="overrides">
+											<include item="boilerplate_secondaryFrameworkOverride">
+												<parameter>
+													<xsl:value-of select="$secondaryFramework"/>
+												</parameter>
+												<parameter>
+													<referenceLink target="{@api}"/>
+												</parameter>
+											</include>
+										</xsl:when>
+										<xsl:when test="normalize-space($inheritedSecondaryMember)!=''">
+											<include item="boilerplate_secondaryFrameworkInherited">
+												<parameter>
+													<xsl:value-of select="$secondaryFramework"/>
+												</parameter>
+												<parameter>
+													<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+												</parameter>
+												<parameter>
+													<xsl:text>.</xsl:text>
+												</parameter>
+												<parameter>
+													<xsl:apply-templates select="containers/type" mode="link"/>
+												</parameter>
+												<parameter>
+													<referenceLink target="{@api}"/>
+												</parameter>
+											</include>
+										</xsl:when>
+										<xsl:otherwise>
+											<include item="boilerplate_secondaryFrameworkMember">
+												<parameter>
+													<xsl:value-of select="$secondaryFramework"/>
+												</parameter>
+												<parameter>
+													<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+												</parameter>
+												<parameter>
+													<referenceLink target="{@api}"/>
+												</parameter>
+											</include>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:for-each>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:if>
+				</w:tc>
+			</w:tr>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="overloadSummary" name="t_overloadSummaryElement">
+		<xsl:call-template name="t_getOverloadSummary"/>
+	</xsl:template>
+
+	<xsl:template match="element" mode="overloadSections" name="t_overloadSectionsElement">
+		<xsl:call-template name="t_getOverloadSections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putTypeIcon">
+		<xsl:param name="p_typeVisibility"/>
+		<xsl:variable name="typeSubgroup" select="apidata/@subgroup"/>
+		<img src="{concat('../media/', $p_typeVisibility, $typeSubgroup, '.gif')}">
+			<includeAttribute name="alt" item="{concat('altText_', $p_typeVisibility, $typeSubgroup)}"/>
+			<includeAttribute name="title" item="{concat('altText_', $p_typeVisibility, $typeSubgroup)}"/>
+		</img>
+
+		<xsl:if test=".//example">
+			<img src="../media/CodeExample.png">
+				<includeAttribute name="alt" item="altText_CodeExample"/>
+				<includeAttribute name="title" item="altText_CodeExample"/>
+			</img>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template name="t_putMemberIcons">
+		<xsl:param name="p_memberVisibility"/>
+		<xsl:param name="p_staticMember"/>
+		<xsl:param name="p_supportedOnXna"/>
+		<xsl:param name="p_supportedOnCf"/>
+		<xsl:param name="p_supportedOnSilverlightMobile"/>
+
+		<xsl:variable name="v_memberSubgroup">
+			<xsl:choose>
+				<xsl:when test="apidata/@subgroup='constructor'">
+					<xsl:text>method</xsl:text>
+				</xsl:when>
+				<xsl:when test="apidata/@subgroup='method'">
+					<xsl:choose>
+						<xsl:when test="apidata/@subsubgroup='operator'">
+							<xsl:text>operator</xsl:text>
+						</xsl:when>
+						<xsl:when test="apidata/@subsubgroup='extension'">
+							<xsl:text>extension</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>method</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="apidata/@subgroup"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<!-- test for explicit interface implementations, which get the interface icon -->
+		<xsl:if test="memberdata/@visibility='private' and proceduredata/@virtual='true'">
+			<img src="../media/pubinterface.gif">
+				<includeAttribute name="alt" item="altText_ExplicitInterface"/>
+				<includeAttribute name="title" item="altText_ExplicitInterface"/>
+			</img>
+		</xsl:if>
+
+		<img src="{concat('../media/', $p_memberVisibility, $v_memberSubgroup, '.gif')}">
+			<xsl:choose>
+				<xsl:when test="apidata/@subsubgroup">
+					<includeAttribute name="alt" item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+					<includeAttribute name="title" item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<includeAttribute name="alt" item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+					<includeAttribute name="title" item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</img>
+
+		<xsl:if test="$p_staticMember!=''">
+			<img src="../media/static.gif">
+				<includeAttribute name="alt" item="altText_static"/>
+				<includeAttribute name="title" item="altText_static"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnCf!=''">
+			<img src="../media/CFW.gif">
+				<includeAttribute name="alt" item="altText_CompactFramework"/>
+				<includeAttribute name="title" item="altText_CompactFramework"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnXna!=''">
+			<img src="../media/xna.gif">
+				<includeAttribute name="alt" item="altText_XNAFramework"/>
+				<includeAttribute name="title" item="altText_XNAFramework"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnSilverlightMobile!=''">
+			<img src="../media/slMobile.gif">
+				<includeAttribute name="alt" item="altText_SilverlightMobile"/>
+				<includeAttribute name="title" item="altText_SilverlightMobile"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test=".//example">
+			<img src="../media/CodeExample.png">
+				<includeAttribute name="alt" item="altText_CodeExample"/>
+				<includeAttribute name="title" item="altText_CodeExample"/>
+			</img>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_getEnumMemberDescription">
+		<xsl:apply-templates select="summary[1]/node()"/>
+		<!-- enum members may have additional authored content in the remarks node -->
+		<xsl:apply-templates select="remarks[1]/node()"/>
+	</xsl:template>
+
+	<xsl:template name="t_putExtensionMethodDisplayLink">
+		<xsl:variable name="v_showParameters">
+			<xsl:choose>
+				<xsl:when test="@overload='true'">true</xsl:when>
+				<xsl:otherwise>false</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<referenceLink target="{@api}" display-target="extension" show-parameters="{$v_showParameters}">
+			<extensionMethod>
+				<xsl:copy-of select="@*"/>
+				<xsl:copy-of select="apidata|templates|parameters|containers"/>
+			</extensionMethod>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inheritance hierarchy
+	============================================================================================= -->
+
+	<xsl:template match="family" name="t_family">
+
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_family'"/>
+			<xsl:with-param name="p_content">
+				<xsl:variable name="ancestorCount" select="count(ancestors/*)"/>
+				<xsl:variable name="childCount" select="count(descendents/*)"/>
+
+				<w:p>
+					<xsl:for-each select="ancestors/type">
+						<xsl:sort select="position()" data-type="number" order="descending"/>
+
+						<xsl:call-template name="t_putIndent">
+							<xsl:with-param name="p_count" select="position()"/>
+						</xsl:call-template>
+
+						<xsl:apply-templates select="self::type" mode="link">
+							<xsl:with-param name="qualified" select="true()"/>
+						</xsl:apply-templates>
+
+						<br/>
+					</xsl:for-each>
+
+					<xsl:call-template name="t_putIndent">
+						<xsl:with-param name="p_count" select="$ancestorCount + 1"/>
+					</xsl:call-template>
+					<referenceLink target="{$key}" qualified="true"/>
+					<br/>
+
+					<xsl:choose>
+						<xsl:when test="descendents/@derivedTypes">
+							<xsl:call-template name="t_putIndent">
+								<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+							</xsl:call-template>
+							<referenceLink target="{descendents/@derivedTypes}" qualified="true">
+								<include item="derivedClasses"/>
+							</referenceLink>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="descendents/type">
+								<xsl:sort select="@api"/>
+
+								<xsl:if test="not(self::type/@api=preceding-sibling::*/self::type/@api)">
+									<xsl:call-template name="t_putIndent">
+										<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+									</xsl:call-template>
+
+									<xsl:apply-templates select="self::type" mode="link">
+										<xsl:with-param name="qualified" select="true()"/>
+									</xsl:apply-templates>
+
+									<br/>
+								</xsl:if>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</w:p>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="implements" name="t_implements">
+		<xsl:if test="member">
+			<xsl:call-template name="t_putSubSection">
+				<xsl:with-param name="p_title">
+					<include item="title_implements"/>
+				</xsl:with-param>
+				<xsl:with-param name="p_content">
+					<w:p>
+						<xsl:for-each select="member">
+							<referenceLink target="{@api}" qualified="true"/>
+							<br/>
+						</xsl:for-each>
+					</w:p>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Member attribute tests
+	============================================================================================= -->
+
+	<xsl:template name="t_isMemberUnsupportedOnNetfw">
+		<xsl:if test="boolean(not(@netfw) and not(element/@netfw))">
+			<xsl:text>unsupported</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- for testing CF and XNA support, check the signature variations of @signatureset elements -->
+	<!-- for testing inherited/protected/etc, do not check the @signatureset variations; just go with the primary .NET Framework value -->
+	<xsl:template name="t_isMemberSupportedOnXna">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnXna"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesXna"
+											select="boolean(platforms and not(platforms/platform[.='Xbox360']))"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesXna) and (@xnafw or element/@xnafw))">
+					<xsl:text>supported</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnCf">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnCf"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesCF"
+											select="boolean( platforms and not(platforms[platform[.='PocketPC'] or platform[.='SmartPhone'] or platform[.='WindowsCE']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesCF) and (@netcfw or element/@netcfw))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlightMobile">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="platformFilterExcludesSilverlightMobile"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($platformFilterExcludesSilverlightMobile) and (@silverlight_mobile or element/@silverlight_mobile))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlight">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesSilverlight"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesSilverlight) and (@silverlight or element/@silverlight))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_isMemberStatic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberStatic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:when test="apidata[@subsubgroup='attachedProperty' or @subsubgroup='attachedEvent']"/>
+			<xsl:otherwise>
+				<xsl:if test="memberdata/@static='true'">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is inherited, or for overloads if any of the overloads is inherited -->
+	<xsl:template name="t_isMemberInherited">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberInherited"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api!=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is declared, or for overloads if any of the overloads is declared -->
+	<xsl:template name="t_isMemberDeclared">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberDeclared"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPublic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPublic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='public']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberProtected">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberProtected"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPrivate">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPrivate"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and not(proceduredata[@virtual = 'true'])">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberExplicit">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberExplicit"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isConversionOperator">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isConversionOperator"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="apidata/@subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit') and not(memberdata/@overload)">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Assembly information
+	============================================================================================= -->
+
+	<xsl:template name="t_putRequirementsInfo">
+		<w:p>
+			<include item="boilerplate_requirementsNamespace"/>
+			<xsl:text>&#xa0;</xsl:text>
+			<referenceLink target="{/document/reference/containers/namespace/@api}"/>
+			<br/>
+			<xsl:call-template name="t_putAssembliesInfo"/>
+
+			<!-- Some APIs display a XAML xmlns uri -->
+			<xsl:if test="$omitXmlnsBoilerplate != 'true'">
+				<!-- All topics that have auto-generated XAML syntax get an "XMLNS for XAML" line in the Requirements
+						 section.  Topics with boilerplate XAML syntax, e.g. "Not applicable", do NOT get this line. -->
+				<xsl:if test="boolean(/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlAttributeUsageHeading' or
+											@class='xamlObjectElementUsageHeading' or @class='xamlContentElementUsageHeading' or
+											@class='xamlPropertyElementUsageHeading'])">
+					<br />
+					<include item="boilerplate_xamlXmlnsRequirements">
+						<parameter>
+							<xsl:choose>
+								<xsl:when test="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+									<xsl:for-each select="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+										<xsl:if test="position()!=1">
+											<xsl:text>, </xsl:text>
+										</xsl:if>
+										<xsl:value-of select="."/>
+									</xsl:for-each>
+								</xsl:when>
+								<xsl:otherwise>
+									<include item="boilerplate_unmappedXamlXmlns"/>
+								</xsl:otherwise>
+							</xsl:choose>
+						</parameter>
+					</include>
+				</xsl:if>
+			</xsl:if>
+		</w:p>
+	</xsl:template>
+
+	<xsl:template name="t_putAssembliesInfo">
+		<xsl:choose>
+			<xsl:when test="count(/document/reference/containers/library)&gt;1">
+				<include item="boilerplate_requirementsAssemblies"/>
+				<xsl:for-each select="/document/reference/containers/library">
+					<xsl:text>&#xa0;&#xa0;</xsl:text>
+					<xsl:call-template name="t_putAssemblyNameAndModule">
+						<xsl:with-param name="library"
+														select="."/>
+					</xsl:call-template>
+					<br/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<include item="boilerplate_requirementsAssemblyLabel"/>
+				<xsl:text>&#xa0;</xsl:text>
+				<xsl:call-template name="t_putAssemblyNameAndModule"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_putAssemblyNameAndModule">
+		<xsl:param name="library" select="/document/reference/containers/library"/>
+		<include item="assemblyNameAndModule">
+			<parameter>
+				<xsl:value-of select="$library/@assembly"/>
+			</parameter>
+			<parameter>
+				<xsl:value-of select="$library/@module"/>
+			</parameter>
+			<parameter>
+				<xsl:choose>
+					<xsl:when test="$library/@kind = 'DynamicallyLinkedLibrary'">
+						<xsl:text>dll</xsl:text>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>exe</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+			<parameter>
+				<xsl:variable name="versionParts">
+					<xsl:call-template name="t_tokenize">
+						<xsl:with-param name="string" select="substring-before(concat($library/assemblydata/@version, ' '), ' ')" />
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:variable name="versionNodes" select="msxsl:node-set($versionParts)" />
+				<!-- Limit version number length if requested -->
+				<xsl:choose>
+					<xsl:when test="$maxVersionParts = '2'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '3'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '4'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3], '.', $versionNodes/token[4])" />
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- All parts including the assembly file version if present -->
+						<xsl:value-of select="$library/assemblydata/@version"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<xsl:template name="t_tokenize">
+		<xsl:param name="string"/>
+		<xsl:param name="separator" select="'.'"/>
+
+		<xsl:choose>
+			<xsl:when test="contains($string, $separator)">
+				<token>
+					<xsl:value-of select="substring-before($string, $separator)"/>
+				</token>
+				<xsl:call-template name="t_tokenize">
+					<xsl:with-param name="string" select="substring-after($string, $separator)"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<token>
+					<xsl:value-of select="$string"/>
+				</token>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Platform information
+	============================================================================================= -->
+
+	<xsl:template match="platforms[platform]" name="t_platforms">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_platforms'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="/document/reference/versions/versions[@name='silverlight']//version">
+						<w:p>
+							<include item="boilerplate_silverlightPlatforms"/>
+						</w:p>
+					</xsl:when>
+					<xsl:otherwise>
+						<w:p>
+							<xsl:for-each select="platform">
+								<include item="{.}"/>
+								<xsl:if test="position()!=last()">
+									<xsl:text>, </xsl:text>
+								</xsl:if>
+							</xsl:for-each>
+						</w:p>
+						<xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version">
+							<w:p>
+								<include item="boilerplate_systemRequirementsLink"/>
+							</w:p>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Version information
+	============================================================================================= -->
+
+	<xsl:template match="versions" name="t_versions">
+		<xsl:if test="$omitVersionInformation != 'true'">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_versions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_processVersions"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_processVersions">
+		<xsl:param name="p_frameworkGroup" select="true()"/>
+		<xsl:choose>
+			<xsl:when test="versions and $p_frameworkGroup">
+				<xsl:for-each select="versions">
+					<!-- $v_platformFilterExcluded is based on platform filtering information -->
+					<xsl:variable name="v_platformFilterExcluded"
+												select="boolean(/document/reference/platforms and ( (@name='netcfw' and not(/document/reference/platforms/platform[.='PocketPC']) and not(/document/reference/platforms/platform[.='SmartPhone']) and not(/document/reference/platforms/platform[.='WindowsCE']) ) or (@name='xnafw' and not(/document/reference/platforms/platform[.='Xbox360']) ) ) )"/>
+					<xsl:if test="not($v_platformFilterExcluded) and count(.//version) &gt; 0">
+						<w:p>
+							<w:pPr>
+								<w:pStyle w:val="Heading4" />
+							</w:pPr>
+							<include item="{@name}"/>
+						</w:p>
+						<xsl:call-template name="t_processVersions">
+							<xsl:with-param name="p_frameworkGroup" select="false()"/>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- show the versions in which the api is supported, if any -->
+				<xsl:variable name="v_supportedCount"
+											select="count(version[not(@obsolete)] | versions[version[not(@obsolete)]])"/>
+				<xsl:if test="$v_supportedCount &gt; 0">
+					<include item="supportedIn_{$v_supportedCount}">
+						<xsl:for-each select="version[not(@obsolete)] | versions[version[not(@obsolete)]]">
+							<xsl:variable name="versionName">
+								<xsl:choose>
+									<!-- A versions[version] node at this level is for releases that had subsequent service packs. 
+                       For example, versions for .NET 3.0 has version nodes for 3.0 and 3.0 SP1. 
+                       We show only the first node, which is the one in which the api was first released, 
+                       that is, we show 3.0 SP1 only if the api was introduced in SP1. -->
+									<xsl:when test="local-name()='versions'">
+										<xsl:value-of select="version[not(@obsolete)][not(preceding-sibling::version[not(@obsolete)])]/@name"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="@name"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<parameter>
+								<include item="{$versionName}"/>
+							</parameter>
+						</xsl:for-each>
+					</include>
+					<br/>
+				</xsl:if>
+				<!-- show the versions in which the api is obsolete with a compiler warning, if any -->
+				<xsl:for-each select=".//version[@obsolete='warning']">
+					<include item="obsoleteWarning">
+						<parameter>
+							<include item="{@name}"/>
+						</parameter>
+					</include>
+					<br/>
+				</xsl:for-each>
+				<!-- show the versions in which the api is obsolete and does not compile, if any -->
+				<xsl:for-each select=".//version[@obsolete='error']">
+					<xsl:if test="position()=last()">
+						<include item="obsoleteError">
+							<parameter>
+								<include item="{@name}"/>
+							</parameter>
+						</include>
+						<br/>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Syntax
+	============================================================================================= -->
+
+	<xsl:template match="sourceContext" name="t_sourceContext">
+		<xsl:if test="$baseSourceCodeUrl">
+			<w:p>
+				<a>
+					<xsl:attribute name="href">
+						<xsl:value-of select="$baseSourceCodeUrl"/>
+						<xsl:value-of select="@file"/>
+						<xsl:if test="@startLine">
+							<xsl:text>#L</xsl:text>
+							<xsl:value-of select="@startLine"/>
+						</xsl:if>
+					</xsl:attribute>
+					<xsl:attribute name="rel">
+						<xsl:text>noopener noreferrer</xsl:text>
+					</xsl:attribute>
+					<includeAttribute name="title" item="sourceCodeLinkTitle" />
+					<include item="sourceCodeLinkText" />
+				</a>
+			</w:p>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="parameters" name="t_parameters">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_parameters"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:for-each select="parameter">
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+						<span class="Parameter">
+							<xsl:value-of select="normalize-space(@name)"/>
+						</span>
+						<xsl:if test="@optional = 'true'">
+							<xsl:text> (Optional)</xsl:text>
+						</xsl:if>
+					</w:p>
+					<w:p>
+						<w:pPr>
+							<w:spacing w:after="0" />
+						</w:pPr>
+						<include item="typeLink">
+							<parameter>
+								<xsl:apply-templates select="*[1]" mode="link">
+									<xsl:with-param name="qualified" select="true()"/>
+								</xsl:apply-templates>
+							</parameter>
+						</include>
+					</w:p>
+					<xsl:call-template name="t_getParameterDescription">
+						<xsl:with-param name="name" select="normalize-space(@name)"/>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<!-- produces a (plain) comma-separated list of parameter types -->
+	<xsl:template match="type" mode="link" name="t_typeLink">
+		<xsl:param name="qualified" select="false()"/>
+		<!-- we don't display outer types, because the link will show them -->
+		<referenceLink target="{@api}" prefer-overload="false">
+			<xsl:choose>
+				<xsl:when test="specialization">
+					<xsl:attribute name="show-templates">false</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="show-templates">true</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:if test="$qualified">
+				<xsl:attribute name="show-container">true</xsl:attribute>
+			</xsl:if>
+		</referenceLink>
+		<xsl:apply-templates select="specialization" mode="link"/>
+	</xsl:template>
+
+	<!-- Produces a (plain) name; outer types are indicated by dot-separators; -->
+	<!-- generic types are indicated by a keyword, because we can't show templates in a language-independent way -->
+	<xsl:template match="type" mode="plain" name="t_typeNamePlain">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not(g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="plain"/>
+			<xsl:text>.</xsl:text>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="plain"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="plain"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="type" mode="decorated" name="t_typeNameDecorated">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not(g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="decorated"/>
+			<xsl:text>.</xsl:text>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="decorated"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="decorated"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="specialization" mode="link" name="t_specializationLink">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="link"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="plain" name="t_specializationPlain">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="plain"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="decorated" name="t_specializationDecorated">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="decorated"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="template" mode="link" name="t_template_link">
+		<xsl:choose>
+			<xsl:when test="@api">
+				<referenceLink target="{@api}">
+					<span class="TypeParameter">
+						<xsl:value-of select="@name"/>
+					</span>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="TypeParameter">
+					<xsl:value-of select="@name"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="template" mode="plain" name="t_templatePlain">
+		<xsl:value-of select="@name"/>
+	</xsl:template>
+
+	<xsl:template match="template" mode="decorated" name="t_templateDecorated">
+		<span class="TypeParameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="templates" mode="link" name="t_templatesLink">
+		<xsl:call-template name="t_specializationLink"/>
+	</xsl:template>
+
+	<xsl:template match="templates" mode="plain" name="t_templatesPlain">
+		<xsl:call-template name="t_specializationPlain"/>
+	</xsl:template>
+
+	<xsl:template match="templates" mode="decorated" name="t_templatesDecorated">
+		<xsl:call-template name="t_specializationDecorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="arrayOf" mode="link" name="t_arrayOfLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="plain" name="t_arrayOfPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+			mode="plain"/>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="decorated" name="t_arrayOfDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+			mode="decorated"/>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="pointerTo" mode="link"								name="t_pointerToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="plain" name="t_pointerToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+			mode="plain"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="decorated" name="t_pointerToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+			mode="decorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="referenceTo" mode="link" name="t_referenceToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="plain" name="t_referenceToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+			mode="plain"/>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="decorated" name="t_referenceToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+			mode="decorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="member" mode="link" name="t_memberLink">
+		<xsl:param name="qualified" select="true()"/>
+		<xsl:choose>
+			<xsl:when test="@display-api">
+				<referenceLink target="{@api}" display-target="{@display-api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/SkeletonAPI.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/SkeletonAPI.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1a171e36a685024500fb88d688c3c204922d9d42
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/SkeletonAPI.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<reference />
+	<syntax />
+	<comments />
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/SkeletonConceptual.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/SkeletonConceptual.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90ef0c71d916776145a2521b051917d57a4e10e2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/OpenXml/Transforms/SkeletonConceptual.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..d07b7c49e2f6bd5e277ba5b423a1f2a88756d936
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.deps.json
@@ -0,0 +1,63 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/": {
+      "Sandcastle.PresentationStyles/1.0.0": {
+        "dependencies": {
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "NETStandard.Library": "2.0.3"
+        },
+        "runtime": {
+          "Sandcastle.PresentationStyles.dll": {}
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "System.ComponentModel.Composition/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.ComponentModel.Composition.dll": {
+            "assemblyVersion": "4.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      }
+    }
+  },
+  "libraries": {
+    "Sandcastle.PresentationStyles/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "System.ComponentModel.Composition/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YL8iA3VOFxhyomn7FxtBgh3F+8XG5jOfT5UcqYLtkafSa6g6alQfKZuRwlEIWe+tzH6OVnj0Ekg5tn/DmV7SkQ==",
+      "path": "system.componentmodel.composition/5.0.0",
+      "hashPath": "system.componentmodel.composition.5.0.0.nupkg.sha512"
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.dll
new file mode 100644
index 0000000000000000000000000000000000000000..b83bcb8250ae5dbab8a8906437962f981384028b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5d8044df3027be51fde3f02a42c30016e0b49142
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.PresentationStyles.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Sandcastle.PresentationStyles</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.PresentationStyles.MarkdownPresentationStyle">
+            <summary>
+            This defines a presentation style used to generate markdown content (GitHub flavored)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.PresentationStyles.MarkdownPresentationStyle.Location">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.PresentationStyles.MarkdownPresentationStyle.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="T:Sandcastle.PresentationStyles.OpenXML">
+            <summary>
+            This defines a presentation style used to generate Open XML documents
+            </summary>
+            <remarks>
+            <note type="important">Three of the content files that make up the document parts,
+            "DocumentParts\_rels\rels.xml_rels", "DocumentParts\Content_Types.xml",
+            and "DocumentParts\word\_rels\document.xml_rels", are renamed by the build
+            process to "DocumentParts\_rels\.rels", "DocumentParts\[Content_Types].xml",
+            and "DocumentParts\word\_rels\document.xml.rels".  Those three filenames are reserved as part of the Open
+            Packaging Conventions and when deployed as part of a NuGet package, NuGet tends to ignore them when
+            extracting the package content or it causes problems reading the package when using third-party tools.
+            As such, we give them non-reserved names for inclusion in the package and rename them to their actual
+            names at build time.</note></remarks>
+        </member>
+        <member name="P:Sandcastle.PresentationStyles.OpenXML.Location">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.PresentationStyles.OpenXML.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="T:Sandcastle.PresentationStyles.VisualStudio2010">
+            <summary>
+            This contains the definition for the Visual Studio 2010 presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.PresentationStyles.VisualStudio2010.Location">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.PresentationStyles.VisualStudio2010.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="T:Sandcastle.PresentationStyles.VisualStudio2013">
+            <summary>
+            This contains the definition for the Visual Studio 2013 presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.PresentationStyles.VisualStudio2013.Location">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.PresentationStyles.VisualStudio2013.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.Targets.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.Targets.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ef57950157364f87bae4b50a848d516afed1a646
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.Targets.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.Targets.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.Targets.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6a70fda89fabce11cf022032860a890a70b1daa9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.Targets.xml
@@ -0,0 +1,591 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Sandcastle.Tools.BuildComponents.Targets</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ArrayTypeReference">
+            <summary>
+            This represents an array type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArrayTypeReference.ElementType">
+            <summary>
+            This read-only property returns the element type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArrayTypeReference.Rank">
+            <summary>
+            This read-only property returns the array rank
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ArrayTypeReference.#ctor(Sandcastle.Tools.BuildComponents.Targets.TypeReference,System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="elementType">The element type</param>
+            <param name="rank">The array rank</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ConstructorTarget">
+            <summary>
+            This represents a constructor target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ConstructorTarget.Parameters">
+            <summary>
+            This read-only property returns an enumerable list of parameters if any
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ConstructorTarget.#ctor(System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.Parameter})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parameters">The list of constructor parameters if any</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.EnumerationTarget">
+            <summary>
+            This represents an enumeration target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.EnumerationTarget.Elements">
+            <summary>
+            This read-only property returns a list of enumeration elements
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.EnumerationTarget.#ctor(System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.MemberTarget})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="elements">The list of enumeration members</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.EnumerationTarget.Add(System.Collections.Generic.IDictionary{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <summary>
+            This is overridden to add the enumeration along with all of its elements to the target dictionary
+            </summary>
+            <param name="targets">The target dictionary to which the enumeration and its elements are added</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.EventTarget">
+            <summary>
+            This represents an event target
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ExtensionMethodReference">
+            <summary>
+            This represents and extension method reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ExtensionMethodReference.Name">
+            <summary>
+            This read-only property returns the extension method name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ExtensionMethodReference.Parameters">
+            <summary>
+            This read-only property returns the extension method parameters
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ExtensionMethodReference.TemplateArgs">
+            <summary>
+            This read-only property returns the template arguments if any
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ExtensionMethodReference.#ctor(System.String,System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.Parameter},System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.TypeReference})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="methodName">The extension method name</param>
+            <param name="parameters">The extension method parameters</param>
+            <param name="templateArgs">The extension method template arguments if any</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.IndexedTemplateTypeReference">
+            <summary>
+            This represents an indexed template type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.IndexedTemplateTypeReference.TemplateId">
+            <summary>
+            This read-only property returns the template ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.IndexedTemplateTypeReference.Index">
+            <summary>
+            This read-only property returns the index
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.IndexedTemplateTypeReference.#ctor(System.String,System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="templateId">The template ID</param>
+            <param name="index">The index</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.IndexedTemplateTypeReference.GetHashCode">
+            <summary>
+            This is overridden to support equality comparisons
+            </summary>
+            <returns>The hash code for the indexed template type reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.IndexedTemplateTypeReference.Equals(System.Object)">
+            <summary>
+            This is overridden to allow comparison of to indexed template type references for equality
+            </summary>
+            <param name="obj">The instance to compare</param>
+            <returns>True if equal, false if not</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.InvalidReference">
+            <summary>
+            This represents an invalid reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.InvalidReference.Id">
+            <summary>
+            This read-only property returns the ID
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InvalidReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The invalid reference ID</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.MemberReference">
+            <summary>
+            This is the base class for member references
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.MemberTarget">
+            <summary>
+            This represents a member target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MemberTarget.Name">
+            <summary>
+            This is used to get or set the name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MemberTarget.ContainingType">
+            <summary>
+            This is used to get or set the containing type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MemberTarget.OverloadId">
+            <summary>
+            This is used to get or set the overload ID if applicable
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.MethodTarget">
+            <summary>
+            This represents a method target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MethodTarget.Parameters">
+            <summary>
+            This read-only property returns an enumerable list of parameters if any
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MethodTarget.ReturnType">
+            <summary>
+            This read-only property returns the return type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MethodTarget.Templates">
+            <summary>
+            This is used to get or set an enumerable list of the template types if any
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MethodTarget.TemplateArgs">
+            <summary>
+            This is used to get or set specialized template arguments if any (used with extension methods)
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.MethodTarget.#ctor(System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.Parameter},Sandcastle.Tools.BuildComponents.Targets.TypeReference)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parameters">Method parameters if any</param>
+            <param name="returnType">The method return type</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.MethodTemplateTypeReference">
+            <summary>
+            This represents a method template type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MethodTemplateTypeReference.TemplateMethod">
+            <summary>
+            This read-only property returns the template method
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.MethodTemplateTypeReference.Position">
+            <summary>
+            This read only property returns the position
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.MethodTemplateTypeReference.#ctor(Sandcastle.Tools.BuildComponents.Targets.MemberReference,System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="template">The template method</param>
+            <param name="position">The position</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.NamedTemplateTypeReference">
+            <summary>
+            This represents a named template type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.NamedTemplateTypeReference.Name">
+            <summary>
+            This read-only property returns the name
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.NamedTemplateTypeReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The template type reference name</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.NamespaceReference">
+            <summary>
+            This represents a namespace reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.NamespaceReference.Id">
+            <summary>
+            This read-only property returns the namespace ID
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.NamespaceReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The namespace ID</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.NamespaceTarget">
+            <summary>
+            This represents a namespace target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.NamespaceTarget.Name">
+            <summary>
+            This read-only property returns the namespace name
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.NamespaceTarget.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The namespace name</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.Parameter">
+            <summary>
+            This represents a parameter
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.Parameter.Name">
+            <summary>
+            This read-only property returns the parameter name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.Parameter.ParameterType">
+            <summary>
+            This read-only property returns the parameter type
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.Parameter.#ctor(System.String,Sandcastle.Tools.BuildComponents.Targets.TypeReference)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The parameter name</param>
+            <param name="type">The parameter type</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.PointerTypeReference">
+            <summary>
+            This represents a pointer type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.PointerTypeReference.PointedToType">
+            <summary>
+            This read-only property returns the pointed to type
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.PointerTypeReference.#ctor(Sandcastle.Tools.BuildComponents.Targets.TypeReference)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="pointedToType">The pointed to type</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ProcedureTarget">
+            <summary>
+            This represents a procedure target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ProcedureTarget.IsConversionOperator">
+            <summary>
+            This is used to get or set whether or not the target is a conversion operator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ProcedureTarget.ExplicitlyImplements">
+            <summary>
+            This is used to specify the member explicitly implemented if applicable
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.PropertyTarget">
+            <summary>
+            This represents a property target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.PropertyTarget.Parameters">
+            <summary>
+            This read-only property returns an enumerable list of parameters if any
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.PropertyTarget.ReturnType">
+            <summary>
+            This read-only property returns the return type
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.PropertyTarget.#ctor(System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.Parameter},Sandcastle.Tools.BuildComponents.Targets.TypeReference)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parameters">The property parameters</param>
+            <param name="returnType">The property return type</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.Reference">
+            <summary>
+            This is the base class for reference types
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ReferenceTypeReference">
+            <summary>
+            This represents a reference type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ReferenceTypeReference.ReferredToType">
+            <summary>
+            This read-only property returns the referred to type
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ReferenceTypeReference.#ctor(Sandcastle.Tools.BuildComponents.Targets.TypeReference)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="referredToType">The referred to type</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SimpleMemberReference">
+            <summary>
+            This represents a simple member reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SimpleMemberReference.Id">
+            <summary>
+            This read-only property returns the member ID
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SimpleMemberReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The member ID</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SimpleTypeReference">
+            <summary>
+            This represents a simple type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SimpleTypeReference.Id">
+            <summary>
+            This read-only property returns the type ID
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SimpleTypeReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The type ID</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.Specialization">
+            <summary>
+            This represents a specialization
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.Specialization.TemplateType">
+            <summary>
+            This read-only property returns the template type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.Specialization.Arguments">
+            <summary>
+            This read-only property returns the arguments
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.Specialization.#ctor(Sandcastle.Tools.BuildComponents.Targets.SimpleTypeReference,System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.TypeReference})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="templateType">The template type</param>
+            <param name="arguments">The arguments</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberReference">
+            <summary>
+            This represents a specialized member reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberReference.TemplateMember">
+            <summary>
+            This read-only property returns the template member
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberReference.SpecializedType">
+            <summary>
+            This read-only property returns the specialized type
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberReference.#ctor(Sandcastle.Tools.BuildComponents.Targets.SimpleMemberReference,Sandcastle.Tools.BuildComponents.Targets.SpecializedTypeReference)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="templateMember">The template member</param>
+            <param name="specializedType">The specialized type</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberWithParametersReference">
+            <summary>
+            This represents a specialized member with parameters reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberWithParametersReference.Prefix">
+            <summary>
+            This read-only property returns the prefix
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberWithParametersReference.SpecializedType">
+            <summary>
+            This read-only property returns the specialized type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberWithParametersReference.MemberName">
+            <summary>
+            This read-only property returns the member name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberWithParametersReference.ParameterTypes">
+            <summary>
+            This read-only property returns the parameter types
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SpecializedMemberWithParametersReference.#ctor(System.String,Sandcastle.Tools.BuildComponents.Targets.SpecializedTypeReference,System.String,System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.TypeReference})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="prefix">The prefix</param>
+            <param name="specializedType">The specialized type</param>
+            <param name="memberName">The member name</param>
+            <param name="parameters">The parameters</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SpecializedTypeReference">
+            <summary>
+            This represents a specialized type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedTypeReference.Specializations">
+            <summary>
+            This read-only property returns the specializations
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SpecializedTypeReference.SpecializationDictionary">
+            <summary>
+            This read-only property is used to create and return a specialization dictionary
+            </summary>
+            <returns>The specialization dictionary</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SpecializedTypeReference.#ctor(System.Collections.Generic.IList{Sandcastle.Tools.BuildComponents.Targets.Specialization})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="specializations">The specializations</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.Target">
+            <summary>
+            This is the base class for all other target types
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.Target.Id">
+            <summary>
+            This is used to get or set the target's member ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.Target.Container">
+            <summary>
+            This is used to get or set the target's container
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.Target.File">
+            <summary>
+            This is used to get or set the target's reference topic filename
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.Target.Add(System.Collections.Generic.IDictionary{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <summary>
+            Add the target to the given collection
+            </summary>
+            <param name="targets">The targets dictionary to which this target is added</param>
+            <remarks>This can be overridden to add dependent targets to the dictionary as well</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TemplateTypeReference">
+            <summary>
+            This is the base class for template type references
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TypeReference">
+            <summary>
+            This is the base type for type references
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TypeTarget">
+            <summary>
+            This represents a type target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TypeTarget.Name">
+            <summary>
+            This is used to get or set the name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TypeTarget.ContainingNamespace">
+            <summary>
+            This is used to get or set the containing namespace
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TypeTarget.ContainingType">
+            <summary>
+            This is used to get or set the containing type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TypeTarget.Templates">
+            <summary>
+            This is used to get or set the templates
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TypeTemplateTypeReference">
+            <summary>
+            This represents a type template type reference
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TypeTemplateTypeReference.TemplateType">
+            <summary>
+            This read-only property returns the template type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TypeTemplateTypeReference.Position">
+            <summary>
+            This read-only property returns the position
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TypeTemplateTypeReference.#ctor(Sandcastle.Tools.BuildComponents.Targets.SimpleTypeReference,System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="templateType">The template type</param>
+            <param name="position">The position</param>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.UI.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.UI.dll
new file mode 100644
index 0000000000000000000000000000000000000000..221abe021c9cae6e86baed948a0ab9ad35243018
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.UI.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.UI.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.UI.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ff2a7ed4ef69ebd71da9f888cde46f0c9645e61b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.UI.xml
@@ -0,0 +1,689 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Sandcastle.Tools.BuildComponents.UI</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg">
+            <summary>
+            This form is used to configure the settings for the Code Block Component
+            </summary>
+            <summary>
+            CodeBlockConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.Factory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.Factory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.btnSelectFolder_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select the output folder for the IntelliSense files
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.SelectFile_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select one of the file types
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.CodeBlockConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg">
+            <summary>
+            This form is used to configure the ESENT Copy From Index component (Comments Index Data)
+            </summary>
+            <summary>
+            ESentCommentsIndexConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.CommentsIndexDataFactory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.CommentsIndexDataFactory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.ResolvePath(System.String)">
+            <summary>
+            Resolve the given path by replacing LocalDataFolder with the actual path and seeing if it exists
+            </summary>
+            <param name="path">The path to check</param>
+            <returns>The resolved path if it exists, or null if it does not</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.btnSelectCacheFolder_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select a cache folder
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.chkEnableLocalCache_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable current project target caching
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.btnPurge_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Purge the content ID and target cache folders
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentCommentsIndexConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg">
+            <summary>
+            This form is used to configure the ESENT Copy From Index component (Reflection Index Data)
+            </summary>
+            <summary>
+            ESentReflectionIndexConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.ReflectionIndexDataFactory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.ReflectionIndexDataFactory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.ResolvePath(System.String)">
+            <summary>
+            Resolve the given path by replacing LocalDataFolder with the actual path and seeing if it exists
+            </summary>
+            <param name="path">The path to check</param>
+            <returns>The resolved path if it exists, or null if it does not</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.btnSelectCacheFolder_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select a cache folder
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.chkEnableLocalCache_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable current project target caching
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.btnPurge_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Purge the content ID and target cache folders
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentReflectionIndexConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg">
+            <summary>
+            Interaction logic for ESentResolveReferenceLinksConfigDlg.xaml
+            </summary>
+            <summary>
+            ESentResolveReferenceLinksConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.Factory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.Factory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.ResolvePath(System.String)">
+            <summary>
+            Resolve the given path by replacing LocalDataFolder with the actual path and seeing if it exists
+            </summary>
+            <param name="path">The path to check</param>
+            <returns>The resolved path if it exists, or null if it does not</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.btnSelectCacheFolder_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select a cache folder
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.chkEnableLocalCache_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable current project target caching
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.btnPurge_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Purge the content ID and target cache folders
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.ESentResolveReferenceLinksConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg">
+            <summary>
+            This form is used to configure the settings for the IntelliSense component
+            </summary>
+            <summary>
+            IntelliSenseConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.Factory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.Factory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.btnSelectFolder_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select the output folder for the IntelliSense files
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.IntelliSenseConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.Properties.Resources.CreateSandcastleDB">
+             <summary>
+               Looks up a localized string similar to -- NOTE: Change the file locations if necessary
+            CREATE DATABASE [Sandcastle]
+             ON  PRIMARY
+            ( NAME = N&apos;Sandcastle&apos;, FILENAME = N&apos;C:\Databases\Sandcastle.mdf&apos; )
+             LOG ON
+            ( NAME = N&apos;Sandcastle_log&apos;, FILENAME = N&apos;C:\Databases\Sandcastle_log.ldf&apos; )
+            GO
+            
+            USE [Sandcastle]
+            GO
+            
+            -- Member ID URLs table
+            CREATE TABLE [dbo].[MemberIdUrls](
+            	[TargetKey] [varchar](2048) NOT NULL,
+            	[MemberUrl] [varchar](2048) NULL,
+             CONSTRAINT [PK_MemberIdUrls] PRIMARY KEY CLUSTERED
+            (
+            	[TargetKey] ASC
+            ) ON [PRIMARY]
+            ) ON [P [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SqlConnectionDlg">
+            <summary>
+            This form is used to define the SQL database connection string and create the database itself
+            </summary>
+            <summary>
+            SqlConnectionDlg
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.SqlConnectionDlg.ConnectionString">
+            <summary>
+            This is used to get or set the connection string
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlConnectionDlg.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlConnectionDlg.ValidateConnectionString(System.String)">
+            <summary>
+            Validate the connection string
+            </summary>
+            <param name="connectionString">The connection string to test</param>
+            <returns>True if valid, false if not</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlConnectionDlg.btnSave_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Save the changes
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlConnectionDlg.btnCreate_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Create the database and its tables
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlConnectionDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg">
+            <summary>
+            Interaction logic for SqlCopyFromIndexConfigDlg.xaml
+            </summary>
+            <summary>
+            SqlCopyFromIndexConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.ReflectionIndexDataFactory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.ReflectionIndexDataFactory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.CommentsIndexDataFactory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.CommentsIndexDataFactory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.btnSetup_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Set the connection string
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.btnPurge_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Purge the content ID and target cache tables
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlCopyFromIndexConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg">
+            <summary>
+            This form is used to configure the settings for the SQL Resolve Reference Links component
+            </summary>
+            <summary>
+            SqlResolveReferenceLinksConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.Factory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.Factory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.btnSetup_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Set the connection string
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.btnPurge_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Purge the content ID and target cache tables
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SqlResolveReferenceLinksConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg">
+            <summary>
+            This form is used to configure the syntax generators for the Syntax Component
+            </summary>
+            <summary>
+            SyntaxComponentConfigDlg
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.Factory">
+            <summary>
+            This allows editing of the component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.Factory.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.SyntaxGeneratorSettings">
+            <summary>
+            This is used to hold the syntax generator settings for the configuration dialog
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.SyntaxGeneratorSettings.Id">
+            <summary>
+            This is used to get or set the syntax generator ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.SyntaxGeneratorSettings.SortOrder">
+            <summary>
+            This is used to get or set the sort order
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.SyntaxGeneratorSettings.IsConfigurable">
+            <summary>
+            This is used to get or set whether or not the syntax generator is configurable
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.SyntaxGeneratorSettings.DefaultConfiguration">
+            <summary>
+            This is used to get or set the default configuration
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.SyntaxGeneratorSettings.CurrentConfiguration">
+            <summary>
+            This is used to get or set the current configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.#ctor(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+            <param name="container">The composition container user to locate the syntax generators</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.IsValid">
+            <summary>
+            This is used to determine whether or not the current configuration is valid and to store the changes
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this component
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.lbGenerators_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Validate and update the selected configuration when the selection changes
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.btnReset_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Reset the configuration
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.btnMoveUp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Move the selected syntax generator up in the sort order
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.btnMoveDown_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Move the selected syntax generator down in the sort order
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.chkAddNoExampleTabs_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Update the "include on standalone snippets" checkbox state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.UI.SyntaxComponentConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..8edf9d2a16519bacc975ec5d3c0112b9fef4a77a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.deps.json
@@ -0,0 +1,425 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/": {
+      "Sandcastle.Tools.BuildComponents/1.0.0": {
+        "dependencies": {
+          "ColorizerLibrary": "1.0.0",
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "NETStandard.Library": "2.0.3",
+          "Sandcastle.Tools.BuildComponents.Targets": "1.0.0",
+          "System.Data.SqlClient": "4.8.2",
+          "System.Text.Json": "5.0.2",
+          "Esent.Collections": "1.9.4.1",
+          "Esent.Interop": "1.9.4.1",
+          "Esent.Isam": "1.9.4.1"
+        },
+        "runtime": {
+          "Sandcastle.Tools.BuildComponents.dll": {}
+        }
+      },
+      "Microsoft.Bcl.AsyncInterfaces/5.0.0": {
+        "dependencies": {
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "Microsoft.Win32.Registry/4.7.0": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Memory": "4.5.4",
+          "System.Security.AccessControl": "4.7.0",
+          "System.Security.Principal.Windows": "4.7.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
+            "assemblyVersion": "4.1.3.0",
+            "fileVersion": "4.700.19.56404"
+          }
+        }
+      },
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "runtime.native.System.Data.SqlClient.sni/4.7.0": {
+        "dependencies": {
+          "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+          "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+          "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
+        }
+      },
+      "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {},
+      "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {},
+      "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {},
+      "System.Buffers/4.5.1": {
+        "runtime": {
+          "lib/netstandard2.0/System.Buffers.dll": {
+            "assemblyVersion": "4.0.3.0",
+            "fileVersion": "4.6.28619.1"
+          }
+        }
+      },
+      "System.ComponentModel.Composition/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.ComponentModel.Composition.dll": {
+            "assemblyVersion": "4.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Data.SqlClient/4.8.2": {
+        "dependencies": {
+          "Microsoft.Win32.Registry": "4.7.0",
+          "System.Buffers": "4.5.1",
+          "System.Diagnostics.DiagnosticSource": "4.7.0",
+          "System.Memory": "4.5.4",
+          "System.Security.Principal.Windows": "4.7.0",
+          "System.Text.Encoding.CodePages": "4.7.0",
+          "runtime.native.System.Data.SqlClient.sni": "4.7.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Data.SqlClient.dll": {
+            "assemblyVersion": "4.6.1.2",
+            "fileVersion": "4.700.20.37001"
+          }
+        }
+      },
+      "System.Diagnostics.DiagnosticSource/4.7.0": {
+        "dependencies": {
+          "System.Memory": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {
+            "assemblyVersion": "4.0.5.0",
+            "fileVersion": "4.700.19.56404"
+          }
+        }
+      },
+      "System.Memory/4.5.4": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Numerics.Vectors": "4.5.0",
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Memory.dll": {
+            "assemblyVersion": "4.0.1.1",
+            "fileVersion": "4.6.28619.1"
+          }
+        }
+      },
+      "System.Numerics.Vectors/4.5.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.Numerics.Vectors.dll": {
+            "assemblyVersion": "4.1.4.0",
+            "fileVersion": "4.6.26515.6"
+          }
+        }
+      },
+      "System.Runtime.CompilerServices.Unsafe/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Security.AccessControl/4.7.0": {
+        "dependencies": {
+          "System.Security.Principal.Windows": "4.7.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Security.AccessControl.dll": {
+            "assemblyVersion": "4.1.3.0",
+            "fileVersion": "4.700.19.56404"
+          }
+        }
+      },
+      "System.Security.Principal.Windows/4.7.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.Security.Principal.Windows.dll": {
+            "assemblyVersion": "4.1.3.0",
+            "fileVersion": "4.700.19.56404"
+          }
+        }
+      },
+      "System.Text.Encoding.CodePages/4.7.0": {
+        "dependencies": {
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {
+            "assemblyVersion": "4.1.3.0",
+            "fileVersion": "4.700.19.56404"
+          }
+        }
+      },
+      "System.Text.Encodings.Web/5.0.1": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Memory": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Text.Encodings.Web.dll": {
+            "assemblyVersion": "5.0.0.1",
+            "fileVersion": "5.0.421.11614"
+          }
+        }
+      },
+      "System.Text.Json/5.0.2": {
+        "dependencies": {
+          "Microsoft.Bcl.AsyncInterfaces": "5.0.0",
+          "System.Buffers": "4.5.1",
+          "System.Memory": "4.5.4",
+          "System.Numerics.Vectors": "4.5.0",
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0",
+          "System.Text.Encodings.Web": "5.0.1",
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Text.Json.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.521.16609"
+          }
+        }
+      },
+      "System.Threading.Tasks.Extensions/4.5.4": {
+        "dependencies": {
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": {
+            "assemblyVersion": "4.2.0.1",
+            "fileVersion": "4.6.28619.1"
+          }
+        }
+      },
+      "ColorizerLibrary/1.0.0": {
+        "runtime": {
+          "ColorizerLibrary.dll": {}
+        }
+      },
+      "Sandcastle.Tools.BuildComponents.Targets/1.0.0": {
+        "runtime": {
+          "Sandcastle.Tools.BuildComponents.Targets.dll": {}
+        }
+      },
+      "Esent.Collections/1.9.4.1": {
+        "runtime": {
+          "Esent.Collections.dll": {
+            "assemblyVersion": "1.9.4.1",
+            "fileVersion": "1.9.4.1"
+          }
+        }
+      },
+      "Esent.Interop/1.9.4.1": {
+        "runtime": {
+          "Esent.Interop.dll": {
+            "assemblyVersion": "1.9.4.1",
+            "fileVersion": "1.9.4.1"
+          }
+        }
+      },
+      "Esent.Isam/1.9.4.1": {
+        "runtime": {
+          "Esent.Isam.dll": {
+            "assemblyVersion": "1.9.4.1",
+            "fileVersion": "1.9.4.1"
+          }
+        }
+      }
+    }
+  },
+  "libraries": {
+    "Sandcastle.Tools.BuildComponents/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Bcl.AsyncInterfaces/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-W8DPQjkMScOMTtJbPwmPyj9c3zYSFGawDW3jwlBOOsnY+EzZFLgNQ/UMkK35JmkNOVPdCyPr2Tw7Vv9N+KA3ZQ==",
+      "path": "microsoft.bcl.asyncinterfaces/5.0.0",
+      "hashPath": "microsoft.bcl.asyncinterfaces.5.0.0.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==",
+      "path": "microsoft.win32.registry/4.7.0",
+      "hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "runtime.native.System.Data.SqlClient.sni/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
+      "path": "runtime.native.system.data.sqlclient.sni/4.7.0",
+      "hashPath": "runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512"
+    },
+    "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
+      "path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
+      "hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
+    },
+    "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
+      "path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
+      "hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
+    },
+    "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
+      "path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
+      "hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
+    },
+    "System.Buffers/4.5.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
+      "path": "system.buffers/4.5.1",
+      "hashPath": "system.buffers.4.5.1.nupkg.sha512"
+    },
+    "System.ComponentModel.Composition/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YL8iA3VOFxhyomn7FxtBgh3F+8XG5jOfT5UcqYLtkafSa6g6alQfKZuRwlEIWe+tzH6OVnj0Ekg5tn/DmV7SkQ==",
+      "path": "system.componentmodel.composition/5.0.0",
+      "hashPath": "system.componentmodel.composition.5.0.0.nupkg.sha512"
+    },
+    "System.Data.SqlClient/4.8.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-80vGtW6uLB4AkyrdVuKTXYUyuXDPAsSKbTVfvjndZaRAYxzFzWhJbvUfeAKrN+128ycWZjLIAl61dFUwWHOOTw==",
+      "path": "system.data.sqlclient/4.8.2",
+      "hashPath": "system.data.sqlclient.4.8.2.nupkg.sha512"
+    },
+    "System.Diagnostics.DiagnosticSource/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-oJjw3uFuVDJiJNbCD8HB4a2p3NYLdt1fiT5OGsPLw+WTOuG0KpP4OXelMmmVKpClueMsit6xOlzy4wNKQFiBLg==",
+      "path": "system.diagnostics.diagnosticsource/4.7.0",
+      "hashPath": "system.diagnostics.diagnosticsource.4.7.0.nupkg.sha512"
+    },
+    "System.Memory/4.5.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==",
+      "path": "system.memory/4.5.4",
+      "hashPath": "system.memory.4.5.4.nupkg.sha512"
+    },
+    "System.Numerics.Vectors/4.5.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==",
+      "path": "system.numerics.vectors/4.5.0",
+      "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512"
+    },
+    "System.Runtime.CompilerServices.Unsafe/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA==",
+      "path": "system.runtime.compilerservices.unsafe/5.0.0",
+      "hashPath": "system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512"
+    },
+    "System.Security.AccessControl/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==",
+      "path": "system.security.accesscontrol/4.7.0",
+      "hashPath": "system.security.accesscontrol.4.7.0.nupkg.sha512"
+    },
+    "System.Security.Principal.Windows/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==",
+      "path": "system.security.principal.windows/4.7.0",
+      "hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512"
+    },
+    "System.Text.Encoding.CodePages/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==",
+      "path": "system.text.encoding.codepages/4.7.0",
+      "hashPath": "system.text.encoding.codepages.4.7.0.nupkg.sha512"
+    },
+    "System.Text.Encodings.Web/5.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KmJ+CJXizDofbq6mpqDoRRLcxgOd2z9X3XoFNULSbvbqVRZkFX3istvr+MUjL6Zw1RT+RNdoI4GYidIINtgvqQ==",
+      "path": "system.text.encodings.web/5.0.1",
+      "hashPath": "system.text.encodings.web.5.0.1.nupkg.sha512"
+    },
+    "System.Text.Json/5.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I47dVIGiV6SfAyppphxqupertT/5oZkYLDCX6vC3HpOI4ZLjyoKAreUoem2ie6G0RbRuFrlqz/PcTQjfb2DOfQ==",
+      "path": "system.text.json/5.0.2",
+      "hashPath": "system.text.json.5.0.2.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Extensions/4.5.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
+      "path": "system.threading.tasks.extensions/4.5.4",
+      "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512"
+    },
+    "ColorizerLibrary/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Sandcastle.Tools.BuildComponents.Targets/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Esent.Collections/1.9.4.1": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Esent.Interop/1.9.4.1": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Esent.Isam/1.9.4.1": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f89ad06944067f4c15bbd70e7ea5772ac2a9e68a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0ec79e6a37f82c81d63ec2da32765780fa290be1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.BuildComponents.xml
@@ -0,0 +1,3387 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Sandcastle.Tools.BuildComponents</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Tools.BuildComponents.AdditionalHeaderResourcesComponent">
+            <summary>
+            This component is used add additional metadata, style sheet, and script file resources to the header of
+            the transformed topics.
+            </summary>
+            <remarks>The configuration consists of a set of <c>script</c> and <c>stylesheet</c> elements with a
+            <c>name</c> attribute that specifies the file to add.  The appropriate <c>script</c> and <c>link</c>
+            elements will be appended to the end of the <c>head</c> element.  In addition, <c>meta</c> elements can
+            be added.  The metadata will be added to the start of the <c>head</c> element verbatim.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.AdditionalHeaderResourcesComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.AdditionalHeaderResourcesComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.AdditionalHeaderResourcesComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.AdditionalHeaderResourcesComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.AdditionalHeaderResourcesComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CloneComponent">
+            <summary>
+            This build component is used to clone the topic for each set of build components and execute them
+            on the cloned topic.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CloneComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CloneComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CloneComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.CloneComponent.GroupId">
+            <inheritdoc />
+            <remarks>This sets a unique group ID for each branch</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CloneComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+            <remarks>Multiple <c>branch</c> elements are specified as the configuration.  Each <c>branch</c>
+            element can contain one or more <c>component</c> definitions that will be created and executed when
+            this component is applied.  Each branch receives a clone of the document.  This may be useful for
+            generating multiple help output formats in one build configuration.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CloneComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CloneComponent.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CodeBlockComponent">
+             <summary>
+             This build component is used to search for &lt;code&gt; XML comment tags and colorize the code within
+             them.  It can also include code from an external file or a region within the file.
+             </summary>
+             <remarks>The colorizer files are only copied once and only if code is actually colorized.  If the files
+             already exist (i.e. additional content has replaced them), they are not copied either.  That way, you
+             can customize the color style sheet as you see fit without modifying the default style sheet.</remarks>
+             <example>
+             <code language="xml" title="Example configuration">
+             &lt;!-- Code block component configuration.  This must appear before
+                  the TransformComponent. --&gt;
+             &lt;component id="Code Block Component"&gt;
+                 &lt;!-- Base path for relative filenames in source
+                      attributes (optional). --&gt;
+                 &lt;basePath value="..\SandcastleComponents" /&gt;
+            
+                 &lt;!-- Base output paths for the files (required).  These should
+                      match the parent folder of the output path of the HTML files
+                      used in the SaveComponent instances. --&gt;
+                 &lt;outputPaths&gt;
+                   &lt;path value="Output\HtmlHelp1\" /&gt;
+                   &lt;path value="Output\MSHelpViewer\" /&gt;
+                   &lt;path value="Output\Website\" /&gt;
+                 &lt;/outputPaths&gt;
+                 
+                 &lt;!-- Allow missing source files (Optional).  If omitted,
+                      it will generate errors if referenced source files
+                      are missing. --&gt;
+                 &lt;allowMissingSource value="false" /&gt;
+             
+                 &lt;!-- Remove region markers from imported code blocks.  If omitted,
+                      region markers in imported code blocks are left alone. --&gt;
+                 &lt;removeRegionMarkers value="false" /&gt;
+            
+                 &lt;!-- Code colorizer options (required).
+                   Attributes:
+                     Language syntax configuration file (required)
+                     XSLT style sheet file (required)
+                     CSS style sheet file (required)
+                     Script file (required)
+                     Disabled (optional, leading whitespace normalization only)
+                     Default language (optional)
+                     Enable line numbering (optional)
+                     Enable outlining (optional)
+                     Keep XML comment "see" tags within the code (optional)
+                     Tab size for unknown languages (optional, 0 = use default)
+                     Use language name as default title (optional) --&gt;
+                 &lt;colorizer syntaxFile="highlight.xml" styleFile="highlight.xsl"
+                   stylesheet="highlight.css" scriptFile="highlight.js"
+                   disabled="false" language="cs" numberLines="false" outlining="false"
+                   keepSeeTags="false" tabSize="0" defaultTitle="true" /&gt;
+             &lt;/component&gt;
+             </code>
+            
+             <code language="xml" title="Examples as used in XML comments.">
+             &lt;example&gt;
+             A basic code block that uses the configuration defaults:
+             &lt;code&gt;
+             /// Code to colorize
+             &lt;/code&gt;
+            
+             Override options with block-specific options:
+             &lt;code language="xml" numberLines="true" outlining="false" tabSize="8" &gt;
+                 &amp;lt;XmlTags/&amp;gt;
+             &lt;/code&gt;
+            
+             An entire external file or a delimited region from it can be
+             included.  This allows you to compile your example code externally
+             to ensure that it is still valid and saves you from maintaining it
+             in two places.
+            
+             Retrieve all code from an external file.  Use VB.NET syntax.
+             &lt;code source="..\Examples\WholeDemo.vb" language="vbnet"/&gt;
+            
+             Retrieve a specific #region from an external file.
+             &lt;code source="..\Examples\SeveralExamples.vb"
+                 region="Example 1" language="vbnet"/&gt;
+             
+             Keep &lt;see&gt; tags within comments so that they are converted to
+             links to the help topics.
+             &lt;code keepSeeTags="true"&gt;
+             int x = this.&lt;see cref="CountStuff"&gt;CountStuff&lt;/see&gt;(true);
+             
+             string value = this.&lt;see cref="System.Object.ToString"&gt;
+             &lt;code&gt;
+            
+             &lt;example&gt;
+             </code>
+             </example>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CodeBlockComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component used to colorize code blocks
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.Factory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.CodeBlockComponent.Factory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+            <remarks>See the <see cref="T:Sandcastle.Tools.BuildComponents.CodeBlockComponent"/> class topic for an example of the configuration and
+            usage.</remarks>
+            <exception cref="T:System.ArgumentException">This is thrown if an error is detected in the
+            configuration.</exception>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This is implemented to perform the code colorization.
+            </summary>
+            <param name="document">The XML document with which to work.</param>
+            <param name="key">The key (member name) of the item being documented.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.Dispose(System.Boolean)">
+            <summary>
+            At disposal, copy the script and style files if any topics with code blocks were encountered
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.LoadNestedCodeBlocks(System.String,System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathExpression,Sandcastle.Core.BuildAssembler.MessageLevel)">
+            <summary>
+            This is used to load a set of nested code blocks from external files
+            </summary>
+            <param name="key">The topic key</param>
+            <param name="navCode">The node in which to replace the nested code blocks</param>
+            <param name="nestedCode">The XPath expression used to locate the nested code blocks.</param>
+            <param name="msgLevel">The message level for missing source code</param>
+            <returns>The HTML encoded blocks extracted from the files as a single code block</returns>
+            <remarks>Only source and region attributes are used.  All other attributes are obtained from the
+            parent code block.  Text nodes are created to replace the nested code tags so that any additional
+            text in the parent code block is also retained.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.LoadCodeBlock(System.String,System.Xml.XmlNode,Sandcastle.Core.BuildAssembler.MessageLevel)">
+            <summary>
+            This is used to load a code block from an external file.
+            </summary>
+            <param name="key">The topic key</param>
+            <param name="code">The node containing the attributes</param>
+            <param name="msgLevel">The message level for missing source code</param>
+            <returns>The HTML encoded block extracted from the file.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CodeBlockComponent.TransformComponent_TopicTransformed(System.Object,System.EventArgs)">
+            <summary>
+            This is used to complete the process by inserting the colorized code within the topic after it has
+            been transformed to HTML.
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+            <remarks>A two-phase approach is needed as the HTML for the colorized code wouldn't make it through
+            the conceptual content XSL transformations.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.CopyCommand">
+            <summary>
+            This is an abstract base class used for copy commands
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyCommand.ParentComponent">
+            <summary>
+            This read-only property returns the parent component
+            </summary>
+            <value>This can be used to log messages</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyCommand.Source">
+            <summary>
+            This read-only property returns the XPath expression used to get the source elements
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyCommand.Target">
+            <summary>
+            This read-only property returns the XPath expression used to get the target element to which the
+            source elements are copied
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyCommand.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parent">The parent build component</param>
+            <param name="sourceXPath">The source XPath expression</param>
+            <param name="targetXPath">The target XPath expression</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyCommand.Apply(System.Xml.XmlDocument,System.Xml.IXmlNamespaceResolver)">
+            <summary>
+            Implement this method to apply the copy command to the given target document using the given context
+            </summary>
+            <param name="targetDocument">The target document</param>
+            <param name="context">The context to use</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.CopyFromFileCommand">
+            <summary>
+            This represents the copy command for the <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromFileComponent"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromFileCommand.SourceDocument">
+            <summary>
+            This read-only property returns the source document from which to copy data
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyFromFileCommand.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,System.Xml.XPath.XPathDocument,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parent">The parent build component</param>
+            <param name="sourceDocument">The source XPath document</param>
+            <param name="sourceXPath">The source XPath expression</param>
+            <param name="targetXPath">The target XPath expression</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyFromFileCommand.Apply(System.Xml.XmlDocument,System.Xml.IXmlNamespaceResolver)">
+            <summary>
+            Apply the copy command to the specified target document using the specified context
+            </summary>
+            <param name="targetDocument">The target document</param>
+            <param name="context">The context to use</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.CopyFromFilesCommand">
+            <summary>
+            This represents the copy command for the <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromFilesComponent"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromFilesCommand.BasePath">
+            <summary>
+            This read-only property returns the base path containing the source files
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromFilesCommand.SourceFile">
+            <summary>
+            This read-only property returns the XPath expression used to get the file from which to copy elements
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyFromFilesCommand.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,System.String,System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parent">The parent build component</param>
+            <param name="basePath">The base path in which to find the files</param>
+            <param name="fileXPath">The file XPath expression used to get the file from which to copy elements</param>
+            <param name="sourceXPath">The source XPath expression</param>
+            <param name="targetXPath">The target XPath expression</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyFromFilesCommand.Apply(System.Xml.XmlDocument,System.Xml.IXmlNamespaceResolver)">
+            <summary>
+            Apply the copy command to the specified target document using the specified context
+            </summary>
+            <param name="targetDocument">The target document</param>
+            <param name="context">The context to use</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand">
+            <summary>
+            This represents the copy command for the <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.SourceIndex">
+            <summary>
+            This read-only property returns the source index
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.Key">
+            <summary>
+            This read-only property returns the key XPath expression
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.IsAttribute">
+            <summary>
+            This read-only property determines if the source nodes are added to the target as attributes or
+            as child elements.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.IgnoreCase">
+            <summary>
+            This read-only property determines whether to search for index keys case-insensitively
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.MissingEntry">
+            <summary>
+            This is used to get or set the message level for missing index entries
+            </summary>
+            <value>The default is <c>Ignore</c> to ignore missing index entries without logging a message</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.MissingSource">
+            <summary>
+            This is used to get or set the message level for missing source entries
+            </summary>
+            <value>The default is <c>Ignore</c> to ignore missing source entries without logging a message</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.MissingTarget">
+            <summary>
+            This is used to get or set the message level for missing target entries
+            </summary>
+            <value>The default is <c>Ignore</c> to ignore missing target entries without logging a message</value>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,Sandcastle.Tools.BuildComponents.Commands.IndexedCache,System.String,System.String,System.String,System.Boolean,System.Boolean)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parent">The parent build component</param>
+            <param name="sourceIndex">The source index</param>
+            <param name="keyXPath">The key XPath expression</param>
+            <param name="sourceXPath">The source XPath expression</param>
+            <param name="targetXPath">The target XPath expression</param>
+            <param name="isAttribute">True if the targets are to be added as attributes, false if they are to be
+            added as elements</param>
+            <param name="ignoreCase">True to ignore case on the keys when retrieving index values</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.CopyFromIndexCommand.Apply(System.Xml.XmlDocument,System.Xml.IXmlNamespaceResolver)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache">
+            <summary>
+            This is a version of the <c>InMemoryIndexCache</c> that adds the ability to store index information in
+            one or more persistent ESENT databases.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache.Count">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache.Item(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache.#ctor(Sandcastle.Tools.BuildComponents.CopyFromIndexComponent,System.Xml.XmlNamespaceManager,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent"/> to which the indexed cache belongs</param>
+            <param name="context">A context to use with the key and value XPath expressions</param>
+            <param name="configuration">The configuration to use</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache.AddDocuments(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+            <remarks>If a cache path attribute is found and is not empty, the given database cache is used rather
+            than an in-memory cache for the file set.  If not found or empty, the index information is added to
+            the standard in-memory cache.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache.ReportCacheStatistics">
+            <summary>
+            Report the cache usage for the build
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.ESentIndexedCache.CreateCache(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create the index cache database
+            </summary>
+            <param name="configuration">The configuration to use</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.IndexedCache">
+            <summary>
+            This abstract base class is used to create indexed caches of information represented by XPathNavigators
+            such as reflection information and XML comments.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Component">
+            <summary>
+            This read-only property returns a reference to the <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent"/> that owns it
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Name">
+            <summary>
+            This read-only property returns the name of the index cache
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.ValueExpression">
+            <summary>
+            This read-only property returns the XPath expression used to search for values in the XML files
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.KeyExpression">
+            <summary>
+            This read-only property returns the XPath expression used to extract the key from values
+            </summary>
+            <value>The key expression is always relative to the index value node</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.IsDisposed">
+            <summary>
+            This read-only property can be used to determine whether or not the indexed cache has been disposed
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Count">
+            <summary>
+            This read-only property returns a count of the items in the indexed cache
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Item(System.String)">
+            <summary>
+            This read-only property returns the value in the indexed cache for the given key
+            </summary>
+            <param name="key">The key to look up</param>
+            <returns>The value associated with the key or null if it was not found</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.#ctor(Sandcastle.Tools.BuildComponents.CopyFromIndexComponent,System.Xml.XmlNamespaceManager,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent"/> to which the indexed cache belongs</param>
+            <param name="context">A context to use with the key and value XPath expressions</param>
+            <param name="configuration">The configuration to use</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the indexed cache if not done
+            explicitly with <see cref="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the indexed cache
+            </summary>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.Dispose(System.Boolean)">
+            <summary>
+            This can be overridden by derived classes to add their own disposal code if necessary.
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.LoadXmlCommentsFile(System.String)">
+            <summary>
+            This loads an XML file and handles redirection in XML comments files
+            </summary>
+            <param name="filename">The XML file to load</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathDocument"/> instance for the loaded XML file or null if it could not be
+            loaded.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.AddDocuments(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to index documents and add their key/file mappings to the cache
+            </summary>
+            <param name="configuration">The configuration used to add documents</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.ReportCacheStatistics">
+            <summary>
+            This can be overridden in derived classes to report cache usage statistics after the build
+            </summary>
+            <remarks>The default implementation does nothing.  You can override this to provide information that
+            can help adjust the cache size to make it more efficient.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.GetKeys(System.String)">
+            <summary>
+            This returns an enumerable list of all key values from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key values in the given file</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.IndexedCache.GetValues(System.String)">
+            <summary>
+            This returns an enumerable list of all key/value pairs from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key/value values in the given file</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache">
+            <summary>
+            This contains a collection of XPath navigators indexed by member ID stored in a simple
+            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> entirely in memory.
+            </summary>
+            <remarks>This index maps the element keys to the files in which they are found.  As needed, the files
+            containing the requested keys are loaded and cached in memory.  When the cache fills, the oldest file is
+            unloaded to make room for a new file.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.IndexedDocument">
+            <summary>
+            This is used by the <see cref="T:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache"/> to contain index information for an individual
+            XML file.
+            </summary>
+            <remarks>Instances of this class are created and cached as needed</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.IndexedDocument.Item(System.String)">
+            <summary>
+            This read-only property returns the XPath navigator for the specified key
+            </summary>
+            <param name="key">The key to look up</param>
+            <returns>The XPath navigator associated with the key</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.IndexedDocument.#ctor(Sandcastle.Tools.BuildComponents.Commands.IndexedCache,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="cache">The cache with which this indexed document is associated</param>
+            <param name="file">The file to index</param>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.Count">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.Item(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.#ctor(Sandcastle.Tools.BuildComponents.CopyFromIndexComponent,System.Xml.XmlNamespaceManager,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent"/> to which the indexed cache belongs</param>
+            <param name="context">A context to use with the key and value XPath expressions</param>
+            <param name="configuration">The indexed cache configuration</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.AddDocuments(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.InMemoryIndexedCache.ReportCacheStatistics">
+            <summary>
+            Report the cache usage for the build
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache">
+            <summary>
+            This is a version of the <c>InMemoryIndexCache</c> that adds the ability to store index information in a
+            persistent SQL database.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache.Count">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache.Item(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache.#ctor(Sandcastle.Tools.BuildComponents.CopyFromIndexComponent,System.Xml.XmlNamespaceManager,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The <see cref="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent"/> to which the indexed cache belongs</param>
+            <param name="context">A context to use with the key and value XPath expressions</param>
+            <param name="configuration">The configuration to use</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache.AddDocuments(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+            <remarks>If a <c>groupId</c> attribute is found, the given database cache is used rather than an
+            in-memory cache for the file set.  If not found, the index information is added to the standard
+            in-memory cache.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache.ReportCacheStatistics">
+            <summary>
+            Report the cache usage for the build
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Commands.SqlIndexedCache.CreateCache(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create the index cache
+            </summary>
+            <param name="configuration">The configuration to use</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CopyFromFileComponent">
+            <summary>
+            This build component copies elements from one or more constant XML files into the target document based
+            on one or more copy commands that define the elements to copy and where to put them.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CopyFromFileComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFileComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFileComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFileComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFileComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CopyFromFilesComponent">
+            <summary>
+            This build component copies elements from one or more XML files determined using an XPath query into the
+            target document based on one or more copy commands that define the elements to copy and where to put them.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CopyFromFilesComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFilesComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFilesComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFilesComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromFilesComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent">
+            <summary>
+            This build component copies elements from an indexed set of XML files into the target document based on
+            one or more copy commands that define the elements to copy and where to put them.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.Factory.CopyComponents">
+            <summary>
+            This is used to import the list of copy component factories that is passed to the build component
+            when it is created.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.Context">
+            <summary>
+            This read-only property returns the context to use for the index when evaluating XPath expressions
+            </summary>
+            <remarks>Since this is only for providing XML namespaces, it can be shared amongst all indexes</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore,System.Collections.Generic.List{System.Lazy{Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentFactory,Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata}})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+            <param name="copyComponentFactories">The list of available copy component factory components</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.CreateIndex(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create the index cache
+            </summary>
+            <param name="configuration">The index configuration</param>
+            <returns>An instance of an <see cref="T:Sandcastle.Tools.BuildComponents.Commands.IndexedCache"/> derived class</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.CopyFromIndexComponent.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ExampleComponent">
+            <summary>
+            This build component is used to replace code references with snippets from a file
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ExampleComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.LoadContent(System.String)">
+            <summary>
+            Snippet loading logic
+            </summary>
+            <param name="file">The file from which to load the snippets</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.ColorizeSnippet(System.String,System.Collections.Generic.List{Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule})">
+            <summary>
+            Colorization logic
+            </summary>
+            <param name="text">The text to colorize</param>
+            <param name="rules">The colorization rules</param>
+            <returns>A collection of colorized code regions</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.WriteColorizedSnippet(System.Collections.Generic.ICollection{Sandcastle.Tools.BuildComponents.Snippets.Region},System.Xml.XmlWriter)">
+            <summary>
+            Write the colorized code snippet to the output
+            </summary>
+            <param name="regions">A collection of colorized code regions</param>
+            <param name="writer">The XML writer to which the colorized code is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.StripLeadingSpaces(System.String)">
+            <summary>
+            Strip a common amount of leading whitespace from each line of the given text block
+            </summary>
+            <param name="text">The text from which to strip leading whitespace</param>
+            <returns>The text with the leading whitespace stripped from each line</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ExampleComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.FileCreatedEventArgs">
+            <summary>
+            This event arguments class is used by build components to indicate that they have saved a file of some
+            sort (help content or fragment).
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.FileCreatedEventArgs.FilePath">
+            <summary>
+            This read-only property returns the path to the saved file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.FileCreatedEventArgs.IsContentFile">
+            <summary>
+            This read-only property indicates whether or not the file is a help content file
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.FileCreatedEventArgs.#ctor(System.String,System.Boolean)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="filePath">The path to the saved file</param>
+            <param name="isContentFile">True if the saved file is a help content file, false if not</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ForEachComponent">
+            <summary>
+            This component is used to execute a set of components on the topic
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ForEachComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ForEachComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ForEachComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.ForEachComponent.GroupId">
+            <inheritdoc />
+            <remarks>This sets the group ID for each subcomponent</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ForEachComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ForEachComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ForEachComponent.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ForEachComponent.ApplyComponents(System.Xml.XmlDocument,System.String)">
+            <summary>
+            Apply the components to the document
+            </summary>
+            <param name="document">The document to which the topics are applied</param>
+            <param name="key">The document key</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.IfThenComponent">
+            <summary>
+            This component is used to conditionally execute a set of components based on an XPath condition
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.IfThenComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IfThenComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IfThenComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IfThenComponent.GroupId">
+            <inheritdoc />
+            <remarks>This sets a unique group ID for each branch</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IfThenComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IfThenComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IfThenComponent.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.IntelliSenseComponent">
+            <summary>
+            This build component is used to generate IntelliSense files based on the documented APIs.
+            </summary>
+            <remarks>Only the basic set of tags needed for IntelliSense are exported and only for documented API
+            members.  This is based on the  Microsoft IntelliSense build component.  That version only works with
+            Microsoft-specific XML comments files and does not work with general XML comments files created by the
+            compilers.</remarks>
+            <example>
+            <code language="xml" title="Example configuration">
+            &lt;!-- IntelliSense component configuration.  This must appear
+                 before the TransformComponent. --&gt;
+            &lt;component id="IntelliSense Component"&gt;
+             &lt;!-- Output options (optional)
+                  Attributes:
+                     Include Namespaces (false by default)
+                     Namespaces filename ("Namespaces" if not specified or empty)
+                     Output folder (current folder if not specified or empty) --&gt;
+                     Bounded cache capacity (0 if not specified) --&gt;
+             &lt;output includeNamespaces="false" namespacesFile="Namespaces"
+                 folder="C:\ProjectDocs\" boundedCapacity="100" /&gt;
+            &lt;/component&gt;
+            </code>
+            </example>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Factory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Factory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Factory.Dependencies">
+            <inheritdoc />
+            <remarks>Indicate a dependency on the missing documentation component as it will produce more
+            complete documentation with all the proper elements present.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo">
+            <summary>
+            This is used to contain the XML comments elements information that will be written to the
+            IntelliSense files.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.AssemblyName">
+            <summary>
+            The assembly name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.MemberName">
+            <summary>
+            The member name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.Summary">
+            <summary>
+            The summary element comments
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.Params">
+            <summary>
+            The parameter element comments
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.TypeParams">
+            <summary>
+            The type parameter element comments
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.Returns">
+            <summary>
+            The returns element comments
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.Value">
+            <summary>
+            The value element comments
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.Exceptions">
+            <summary>
+            The exception element comments
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.CodeContracts">
+            <summary>
+            The code contracts element comments
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.EnumElements">
+            <summary>
+            For enumerated types, the enum member element summary comments
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.CommentsInfo.#ctor(Sandcastle.Tools.BuildComponents.IntelliSenseComponent,System.String,System.String,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The component creating the instance</param>
+            <param name="assemblyName">The assembly name</param>
+            <param name="memberName">The member name</param>
+            <param name="comments">The XPath navigator from which to extract the comments information</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.Dispose(System.Boolean)">
+            <summary>
+            Wait for the comments writer task to complete when disposed
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.IntelliSenseComponent.WriteComments">
+            <summary>
+            This is used to write the comments to the appropriate assembly XML comments file
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.LanguageSpecificTextComponent">
+            <summary>
+            This component is used to convert the span style language-specific text elements to the script style
+            elements used in the VS2010 and later styles.
+            </summary>
+            <remarks>An optional <c>scriptFunction</c> configuration element with a <c>name</c> attribute specifying
+            the JavaScript function to call can be specified.  If omitted, the function name defaults to
+            "<c>AddLanguageSpecificTextSet</c>".</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.LanguageSpecificTextComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.LanguageSpecificTextComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.LanguageSpecificTextComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.LanguageSpecificTextComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.LanguageSpecificTextComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver">
+            <summary>
+            This is used to perform lookups using the Microsoft Docs cross-reference service on .NET Framework member
+            IDs and return the URL for them.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.CrossReferenceUrlFormat">
+            <summary>
+            This is used to get the cross-reference URL used to perform the lookup
+            </summary>
+            <value>It should contain a single format parameter ({0}) that will be replaced by the member ID.
+            If not set, the default is "https://xref.docs.microsoft.com/query?uid={0}"</value>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+            <remarks>The default constructor creates a simple dictionary to hold the cached URLs</remarks>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.#ctor(System.Collections.Generic.IDictionary{System.String,System.String},System.Boolean)">
+            <summary>
+            This constructor is used to create the resolver using an existing cache
+            </summary>
+            <param name="urlCache">A cache of existing member ID URLs</param>
+            <param name="isShared">True if the cache is shared, false if not.  If not shared, the cache will
+            be disposed of when this instance is disposed of</param>
+            <remarks>This constructor allows you to pass in a persistent cache with preloaded values that will
+            save looking up values that have already been determined.</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.Locale">
+            <inheritdoc />
+            <remarks>This is not used by this resolver</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.IsDisposed">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.IsDisabled">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.DisabledReason">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.CachedUrls">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.CacheItemsAdded">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MicrosoftDocsXRefServiceResolver.ResolveUrlForId(System.String)">
+            <summary>
+            This is used to get the Microsoft Docs URL for the given .NET Framework member ID
+            </summary>
+            <param name="id">The member ID to look up</param>
+            <returns>The URL for the member ID or null if not found</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.MSHCComponent">
+             <summary>
+             This class is a modified version of the original <c>MSHCComponent</c> that is used to add MS Help Viewer
+             meta data to the topics.  This version allows the inclusion of a <c>sortOrder</c> attribute on the table
+             of contents file elements.  This allows the sort order of the elements to be defined to set the proper
+             placement of the TOC entries when parented to an entry outside of the help file and to parent the API
+             content within a conceptual content folder.
+             </summary>
+             <remarks>The <c>sortOrder</c> attributes are optional.  If not found, standard ordering is applied
+             starting from zero.  If a <c>sortOrder</c> attribute is found, numbering starts from that value for the
+             associated topic and increments by one for all subsequent topics until another <c>sortOrder</c> attribute
+             is encountered or the end of the group is reached.</remarks>
+             <example>
+             <code language="xml" title="Example Component Configuration">
+             &lt;component id="Microsoft Help Viewer Metadata Component"&gt;
+               &lt;data self-branded="true" topic-version="100" toc-file="toc.xml"
+               toc-parent="" toc-parent-version="100" locale="en-US" /&gt;
+             &lt;/component&gt;
+             </code>
+            
+             <code language="xml" title="Example toc.xml File">
+             &lt;?xml version="1.0" encoding="utf-8"?&gt;
+             &lt;topics&gt;
+               &lt;!-- Sort our content below that of the parent node's existing sub-topics --&gt;
+               &lt;topic id="d4648875-d41a-783b-d5f4-638df39ee413" file="d4648875-d41a-783b-d5f4-638df39ee413" sortOrder="100"&gt;
+                 &lt;topic id="57f7aedc-17d3-4547-bdf9-5b468a08a1bc" file="57f7aedc-17d3-4547-bdf9-5b468a08a1bc" /&gt;
+                 &lt;topic id="0e6bbd29-775a-8deb-c4f5-5b1e63349ef1" file="0e6bbd29-775a-8deb-c4f5-5b1e63349ef1" /&gt;
+                 &lt;topic id="fcdfafc4-7625-f407-d8e9-ec006944e1d7" file="fcdfafc4-7625-f407-d8e9-ec006944e1d7" /&gt;
+                 &lt;!-- API content (7 namespaces, merged later) goes here and this topic follows it --&gt;
+                 &lt;topic id="ce37cf86-fd95-49fc-b048-ba7d25d68d87" file="ce37cf86-fd95-49fc-b048-ba7d25d68d87" sortOrder="10"&gt;
+               &lt;/topic&gt;
+               .
+               .
+               .
+             &lt;/topics&gt;
+             </code>
+             </example>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.MSHCComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MSHCComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MSHCComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MSHCComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.MSHCComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent">
+            <summary>
+            This component is used to resolve links to media files (i.e images)
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent.Dispose(System.Boolean)">
+            <summary>
+            At disposal, copy the media files that were encountered
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent">
+             <summary>
+             This is a modified version of the original <c>ResolveConceptualLinksComponent</c> that is used to resolve
+             links to conceptual topics.
+             </summary>
+             <remarks>This version contains the following improvements and fixes:
+             <list type="bullet">
+               <item>Broken links use the <b>None</b> style rather than the <c>Index</c> style so that it is apparent
+             that they do not work.</item>
+               <item>The inner text from the conceptual link is used if specified.</item>
+               <item>On broken links, when the <c>showBrokenLinkText</c> option is true and there is no inner text,
+             the target value is displayed.</item>
+               <item>Conceptual link targets can include an optional anchor name from within the target such as
+             "#Name" (see examples below).</item>
+               <item>Unnecessary whitespace is removed from the link text.</item>
+               <item>If the companion file contains a <c>&lt;linkText&gt;</c> element and no inner text is specified,
+             its value will be used for the link text rather than the title.  This allows for a shorter title or
+             description to use as the default link text.</item>
+             </list></remarks>
+             <example>
+             On links without inner text, if the companion file contains a <c>linkText</c> element, that text will be
+             used.  If not, the title is used.
+            
+             <code language="xml" title="Example Links">
+             <![CDATA[<!-- Link with inner text -->
+             <link xlink:href="3ab3113f-984b-19ac-7812-990192aca5b0">Click Here</link>
+             <!-- Link with anchor reference -->
+             <link xlink:href="3ab3113f-984b-19ac-7812-990192aca5b1#SubTopic" />
+             <!-- Link with inner text and an anchor reference -->
+             <link xlink:href="3ab3113f-984b-19ac-7812-990192aca5b1#PropA">PropertyA</link>]]>
+             </code>
+             
+             <code language="xml" title="Example configuration">
+             &lt;!-- Resolve conceptual links --&gt;
+             &lt;component id="Resolve Conceptual Links Component">
+                 &lt;showBrokenLinkText value="true" /&gt;
+                 &lt;targets base="xmlComp" type="local" /&gt;
+             &lt;/component&gt;
+             </code>
+             </example>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This is implemented to resolve the conceptual links
+            </summary>
+            <param name="document">The XML document with which to work.</param>
+            <param name="key">The key (member name) of the item being documented.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.BrokenLinkDisplayText(System.String,System.String)">
+            <summary>
+            Determine what to display for broken links
+            </summary>
+            <param name="target">The target key</param>
+            <param name="text">The link text</param>
+            <returns>The text to display for the broken link</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.CompileXPathExpression(System.String)">
+            <summary>
+            Compile an XPath expression and report an error if it fails
+            </summary>
+            <param name="xpath">The XPath expression to compile.</param>
+            <returns>The compiled XPath expression.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent.GetTargetInfoFromCache(System.String)">
+            <summary>
+            Get target info
+            </summary>
+            <param name="target">The target for which to get info</param>
+            <returns>The target info object if found or null if not found</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent">
+            <summary>
+            This build component is used to resolve links to reference topics
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.SharedMemberUrlCacheId">
+            <summary>
+            This is used as the key name when sharing the URL cache across instances
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.SharedReferenceTargetsId">
+            <summary>
+            This is used as the key name when sharing the target dictionaries across instances
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.UrlResolver">
+            <summary>
+            This read-only property returns the member ID URL resolver instance
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.Targets">
+            <summary>
+            This read-only property returns the target type dictionary
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.Dispose(System.Boolean)">
+            <summary>
+            This is overridden to save the updated cache information and dispose of target information
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.CreateMemberIdResolver(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create a member ID URL resolver for the component to use in looking up help website
+            URLs.
+            </summary>
+            <param name="configuration">The component configuration</param>
+            <returns>An <see cref="T:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver"/> instance</returns>
+            <remarks>This can be overridden in derived classes to provide persistent caches with backing stores
+            other than the default dictionary serialized to a binary file.  It also allows sharing the cache
+            across instances by placing it in the <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Data"/> dictionary using the key
+            name <see cref="F:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.SharedMemberUrlCacheId"/>.
+            
+            <para>If overridden, the <see cref="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.UpdateUrlCache"/> method should also be overridden to
+            persist changes to the cache if needed.</para></remarks>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.CreateMemberIdResolver(System.Collections.Generic.IDictionary{System.String,System.String},System.Boolean)">
+            <summary>
+            This is used to create a member ID URL resolver for the component to use in looking up help website
+            URLs.
+            </summary>
+            <param name="cache">A cache of existing URLs or null to use the default cache.</param>
+            <param name="isShared">True if the cache is shared, false if not.  If not shared, the cache will
+            be disposed of when the instance is disposed of.  If <paramref name="cache"/> is null, this parameter
+            is ignored.</param>
+            <returns>An <see cref="T:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver"/> instance</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.UpdateUrlCache">
+            <summary>
+            This is used to update the URL cache file
+            </summary>
+            <remarks>The default implementation serializes the standard dictionary to a file using binary
+            serialization if new entries were added and it loaded the cache file.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent.CreateTargetDictionary(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create a <see cref="T:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary"/> used to store reference link targets
+            </summary>
+            <param name="configuration">The configuration element for the target dictionary</param>
+            <returns>A default <see cref="T:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary"/> instance containing the reference link
+            targets</returns>
+            <remarks>This can be overridden in derived classes to provide persistent caches with backing stores
+            other than the default <see cref="T:System.Collections.Generic.Dictionary`2"/></remarks>.
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SaveComponent">
+            <summary>
+            This build component is used to save the generated document or parts of it to a file
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SaveComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SaveComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SaveComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SaveComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SaveComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SaveComponent.Dispose(System.Boolean)">
+            <summary>
+            Wait for the document writer task to complete when disposed
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SaveComponent.WriteDocuments">
+            <summary>
+            This is used to write the document to its destination file
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SharedContentComponent">
+            <summary>
+            This build component is used to replace a given set of elements with the content of shared content items
+            loaded from XML files.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SharedContentComponent.DefaultFactory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.DefaultFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SharedContentComponent.ApiTokenResolutionComponentFactory">
+            <summary>
+            This is used to create a new instance of the build component used for API token resolution
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.ApiTokenResolutionComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.ApiTokenResolutionComponentFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.SharedContentComponent.ApiTokenResolutionComponentFactory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.SharedContentComponent.ApiTokenResolutionComponentFactory.Dependencies">
+            <inheritdoc />
+            <remarks>Indicate a dependency on the missing documentation component as that's the best
+            placement if the IntelliSense component is used too.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            Search for elements to replace and insert the shared content in their place
+            </summary>
+            <param name="document">The document in which to replace the elements</param>
+            <param name="key">The document key</param>
+            <remarks>Shared content items are replaced recursively</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.ParseDocuments(System.String)">
+            <summary>
+            Find content files using the given wildcard and load all of the content items in them
+            </summary>
+            <param name="wildcardPath">The wildcard path used to locate content item files</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.LoadContent(System.String)">
+            <summary>
+            Load all shared content items from the specified file
+            </summary>
+            <param name="file">The shared content file to load</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SharedContentComponent.ResolveContent(System.String,System.Xml.XmlDocument,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Look up the shared content elements, find their corresponding shared content item and replace the
+            elements with the content item value.
+            </summary>
+            <param name="key">The document key</param>
+            <param name="document">The document containing the topic</param>
+            <param name="start">The XPath navigator to search for content elements</param>
+            <remarks>This method will replace content items within other content items recursively</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ShowMissingComponent">
+             <summary>
+             This build component is used to add "missing" notes for missing summary, parameter, returns, value, and
+             remarks tags.  It can also add default summary documentation for constructors.
+             </summary>
+             <example>
+             <code language="xml" title="Example configuration">
+             &lt;!-- Show missing documentation component configuration.  This must
+                  appear before the TransformComponent. --&gt;
+             &lt;component id="Show Missing Documentation Component"&gt;
+                 &lt;!-- All elements are optional. --&gt;
+            
+                 &lt;!-- Auto-document constructors (true by default) --&gt;
+                 &lt;AutoDocumentConstructors value="true" /&gt;
+            
+                 &lt;!-- Auto-document dispose methods (true by default) --&gt;
+                 &lt;AutoDocumentDisposeMethods value="true" /&gt;
+            
+                 &lt;!-- Show missing param tags (true by default) --&gt;
+                 &lt;ShowMissingParams value="true" /&gt;
+            
+                 &lt;!-- Show missing typeparam tags (true by default) --&gt;
+                 &lt;ShowMissingTypeParams value="true" /&gt;
+            
+                 &lt;!-- Show missing remarks tags (false by default) --&gt;
+                 &lt;ShowMissingRemarks value="false" /&gt;
+            
+                 &lt;!-- Show missing returns tags (true by default) --&gt;
+                 &lt;ShowMissingReturns value="true" /&gt;
+            
+                 &lt;!-- Show missing summary tags (true by default) --&gt;
+                 &lt;ShowMissingSummaries value="true" /&gt;
+            
+                 &lt;!-- Show missing value tags (false by default) --&gt;
+                 &lt;ShowMissingValues value="false" /&gt;
+            
+                 &lt;!-- Show missing namespace comments (true by default) --&gt;
+                 &lt;ShowMissingNamespaces value="true" /&gt;
+            
+                 &lt;!-- Show missing include target docs (false by default) --&gt;
+                 &lt;ShowMissingIncludeTargets value="false" /&gt;
+             &lt;/component&gt;
+             </code>
+             </example>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.ShowMissingComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.Factory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+            <remarks>See the <see cref="T:Sandcastle.Tools.BuildComponents.ShowMissingComponent"/> class topic for an example of the configuration</remarks>
+            <exception cref="T:System.ArgumentException">This is thrown if an error is detected in the configuration.</exception>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This is implemented to add the missing documentation tags
+            </summary>
+            <param name="document">The XML document with which to work.</param>
+            <param name="key">The key (member name) of the item being documented.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.QuotedMemberId(System.String)">
+            <summary>
+            On very rare occasions, there can be an apostrophe in an type or member ID.  If so, use double quotes
+            around the expression's parameter value.  It could just hard code them below but I can't say for sure
+            we'd never see a double quote in an ID either.  This plays it safe.
+            </summary>
+            <param name="memberId">The member ID</param>
+            <returns>The member ID in single or double quotes as needed</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.CheckForMissingText(System.Xml.XmlNode,System.String,System.String)">
+            <summary>
+            Check for missing text in the specified documentation tag and, if it doesn't exist or the text is
+            blank, add a "missing" message as the documentation tag's text.
+            </summary>
+            <param name="comments">The comments node to check.</param>
+            <param name="key">The key (name) for the current item</param>
+            <param name="tagName">The tag type for which to check.</param>
+            <remarks>The messages are inserted as <c>include</c> elements.  They are wrapped in a <c>markup</c>
+            element to that they pass through without being removed by the <c>TransformComponent</c> XSL
+            transformations.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.CheckForMissingParameter(System.Xml.XmlNode,System.String,System.String,System.String)">
+            <summary>
+            Check for missing text in the specified &lt;param&gt; or &lt;typeparam&gt; tag and, if it doesn't
+            exist or the text is blank, add a "missing" message as the tag's text.
+            </summary>
+            <param name="comments">The comments node to check.</param>
+            <param name="key">The key (name) for the current item</param>
+            <param name="paramName">The parameter name for which to check.</param>
+            <param name="tagName">The tag type for which to check.</param>
+            <remarks>The messages are inserted as <c>include</c> elements.  They are wrapped in a <c>markup</c>
+            element to that they pass through without being removed by the <c>TransformComponent</c> XSL
+            transformations.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.ShowMissingComponent.CheckForMissingIncludeTarget(System.Xml.XmlNode,System.String)">
+            <summary>
+            Check for bad <c>include</c> elements and, if any are found, add a "missing" message to the summary
+            tag's text.
+            </summary>
+            <param name="comments">The comments node to check.</param>
+            <param name="key">The key (name) for the current item</param>
+            <remarks>The messages are inserted as <c>include</c> elements.  They are wrapped in a <c>markup</c>
+            element to that they pass through without being removed by the <c>TransformComponent</c> XSL
+            transformations.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet">
+            <summary>
+            This is used to track a single code snippet in the <see cref="T:Sandcastle.Tools.BuildComponents.SyntaxComponent"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet.CodeElement">
+            <summary>
+            This read-only property returns the code element
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet.Title">
+            <summary>
+            This read-only property returns the title for the snippet if one is defined
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet.Language">
+            <summary>
+            This read-only property returns the language for the snippet
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet.LanguageElementName">
+            <summary>
+            This is used to get or set the language element name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet.KeywordStyleParameter">
+            <summary>
+            This is used to get the keyword style parameter
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet.SortOrder">
+            <summary>
+            This is used to get or set the sort order
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippet.#ctor(System.Xml.XmlElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="code">The code element</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippetGroup">
+            <summary>
+            This is used to track a group of related code snippets in the <see cref="T:Sandcastle.Tools.BuildComponents.SyntaxComponent"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippetGroup.SnippetGroupElement">
+            <summary>
+            This read-only property is used to get the containing group element
+            </summary>
+            <remarks>This serves as a place holder during the grouping and sorting operations and it becomes the
+            parent of the code snippets in the final topic.</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippetGroup.CodeSnippets">
+            <summary>
+            This read-only property is used to get the list of related code snippets
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippetGroup.IsStandalone">
+            <summary>
+            This is used to get or set whether or not the group is a single, standalone snippet
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippetGroup.IsSyntaxSection">
+            <summary>
+            This is used to get or set whether or not the group is a syntax section
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.CodeSnippetGroup.#ctor(System.Xml.XmlElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="snippetGroupElement">The snippet group element used to contain the snippets</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule">
+            <summary>
+            This defines a colorization rule
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule.Pattern">
+            <summary>
+            This read-only property returns the regular expression used by the rule
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule.Region">
+            <summary>
+            This read-only property returns the optional region name used to limit the part of the match that
+            is returned from the matches.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule.ClassName">
+            <summary>
+            This read-only property returns the class name to use for the matched region
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule.#ctor(System.String,System.String)">
+            <summary>
+            Constructor.  Defines a rule with a pattern and a class name but no region name
+            </summary>
+            <param name="pattern">The regular expression used to match the region text</param>
+            <param name="className">The class name to apply to the region</param>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor.  Defines a rule with a pattern, a region name to limit the match to a specific
+            part of the pattern, and a class name.
+            </summary>
+            <param name="pattern">The regular expression used to match the region text</param>
+            <param name="region">The region name that defines the named part of the regular expression to return
+            for each match.</param>
+            <param name="className">The class name to apply to the region</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.ColorizationRule.Apply(System.String)">
+            <summary>
+            This returns an enumerable list of captures that match the pattern, if any
+            </summary>
+            <param name="text">The text to search</param>
+            <returns>An enumerable list of captures that match the pattern</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Snippets.Region">
+            <summary>
+            This defines a region of colorized code
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.Region.ClassName">
+            <summary>
+            This read-only property returns the class name used to colorize the text
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.Region.Text">
+            <summary>
+            This read-only property returns the text in the region
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.Region.#ctor(System.String)">
+            <summary>
+            Constructor.  A region of text with no class name.
+            </summary>
+            <param name="text">The text in the region</param>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.Region.#ctor(System.String,System.String)">
+            <summary>
+            Constructor.  A region of text with a class name.
+            </summary>
+            <param name="className">The class name to apply to the region</param>
+            <param name="text">The text in the region</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Snippets.SnippetIdentifier">
+            <summary>
+            This represents a snippet identifier
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.SnippetIdentifier.ExampleId">
+            <summary>
+            This read-only property returns the example ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.SnippetIdentifier.SnippetId">
+            <summary>
+            This read-only property returns the snippet ID
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.SnippetIdentifier.#ctor(System.String,System.String)">
+            <summary>
+            Constructor.  This version takes an example ID and a snippet ID
+            </summary>
+            <param name="exampleId">The example ID</param>
+            <param name="snippetId">The snippet ID</param>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.SnippetIdentifier.#ctor(System.String)">
+            <summary>
+            Constructor.  This parses the example and snippet IDs from the given identifier
+            </summary>
+            <param name="identifier">The identifier to use.  This should contain the example ID and the
+            snippet ID in that order separated by a hash character (#).</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.SnippetIdentifier.ToString">
+            <summary>
+            This returns the snippet identifier
+            </summary>
+            <returns>The example ID and snippet ID separated by a hash character (#)</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.SnippetIdentifier.ParseReference(System.String)">
+            <summary>
+            This is used to parse a snippet identifier containing an example ID and one or more snippet IDs
+            in a comma-separated list (i.e. ExampleID#SnippetID or ExampleID#SnippetID1,SnippetID2).
+            </summary>
+            <param name="reference">The reference to parse</param>
+            <returns>An enumerable list of snippet identifiers</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Snippets.StoredSnippet">
+            <summary>
+            This represents a stored snippet
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.StoredSnippet.Text">
+            <summary>
+            This read-only property returns the snippet text
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Snippets.StoredSnippet.Language">
+            <summary>
+            This read-only property returns the snippet language
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Snippets.StoredSnippet.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="text">The snippet text</param>
+            <param name="language">The snippet language</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SwitchComponent">
+            <summary>
+            This build component executes a set of build components on the topic based on the result of an XPath
+            expression.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SwitchComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SwitchComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SwitchComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.SwitchComponent.GroupId">
+            <inheritdoc />
+            <remarks>This sets a unique group ID for each branch</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SwitchComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SwitchComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SwitchComponent.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SyntaxComponent">
+            <summary>
+            This build component is used to generate syntax sections for API member topics
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.SyntaxComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SyntaxComponent.Factory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SyntaxComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.SyntaxComponent.Factory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SyntaxComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore,System.Collections.Generic.List{System.Lazy{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorFactory,Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata}})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+            <param name="generatorFactories">The list of available syntax generator factory components</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SyntaxComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SyntaxComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.SyntaxComponent.TransformComponent_TopicTransforming(System.Object,System.EventArgs)">
+            <summary>
+            This is used to group and sort code snippets based on the order of the defined syntax generators
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+            <remarks>A two-phase approach is used to ensure that we don't have to be concerned about the
+            placement of the syntax component in relation to other components that may insert code snippets.
+            By running just prior to XSL transformation all other components that may insert code snippets will
+            have been executed.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ArtTarget">
+            <summary>
+            This class holds art target information used to resolve art links by the <see cref="T:Sandcastle.Tools.BuildComponents.ResolveArtLinksComponent"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.Id">
+            <summary>
+            This is used to get or set the ID used to identify the file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.InputPath">
+            <summary>
+            This is used to get or set the input path where the source file is located
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.BaseOutputPath">
+            <summary>
+            This is used to get or set the base output path for all content
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.OutputXPath">
+            <summary>
+            This is used to get or set the XPath expression used to determine the output path for the art file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.LinkPath">
+            <summary>
+            This is used to get or set the link path to use in reference links
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.Text">
+            <summary>
+            This is used to set the alternate text for reference links
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.Name">
+            <summary>
+            This is used to get or set the name of the file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.FormatXPath">
+            <summary>
+            This is used to get or set the XPath expression used to determine the reference link path format
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ArtTarget.RelativeToXPath">
+            <summary>
+            This is used to get or set the XPath expression used to determine the relative reference link path
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkInfo">
+            <summary>
+            This class is used to hold conceptual link information used by the
+            <see cref="T:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent"/>.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkInfo.Target">
+            <summary>
+            This read-only property returns the target of the link
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkInfo.Anchor">
+            <summary>
+            This read-only property returns the optional anchor name within the target
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkInfo.Text">
+            <summary>
+            This read-only property returns the text to show for the link
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkInfo.#ctor(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="node">The XPath navigator node from which to load the link settings</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the node parameters is null</exception>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkType">
+            <summary>
+            This public enumerated type defines the conceptual content link types
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkType.None">
+            <summary>No links</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkType.Local">
+            <summary>Local links</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkType.Id">
+            <summary>Id links (MS Help Viewer only)</summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.DisplayOptions">
+            <summary>
+            This public enumerated type defines the display options for reference content links
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.DisplayOptions.ShowContainer">
+            <summary>Show the containing namespace/class</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.DisplayOptions.ShowTemplates">
+            <summary>Show template types</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.DisplayOptions.ShowParameters">
+            <summary>Show parameters</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.DisplayOptions.Default">
+            <summary>Default (show template types and parameters)</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.DisplayOptions.All">
+            <summary>Show all</summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary">
+            <summary>
+            This contains a collection of targets indexed by member ID stored in a Managed ESENT
+            <c>PersistentDictionary&lt;TKey, TValue&gt;</c>.
+            </summary>
+            <remarks>The behavior of this dictionary is to return null if a target ID is not found and to replace
+            existing entries if a duplicate ID is added.  All targets are stored in a Managed ESENT database.  The
+            initial use will create the database slowing down initialization on first use.  Subsequent uses will not
+            need to recreate it.  The trade off is that it can use much less memory at the expense of some build
+            speed for each topic.  The speed difference is offset somewhat by the shorter initialization time.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The build component that owns the dictionary.  This is useful for logging
+            messages during initialization.</param>
+            <param name="configuration">The target dictionary configuration</param>
+            <returns>A target dictionary instance that uses a simple in-memory
+            <see cref="T:System.Collections.Generic.Dictionary`2"/> instance to store the targets.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.ReportCacheStatistics">
+            <summary>
+            Report the cache usage for the build
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Add(System.String,Sandcastle.Tools.BuildComponents.Targets.Target)">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.ContainsKey(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Keys">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.TryGetValue(System.String,Sandcastle.Tools.BuildComponents.Targets.Target@)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Values">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Item(System.String)">
+            <inheritdoc />
+            <returns>If not found, this implementation returns null.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Clear">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target}[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.Count">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ESentTargetDictionary.GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary">
+            <summary>
+            This contains a collection of targets indexed by member ID stored in a simple
+            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> entirely in memory.
+            </summary>
+            <remarks>The behavior of this dictionary is to return null if a target ID is not found and to replace
+            existing entries if a duplicate ID is added.  All targets are stored in memory.  Since it must load all
+            targets the first time the files are encountered, it can slow down initialization.  The trade off is that
+            it can run faster than database-backed implementations that look up the items rather than storing them
+            in memory.
+            
+            <para>This implementation does not offer the option for a persistent cache as streaming the entire
+            dictionary in and out takes several times longer than just loading the source XML data.</para></remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The build component that owns the dictionary.  This is useful for logging
+            messages during initialization.</param>
+            <param name="configuration">The target dictionary configuration</param>
+            <returns>A target dictionary instance that uses a simple in-memory
+            <see cref="T:System.Collections.Generic.Dictionary`2"/> instance to store the targets.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Add(System.String,Sandcastle.Tools.BuildComponents.Targets.Target)">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.ContainsKey(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Keys">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.TryGetValue(System.String,Sandcastle.Tools.BuildComponents.Targets.Target@)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Values">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Item(System.String)">
+            <inheritdoc />
+            <returns>If not found, this implementation returns null.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Clear">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target}[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.Count">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.InMemoryTargetDictionary.GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver">
+            <summary>
+            Link text writing logic
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.#ctor(Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="targets">The target dictionary used to resolve links</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteTarget(Sandcastle.Tools.BuildComponents.Targets.Target,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out the target link information
+            </summary>
+            <param name="target">The target for which to write link information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteNamespaceTarget(Sandcastle.Tools.BuildComponents.Targets.NamespaceTarget,System.Xml.XmlWriter)">
+            <summary>
+            Write out a namespace target
+            </summary>
+            <param name="space">The namespace target information</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteTypeTarget(Sandcastle.Tools.BuildComponents.Targets.TypeTarget,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out a type target
+            </summary>
+            <param name="type">The type target information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteTypeTarget(Sandcastle.Tools.BuildComponents.Targets.TypeTarget,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Boolean,System.Xml.XmlWriter)">
+            <summary>
+            Write out a type target
+            </summary>
+            <param name="type">The type target information</param>
+            <param name="options">The link display options</param>
+            <param name="showOuterType">True to show the outer type, false if not</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteMemberTarget(Sandcastle.Tools.BuildComponents.Targets.MemberTarget,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out a member target
+            </summary>
+            <param name="target">The member target information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteReference(Sandcastle.Tools.BuildComponents.Targets.Reference,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out a reference
+            </summary>
+            <param name="reference">The reference information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteNamespace(Sandcastle.Tools.BuildComponents.Targets.NamespaceReference,System.Xml.XmlWriter)">
+            <summary>
+            Write out a namespace reference
+            </summary>
+            <param name="spaceReference">The namespace reference information</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteType(Sandcastle.Tools.BuildComponents.Targets.TypeReference,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out a type reference
+            </summary>
+            <param name="type">The type reference information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteType(Sandcastle.Tools.BuildComponents.Targets.TypeReference,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter,System.Collections.Generic.Dictionary{Sandcastle.Tools.BuildComponents.Targets.IndexedTemplateTypeReference,Sandcastle.Tools.BuildComponents.Targets.TypeReference})">
+            <summary>
+            Write out a type reference
+            </summary>
+            <param name="type">The type reference information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+            <param name="dictionary">The template type dictionary</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteSimpleType(Sandcastle.Tools.BuildComponents.Targets.SimpleTypeReference,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out a simple type reference
+            </summary>
+            <param name="simple">The simple type reference information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteExtensionMethod(Sandcastle.Tools.BuildComponents.Targets.ExtensionMethodReference,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out an extension method reference
+            </summary>
+            <param name="extMethod">The extension method reference information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.LinkTextResolver.WriteMember(Sandcastle.Tools.BuildComponents.Targets.MemberReference,Sandcastle.Tools.BuildComponents.Targets.DisplayOptions,System.Xml.XmlWriter)">
+            <summary>
+            Write out a member reference
+            </summary>
+            <param name="member">The member reference information</param>
+            <param name="options">The link display options</param>
+            <param name="writer">The write to which the information is written</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo">
+            <summary>
+            This class is used to hold reference link information used by the
+            <see cref="T:Sandcastle.Tools.BuildComponents.ResolveReferenceLinksComponent"/>.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo.Target">
+            <summary>This read-only property returns the target of the link</summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo.DisplayTarget">
+            <summary>This read-only property returns the display target of the link</summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo.DisplayOptions">
+            <summary>This read-only property returns the display options for the link</summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo.PreferOverload">
+            <summary>This read-only property indicates whether or not to prefer the overload topic</summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo.RenderAsLink">
+            <summary>
+            This read-only property indicates whether or not to render the element as an actual link
+            </summary>
+            <value>If true, it is rendered as a link.  If false, it will be rendered as an identifier.</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo.Contents">
+            <summary>This read-only property returns the contents of the link</summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkInfo.#ctor(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="element">The XPath navigator from which to load the link settings</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the element parameters is null</exception>
+            <exception cref="T:System.InvalidOperationException">This is thrown if the element contains invalid
+            configuration information.</exception>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType">
+            <summary>
+            This public enumerated type defines the reference content link types
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType.None">
+            <summary>No links</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType.Self">
+            <summary>Self-referencing link (link to topic within its own page)</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType.Local">
+            <summary>Local links</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType.Msdn">
+            <summary>Links to online content (Framework types only)</summary>
+        </member>
+        <member name="F:Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType.Id">
+            <summary>Id links (MS Help Viewer only)</summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SharedContentElement">
+            <summary>
+            This class holds the properties of a shared content element that needs to be replaced in a topic
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SharedContentElement.Path">
+            <summary>
+            This read-only property returns the XPath expression used to find elements to be replaced
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SharedContentElement.Item">
+            <summary>
+            This read-only property returns the item XPath expression used to get the name of the content item
+            that will replace the element.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SharedContentElement.Undefined">
+            <summary>
+            This read-only property returns the item XPath expression used to get the value used to replace the
+            item if the named item is not found.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SharedContentElement.Parameters">
+            <summary>
+            This read-only property returns the XPth expression used to select parameter elements
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SharedContentElement.Attribute">
+            <summary>
+            This read-only property returns the XPath expression used to get an attribute name if the content
+            value is to be added as an attribute.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SharedContentElement.#ctor(System.String,System.String,System.String,System.String,System.Xml.IXmlNamespaceResolver)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="path">The path expression</param>
+            <param name="item">The item name expression</param>
+            <param name="parameters">The parameters expression</param>
+            <param name="attribute">The attribute name expression</param>
+            <param name="context">The context to use for the XPath expressions</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1">
+            <summary>
+            This is a simple dictionary that stores its data in a SQL Server database table.  An optional group ID
+            can be used to segregate values within the dictionary.
+            </summary>
+            <typeparam name="TValue">The type of the value</typeparam>
+            <remarks>This dictionary is intended for use in Sandcastle build components to store data needed for the
+            build.  The key type is always a string as is the group ID type if used.  The value type is indicated
+            using the <typeparamref name="TValue"/> type parameter and is assumed to be either a <see cref="T:System.String"/>
+            or a reference type.</remarks>
+            <threadsafety static="false" instance="false" />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.SqlDictionaryEnumerator">
+            <summary>
+            This is an enumerator class used to enumerate all key/value pairs in the SQL dictionary table
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.SqlDictionaryEnumerator.#ctor(Sandcastle.Tools.BuildComponents.Targets.SqlDictionary{`0})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="owner">The owning <see cref="T:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1"/> class</param>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.SqlDictionaryEnumerator.Current">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.SqlDictionaryEnumerator.System#Collections#IEnumerator#Current">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.SqlDictionaryEnumerator.MoveNext">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.SqlDictionaryEnumerator.Reset">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.SqlDictionaryEnumerator.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.GroupId">
+            <summary>
+            This read-only property returns the group ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.LocalCacheSize">
+            <summary>
+            Set this to a non-zero value to enable local caching of values to speed up read-only access
+            </summary>
+            <value>If set to zero, the default, the local cache will not be used and all values will be retrieved
+            from the database.</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.LocalCacheFlushCount">
+            <summary>
+            This read-only property returns the number of times the local cache was flushed because it filled up
+            </summary>
+            <value>This can help in figuring out an appropriate local cache size</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.CurrentLocalCacheCount">
+            <summary>
+            This read-only property returns the current number of local cache entries in use
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.IsDisposed">
+            <summary>
+            This read-only property returns whether or not the cache has been disposed of
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.#ctor(System.String,System.String,System.String,System.String)">
+            <summary>
+            Simple dictionary constructor
+            </summary>
+            <param name="connectionString">The connection string to the SQL database</param>
+            <param name="tableName">The table name</param>
+            <param name="keyFieldName">The key field name</param>
+            <param name="valueFieldName">The value field name</param>
+            <remarks>Values in dictionaries that use this constructor are not grouped.  All values in the
+            table are returned.</remarks>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.#ctor(System.String,System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            Grouped dictionary constructor
+            </summary>
+            <param name="connectionString">The connection string to the SQL database</param>
+            <param name="tableName">The table name</param>
+            <param name="groupId">The group ID field name</param>
+            <param name="keyFieldName">The key field name</param>
+            <param name="valueFieldName">The value field name</param>
+            <param name="groupIdFieldName">The group ID to use</param>
+            <remarks>Values in dictionaries that use this constructor are grouped using an additional field.
+            This allows multiple related dictionaries to reside within the same table.  Only values from the
+            dictionary identified by the group ID are returned.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Purge">
+            <summary>
+            This is used to purge all data from the dictionary
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Dispose">
+            <summary>
+            Dispose of the SQL dictionary
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Add(System.String,`0)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.ContainsKey(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Keys">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Remove(System.String)">
+            <inheritdoc />
+            <remarks>This method is not implemented</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.TryGetValue(System.String,`0@)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Values">
+            <inheritdoc />
+            <remarks>This property is not implemented</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Item(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Add(System.Collections.Generic.KeyValuePair{System.String,`0})">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Clear">
+            <inheritdoc />
+            <remarks>This method is not implemented</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Contains(System.Collections.Generic.KeyValuePair{System.String,`0})">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.CopyTo(System.Collections.Generic.KeyValuePair{System.String,`0}[],System.Int32)">
+            <inheritdoc />
+            <remarks>This method is not implemented</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Count">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.IsReadOnly">
+            <inheritdoc />
+            <value>Always returns false</value>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.Remove(System.Collections.Generic.KeyValuePair{System.String,`0})">
+            <inheritdoc />
+            <remarks>This method is not implemented</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1.System#Collections#IEnumerable#GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary">
+            <summary>
+            This contains a collection of targets indexed by member ID stored in a <see cref="T:Sandcastle.Tools.BuildComponents.Targets.SqlDictionary`1"/>
+            </summary>
+            <remarks>The behavior of this dictionary is to return null if a target ID is not found and to replace
+            existing entries if a duplicate ID is added.  All targets are stored in a SQL database.  The
+            initial use will create the database slowing down initialization on first use.  Subsequent uses will not
+            need to recreate it.  The trade off is that it can use much less memory at the expense of some build
+            speed for each topic.  The speed difference is offset somewhat by the shorter initialization time.</remarks>
+            <threadsafety static="false" instance="false" />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,System.Xml.XPath.XPathNavigator,System.String,System.String,System.Int32,System.Boolean)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The build component that owns the dictionary.  This is useful for logging
+            messages during initialization.</param>
+            <param name="configuration">The target dictionary configuration</param>
+            <param name="connectionString">The connection string to use</param>
+            <param name="groupId">The group ID to use</param>
+            <param name="localCacheSize">The local cache size to use</param>
+            <param name="reload">True to reload the cache or false to leave it alone.  This is used to reload
+            project data so that it is always current.</param>
+            <returns>A target dictionary instance that uses a simple in-memory
+            <see cref="T:System.Collections.Generic.Dictionary`2"/> instance to store the targets.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.LoadTargetDictionary(System.Int32)">
+            <summary>
+            This is overridden to load the SQL dictionary in a thread-safe manner
+            </summary>
+            <param name="maxDegreeOfParallelism">This can be used to override the maximum degree of parallelism.
+            By default, it is -1 to allow as many threads as possible.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.ReportCacheStatistics">
+            <summary>
+            Report the cache usage for the build
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Add(System.String,Sandcastle.Tools.BuildComponents.Targets.Target)">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.ContainsKey(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Keys">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.TryGetValue(System.String,Sandcastle.Tools.BuildComponents.Targets.Target@)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Values">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Item(System.String)">
+            <inheritdoc />
+            <returns>If not found, this implementation returns null.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Clear">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target}[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.Count">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.SqlTargetDictionary.GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary">
+            <summary>
+            This is a base class used for a collection of targets indexed by member ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.BuildComponent">
+            <summary>
+            This read-only property returns the build component that owns the target dictionary
+            </summary>
+            <value>This is useful for logging information during initialization</value>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.DictionaryId">
+            <summary>
+            This is used to get or set the target dictionary's unique ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.DirectoryPath">
+            <summary>
+            This is used to get or set the path to the target files
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.FilePattern">
+            <summary>
+            This is used to get or set the file pattern to use when searching for target files
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Recurse">
+            <summary>
+            This is used to get or set whether to recurse into subfolders of <see cref="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.DirectoryPath"/> when
+            loading target files.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.NamespaceFileFilter">
+            <summary>
+            This read-only property returns any optional namespace files used to filter what gets loaded
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.IsDisposed">
+            <summary>
+            This read-only property can be used to determine whether or not the target dictionary has been
+            disposed.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore,System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="component">The build component that owns the dictionary.  This is useful for logging
+            messages during initialization.</param>
+            <param name="configuration">The configuration used to create the target dictionary</param>
+            <remarks>The default implementation always creates a unique ID based on the directory path and file
+            pattern if an <c>id</c> attribute is not found in the configuration.  Using a common ID across
+            instances allows sharing of the target dictionary data store.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the target dictionary if not done
+            explicitly with <see cref="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the target dictionary
+            </summary>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Dispose(System.Boolean)">
+            <summary>
+            This can be overridden by derived classes to add their own disposal code if necessary.
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.LoadTargetDictionary(System.Int32)">
+            <summary>
+            This helper method can be called to find all target files and load them into the dictionary
+            </summary>
+            <param name="maxDegreeOfParallelism">This can be used to override the maximum degree of parallelism.
+            By default, it is -1 to allow as many threads as possible.</param>
+            <remarks>This method assumes that the dictionary is thread-safe and supports parallel loading of
+            target data.  If not, override this method to load the data synchronously.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.ReportCacheStatistics">
+            <summary>
+            This can be overridden in derived classes to report cache usage statistics after the build
+            </summary>
+            <remarks>The default implementation does nothing.  You can override this to provide information that
+            can help adjust the cache size to make it more efficient.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Add(System.String,Sandcastle.Tools.BuildComponents.Targets.Target)">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.ContainsKey(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Keys">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Remove(System.String)">
+            <inheritdoc />
+            <remarks>This method is not implemented as targets are never removed</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.TryGetValue(System.String,Sandcastle.Tools.BuildComponents.Targets.Target@)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Values">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Item(System.String)">
+            <inheritdoc />
+            <returns>If not found, this implementation returns null.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+            <remarks>If the key already exists, the existing value is replaced</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Clear">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target}[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Count">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.IsReadOnly">
+            <inheritdoc />
+            <value>This always returns false</value>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.Remove(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+            <remarks>This method is not implemented</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDictionary.System#Collections#IEnumerable#GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TargetDirectory">
+            <summary>
+            This represents a targets directory along with all the associated expressions used to find target
+            metadata files in it, and extract URLs and link text from those files using the
+            <see cref="T:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent"/>.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDirectory.#ctor(System.String,System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathExpression,Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkType)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="targetDir">The target directory</param>
+            <param name="urlExp">The URL expression</param>
+            <param name="textExp">The text (title) expression</param>
+            <param name="linkTextExp">The alternate link text expression</param>
+            <param name="typeOfLink">The link type</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the directory, URL expression, or either
+            text expression is null.</exception>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetDirectory.GetTargetInfo(System.String)">
+            <summary>
+            Get target info for the specified file
+            </summary>
+            <param name="targetId">The target ID for which to get target info.  This is expected to be in the
+            form of a GUID.</param>
+            <returns>A <see cref="T:Sandcastle.Tools.BuildComponents.Targets.TargetInfo" /> object if found or null if not found</returns>
+            <remarks>The target ID is expected to be in the form of a GUID.  The target filename is expected to
+            be in the format <b>[GUID].cmp.xml</b>.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TargetDirectoryCollection">
+            <summary>
+            This class contains a set of <see cref="T:Sandcastle.Tools.BuildComponents.Targets.TargetDirectory"/> items used by
+            <see cref="T:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent" />.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetDirectoryCollection.Item(System.String)">
+            <summary>
+            This read-only indexer can be used to retrieve the target info for the specified target ID
+            </summary>
+            <param name="targetId">The target ID of the file to locate.  This is expected to be in the form of
+            a GUID.</param>
+            <returns>A <see cref="T:Sandcastle.Tools.BuildComponents.Targets.TargetInfo" /> object if found or null if not found.</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TargetInfo">
+            <summary>
+            This class is used to represent a resolved target containing all the information necessary to actually
+            write out the link by using the <see cref="T:Sandcastle.Tools.BuildComponents.ResolveConceptualLinksComponent"/>.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetInfo.Text">
+            <summary>
+            This read-only property is used to get the text
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetInfo.LinkType">
+            <summary>
+            This read-only property is used to get the link type
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetInfo.Url">
+            <summary>
+            This read-only property is used to get the URL
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetInfo.#ctor(System.String,System.String,Sandcastle.Tools.BuildComponents.Targets.ConceptualLinkType)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="targetUrl">The target URL</param>
+            <param name="targetText">The target's link text</param>
+            <param name="typeOfLink">The type of link</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the target URL or text is null</exception>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary">
+            <summary>
+            This is a dictionary used to contain common target dictionaries with their associated link type
+            </summary>
+            <remarks>The behavior of this dictionary is to return null if a target ID is not found and to replace
+            existing entries if a duplicate ID is added.  The structure allows access to all reference link targets
+            within a set of multiple target dictionaries, each with a different reference link type.  The target
+            dictionary instances can be easily shared across multiple instances of the reference link components.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the target dictionaries
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Add(System.String,Sandcastle.Tools.BuildComponents.Targets.Target)">
+            <inheritdoc />
+            <remarks>This method is not implemented.  Use <see cref="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Add(Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType,Sandcastle.Tools.BuildComponents.Targets.TargetDictionary)"/>
+            to add target dictionaries and their associated reference link type</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.ContainsKey(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Keys">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Remove(System.String)">
+            <inheritdoc />
+            <remarks>This method is not implemented as targets are never removed</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.TryGetValue(System.String,Sandcastle.Tools.BuildComponents.Targets.Target@)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.TryGetValue(System.String,Sandcastle.Tools.BuildComponents.Targets.Target@,Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType@)">
+            <summary>
+            This attempts to retrieve the item with the specified key, returning it along with the reference
+            link type with which it is associated.
+            </summary>
+            <param name="key">The item key to look up</param>
+            <param name="value">On return, this will contain the item value if found</param>
+            <param name="linkType">On return, this will contain the link type of the item if found</param>
+            <returns>True if the item was found, false if not</returns>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Values">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Item(System.String)">
+            <inheritdoc />
+            <returns>If not found, this implementation returns null.</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+            <remarks>This method is not implemented.  Use <see cref="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Add(Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType,Sandcastle.Tools.BuildComponents.Targets.TargetDictionary)"/>
+            to add target dictionaries and their associated reference link type</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Clear">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target}[],System.Int32)">
+            <inheritdoc />
+            <remarks>This method is not currently implemented</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Count">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.IsReadOnly">
+            <inheritdoc />
+            <value>This always returns false</value>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Remove(System.Collections.Generic.KeyValuePair{System.String,Sandcastle.Tools.BuildComponents.Targets.Target})">
+            <inheritdoc />
+            <remarks>This method is not implemented as targets are never removed</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.GetEnumerator">
+            <inheritdoc />
+            <remarks>This method is not currently implemented</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.System#Collections#IEnumerable#GetEnumerator">
+            <inheritdoc />
+            <remarks>This method is not currently implemented</remarks>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.NeedsMemberIdUrlResolver">
+            <summary>
+            This read-only property is used to determine if any of the target dictionaries require the
+            member ID URL resolver to look up links.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TargetTypeDictionary.Add(Sandcastle.Tools.BuildComponents.Targets.ReferenceLinkType,Sandcastle.Tools.BuildComponents.Targets.TargetDictionary)">
+            <summary>
+            Add a target type dictionary to the collection
+            </summary>
+            <param name="type">The reference link type to use for targets in the given dictionary</param>
+            <param name="dictionary">The target dictionary to add</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.TextReferenceUtilities">
+            <summary>
+            Logic for constructing references from code entity reference strings.  Anything that depends on the
+            specific form of the ID strings lives here.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TextReferenceUtilities.CreateReference(System.String)">
+            <summary>
+            Create a reference
+            </summary>
+            <param name="api">The member ID for which to create a reference</param>
+            <returns>The reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TextReferenceUtilities.CreateNamespaceReference(System.String)">
+            <summary>
+            Create a namespace reference
+            </summary>
+            <param name="api">The member ID for which to create a reference</param>
+            <returns>The namespace reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TextReferenceUtilities.CreateTypeReference(System.String)">
+            <summary>
+            Create a type reference
+            </summary>
+            <param name="api">The member ID for which to create a reference</param>
+            <returns>The type reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TextReferenceUtilities.CreateMemberReference(System.String)">
+            <summary>
+            Create a member reference
+            </summary>
+            <param name="api">The member ID for which to create a reference</param>
+            <returns>The member reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.TextReferenceUtilities.SetGenericContext(System.String)">
+            <summary>
+            Set the generic context
+            </summary>
+            <param name="codeEntityReference">The member ID for which to set the context</param>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.TextReferenceUtilities.GenericContext">
+            <summary>
+            This read-only property returns the generic context
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities">
+            <summary>
+            The logic to construct Target and Reference objects from XML reflection data.  Anything that depends on
+            specifics of the XML reflection data format lives here.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.ContainerExpression">
+            <summary>
+            This is used to get or set the container expression
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.EnumerateTargets(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to enumerate targets
+            </summary>
+            <param name="topicsNode">The topics node from which to get the target information</param>
+            <returns>An enumerable list of targets</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateTarget(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create a target
+            </summary>
+            <param name="topic">The topic from which to get the target information</param>
+            <returns>The target</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateMemberTarget(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create a member target
+            </summary>
+            <param name="api">The node from which to get the target information</param>
+            <returns>The member target</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateReference(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create a reference
+            </summary>
+            <param name="node">The node from which to get the target information</param>
+            <returns>The reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateNamespaceReference(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create a namespace reference
+            </summary>
+            <param name="namespaceElement">The namespace element from which to get the target information</param>
+            <returns>The namespace reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateTypeReference(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create a type reference
+            </summary>
+            <param name="node">The node from which to get the target information</param>
+            <returns>The type reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateSimpleTypeReference(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create a simple type reference
+            </summary>
+            <param name="node">The node from which to get the target information</param>
+            <returns>The simple type reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateMemberReference(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create a member reference
+            </summary>
+            <param name="node">The node from which to get the target information</param>
+            <returns>The member reference</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Targets.XmlTargetDictionaryUtilities.CreateExtensionMethodReference(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Create an object to store the information to generate the display string for an extension method
+            </summary>
+            <param name="node">xml node containing the extension method data</param>
+            <returns>The extension method reference</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.Transform">
+            <summary>
+            This class is used to contain information for an XSLT transformation
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Transform.Xslt">
+            <summary>
+            This read-only property returns the compiled XSL transformation
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.Transform.Arguments">
+            <summary>
+            This read-only property returns a dictionary containing the XSL transformation arguments list values
+            </summary>
+            <remarks>Arguments can be added to this to pass them to them to the transformation when it is
+            executed.
+            
+            <note type="important">An argument called <c>key</c> is automatically added to the list when each
+            topic is transformed.  It will contain the current topic's key.</note>
+            </remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.Transform.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="file">The path to the XSLT transformation file</param>
+            <remarks>The transforms presumably come from a trusted source so scripting and the document function
+            are enabled in them.</remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.TransformComponent">
+            <summary>
+            This build component is used to transform the intermediate topic to its final form such as an HTML
+            document.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.TransformComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.TransformComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.TransformComponent.Transformations">
+            <summary>
+            This read-only property returns an enumerable list of XSL transformations that will be applied to
+            the topics.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.TransformComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.TransformComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.TransformComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This is overridden to apply the XSL transformations to the document
+            </summary>
+            <param name="document">The document to transform</param>
+            <param name="key">The topic key</param>
+            <remarks><note type="important">An argument called <c>key</c> is automatically added to the argument
+            list when each topic is transformed.  It will contain the current topic's key.</note></remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.TransformedTopicEventArgs">
+            <summary>
+            This is used by the <see cref="T:Sandcastle.Tools.BuildComponents.TransformComponent"/> to indicate that it has finished transforming the
+            given topic.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.TransformedTopicEventArgs.Key">
+            <summary>
+            This read-only property returns the topic key
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.TransformedTopicEventArgs.Document">
+            <summary>
+            This read-only property returns the transformed topic document
+            </summary>
+            <remarks>Event handlers can further modify the topic's XML as needed</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.TransformedTopicEventArgs.#ctor(System.String,System.Xml.XmlDocument)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="key">The transformed topic key</param>
+            <param name="document">The transformed topic document</param>
+        </member>
+        <member name="T:Sandcastle.Tools.BuildComponents.TransformingTopicEventArgs">
+            <summary>
+            This is used by the <see cref="T:Sandcastle.Tools.BuildComponents.TransformComponent"/> to indicate that it is about to transform the
+            given topic.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.TransformingTopicEventArgs.Key">
+            <summary>
+            This read-only property returns the topic key
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.BuildComponents.TransformingTopicEventArgs.Document">
+            <summary>
+            This read-only property returns the topic document that will be transformed
+            </summary>
+            <remarks>Event handlers can modify the topic's XML as needed prior to transformation</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.BuildComponents.TransformingTopicEventArgs.#ctor(System.String,System.Xml.XmlDocument)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="key">The transformed topic key</param>
+            <param name="document">The transformed topic document</param>
+        </member>
+        <member name="T:SandcastleBuilder.Components.ESentCopyFromIndexComponent">
+            <summary>
+            This is a version of the <c>CopyFromIndexComponent</c> that stores the index data in one or more
+            persistent ESENT databases.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentReflectionIndexDataComponentFactory">
+            <summary>
+            This is used to create a new instance of the build component used for reflection index data
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentReflectionIndexDataComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentReflectionIndexDataComponentFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentReflectionIndexDataComponentFactory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentCommentsIndexDataComponentFactory">
+            <summary>
+            This is used to create a new instance of the build component used for comments index data
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentCommentsIndexDataComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentCommentsIndexDataComponentFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:SandcastleBuilder.Components.ESentCopyFromIndexComponent.ESentCommentsIndexDataComponentFactory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentCopyFromIndexComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentCopyFromIndexComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentCopyFromIndexComponent.CreateIndex(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent">
+            <summary>
+            This is a version of the <c>ResolveReferenceLinksComponent</c> that stores the member ID URLs and the
+            framework targets in persistent ESENT databases.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.ESentResolveReferenceLinksComponentFactory">
+            <summary>
+            This is used to create a new instance of the build component used to resolve reference links
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.ESentResolveReferenceLinksComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.ESentResolveReferenceLinksComponentFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.ESentResolveReferenceLinksComponentFactory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.CreateMemberIdResolver(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is overridden to allow use of an ESENT backed member ID URL cache
+            </summary>
+            <param name="configuration">The component configuration</param>
+            <returns>A member ID URL resolver instance</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.CreateTargetDictionary(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is overridden to create a target dictionary that utilizes an ESENT database for persistence
+            </summary>
+            <param name="configuration">The configuration element for the target dictionary</param>
+            <returns>A simple dictionary if no <c>cachePath</c> attribute is found or an ESENT backed target
+            dictionary if the attribute is found.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Components.ESentResolveReferenceLinksComponent.UpdateUrlCache">
+            <summary>
+            This is overridden to report the persistent cache information
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Components.MultiFormatOutputComponent">
+            <summary>
+            This build component is used to execute one or more sets of build components each based on a specific
+            help file output format.
+            </summary>
+            <remarks>One or more components can be executed based on a specified list of one or more help file output
+            formats.  Only the components related to the requested set of format types will be executed.</remarks>
+            <example>
+            <code language="xml" title="Example Configuration"
+                source="..\..\SHFB\Source\PresentationStyles\VS2013\Configuration\BuildAssembler.config"
+                region="Multi-format output component" />
+            </example>
+        </member>
+        <member name="T:SandcastleBuilder.Components.MultiFormatOutputComponent.Factory">
+            <summary>
+            This is used to create a new instance of the build component
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.MultiFormatOutputComponent.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.MultiFormatOutputComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="P:SandcastleBuilder.Components.MultiFormatOutputComponent.GroupId">
+            <inheritdoc />
+            <remarks>This sets a unique group ID for each format</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Components.MultiFormatOutputComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.MultiFormatOutputComponent.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This is implemented to execute each set of components for the requested output formats.
+            </summary>
+            <param name="document">The XML document with which to work.</param>
+            <param name="key">The key (member name) of the item being documented.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Components.MultiFormatOutputComponent.Dispose(System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Components.SqlCopyFromIndexComponent">
+            <summary>
+            This is a version of the <c>CopyFromIndexComponent</c> that stores the index data in a persistent SQL
+            database.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlReflectionIndexDataComponentFactory">
+            <summary>
+            This is used to create a new instance of the build component used for reflection index data
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlReflectionIndexDataComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlReflectionIndexDataComponentFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlReflectionIndexDataComponentFactory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlCommentsIndexDataComponentFactory">
+            <summary>
+            This is used to create a new instance of the build component used for comments index data
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlCommentsIndexDataComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlCommentsIndexDataComponentFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:SandcastleBuilder.Components.SqlCopyFromIndexComponent.SqlCommentsIndexDataComponentFactory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlCopyFromIndexComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlCopyFromIndexComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlCopyFromIndexComponent.CreateIndex(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent">
+            <summary>
+            This is a version of the <c>ResolveReferenceLinksComponent</c> that stores the member ID URLs and the
+            framework targets in persistent SQL databases.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.SqlResolveReferenceLinksComponentFactory">
+            <summary>
+            This is used to create a new instance of the build component used to resolve reference links
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.SqlResolveReferenceLinksComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.SqlResolveReferenceLinksComponentFactory.Create">
+            <inheritdoc />
+        </member>
+        <member name="P:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.SqlResolveReferenceLinksComponentFactory.DefaultConfiguration">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.CreateMemberIdResolver(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is overridden to allow use of an SQL backed member ID URL cache
+            </summary>
+            <param name="configuration">The component configuration</param>
+            <returns>A member ID URL resolver instance</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.CreateTargetDictionary(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is overridden to create a target dictionary that utilizes an SQL database for persistence
+            </summary>
+            <param name="configuration">The configuration element for the target dictionary</param>
+            <returns>A simple dictionary if no <c>connectionString</c> attribute is found or a SQL backed target
+            dictionary if the attribute is found.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Components.SqlResolveReferenceLinksComponent.UpdateUrlCache">
+            <summary>
+            This is overridden to report the persistent cache information
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..678727e1b6e75f93edc34f961b7b6bc2c37f93a2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.deps.json
@@ -0,0 +1,64 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/": {
+      "Sandcastle.Tools.SyntaxGenerators/1.0.0": {
+        "dependencies": {
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "NETStandard.Library": "2.0.3",
+          "System.ComponentModel.Composition": "5.0.0"
+        },
+        "runtime": {
+          "Sandcastle.Tools.SyntaxGenerators.dll": {}
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "System.ComponentModel.Composition/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.ComponentModel.Composition.dll": {
+            "assemblyVersion": "4.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      }
+    }
+  },
+  "libraries": {
+    "Sandcastle.Tools.SyntaxGenerators/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "System.ComponentModel.Composition/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YL8iA3VOFxhyomn7FxtBgh3F+8XG5jOfT5UcqYLtkafSa6g6alQfKZuRwlEIWe+tzH6OVnj0Ekg5tn/DmV7SkQ==",
+      "path": "system.componentmodel.composition/5.0.0",
+      "hashPath": "system.componentmodel.composition.5.0.0.nupkg.sha512"
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.dll
new file mode 100644
index 0000000000000000000000000000000000000000..5c96cb0d6a95c4103e4e13573e5c05918b15f923
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.xml
new file mode 100644
index 0000000000000000000000000000000000000000..67081f91b948925d933646794e6759d4f188f293
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Sandcastle.Tools.SyntaxGenerators.xml
@@ -0,0 +1,888 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Sandcastle.Tools.SyntaxGenerators</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for ASP.NET
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.Initialize(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Initialize the syntax generator
+            </summary>
+            <param name="configuration">The syntax generator configuration</param>
+            <remarks>This component has no configurable elements</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.WriteSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.WebControlPrefix(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to get the web control prefix based on the given type
+            </summary>
+            <param name="reflection">An XPath navigator containing the type information</param>
+            <returns>The web control prefix or null if the type is not a web control</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter,System.String)">
+            <summary>
+            Write out class syntax
+            </summary>
+            <param name="reflection">An XPath navigator containing the member information</param>
+            <param name="writer">The syntax writer to which the information is written</param>
+            <param name="prefix">The web control prefix to use</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter,System.String)">
+            <summary>
+            Write out property syntax
+            </summary>
+            <param name="reflection">An XPath navigator containing the member information</param>
+            <param name="writer">The syntax writer to which the information is written</param>
+            <param name="prefix">The web control prefix to use</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.AspNetSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter,System.String)">
+            <summary>
+            Write out event syntax
+            </summary>
+            <param name="reflection">An XPath navigator containing the member information</param>
+            <param name="writer">The syntax writer to which the information is written</param>
+            <param name="prefix">The web control prefix to use</param>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for C#
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.CSharpDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for F#
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.FSharpDeclarationSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator">
+            <summary>
+            This is a JavaScript declaration syntax generator that is used to add a JavaScript Syntax section to
+            each generated API topic.
+            </summary>
+            <remarks><para>This version differs from the <c>ScriptSharpDeclarationSyntaxGenerator</c> in that it
+            looks for a <c>&lt;scriptSharp /&gt;</c> element in the <c>&lt;api&gt;</c> node and, if found, only then
+            will it apply the casing rules to the member name.  If not present, no casing rules are applied to the
+            member names thus it is suitable for use with regular JavaScript such as that used in AjaxDoc projects.</para>
+            
+            <para>In order to use this script generator with Script# content, the Sandcastle reflection data file
+            must first be transformed using the Script# Reflection File Fixer plug-in so that the necessary changes
+            are made to it.</para>
+            </remarks>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.HasAttribute(System.Xml.XPath.XPathNavigator,System.String)">
+            <summary>
+            Check to see if the given attribute exists on the entry
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="attributeName">The attribute for which to search</param>
+            <returns>True if found or false if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.IsUnsupported(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Check to see if the element is unsupported
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The writer to which the "unsupported"
+            message is written.</param>
+            <returns>True if unsupported or false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.CreateCamelCaseName(System.String)">
+            <summary>
+            Convert the given name to camel case
+            </summary>
+            <param name="name ">The name to modify</param>
+            <returns>The name converted to camel case</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.ReadContainingTypeName(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Read the containing type name from the entry
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <returns>The containing type name if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.ReadFullContainingTypeName(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Read the full containing type name from the entry
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <returns>The full containing type name prefixed with its namespace
+            or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.ReadFullTypeName(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Read the full type name from the entry
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <returns>The full type name prefixed with its namespace or null if
+            not found</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.ReadMemberName(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Read the member name from the entry
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <returns>The member name</returns>
+            <remarks>If a <c>&lt;scriptSharp /&gt;</c> element exists in the
+            entry, the casing rule is applied to the member name.  If not
+            present, it is returned as-is.  The casing rule will convert the
+            name to camel case unless the member is marked with
+            <c>System.PreserveCaseAttribute</c>.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.ReadNamespaceName(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Read the namespace name from the entry
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <returns>The namespace name</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.ReadTypeName(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Read the type name from the entry
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <returns>The type name</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteIndentedNewLine(Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write an indented new line
+            </summary>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteParameter(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a parameter
+            </summary>
+            <param name="parameter">The parameter information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteParameterList(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a parameter list
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteRecordConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out the record constructor syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteRecordSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out the record syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteAttachedEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Not used by this syntax generator
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteAttachedPropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out attached property syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out class syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out constructor syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out delegate syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out enumeration syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out event syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out field syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out interface syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out namespace syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out normal method syntax
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Operator syntax is unsupported
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Cast syntax is unsupported
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out property syntax if supported
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JavaScriptDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Structure syntax is unsupported
+            </summary>
+            <param name="reflection">The reflection information</param>
+            <param name="writer">The syntax writer to which it is written</param>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for JScript
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JScriptDeclarationSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for J#
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.JSharpDeclarationSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for Managed C++
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.ManagedCPlusPlusDeclarationSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for Visual Basic
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteConstantValue(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicDeclarationSyntaxGenerator.WriteWithLineBreakIfNeededVB(Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter,System.String,System.String)">
+            <summary>
+            This is used to write a string followed by an optional line break if needed (the writer position is
+            past the maximum position afterwards).
+            </summary>
+            <param name="writer">The syntax writer to use</param>
+            <param name="text">An optional text string to write before the new line</param>
+            <param name="indent">An optional indent to write after the line break</param>
+            <returns>True if a new line was written, false if not</returns>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator">
+            <summary>
+            This class generates usage syntax sections for Visual Basic
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.VisualBasicUsageSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator">
+            <summary>
+            This class generates usage syntax sections for XAML
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.Initialize(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.ParseDocuments(System.String)">
+            <summary>
+            This is used to parse configuration files
+            </summary>
+            <param name="wildcardPath">The path used to find the configuration files</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteAttachedPropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteAttachedEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XamlUsageSyntaxGenerator.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.XamlBoilerplateID">
+            <summary>
+            This enumerated type defines XAML boilerplate resource item IDs
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.XamlHeadingID">
+            <summary>
+            This enumerated type defines XAML heading resource item IDs
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator">
+            <summary>
+            This class generates declaration syntax sections for X#
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.Factory">
+            <summary>
+            This is used to create a new instance of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.Factory.ResourceItemFileLocation">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.Factory.Create">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a normal type reference
+            </summary>
+            <param name="api">The type reference to output</param>
+            <param name="writer">The syntax writer to which the type reference is written</param>
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Tools.SyntaxGenerators.XSharpDeclarationSyntaxGenerator.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <inheritdoc />
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.UI.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.UI.dll
new file mode 100644
index 0000000000000000000000000000000000000000..9c7c4566f53488242a9735e604ede65c516b3fd1
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.UI.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.UI.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.UI.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1deeca16ff0720ea2ae95921908a0b55c076f1c1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.UI.xml
@@ -0,0 +1,876 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleBuilder.PlugIns.UI</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg">
+            <summary>
+            This form is used to edit the additional reference links plug-in configuration
+            </summary>
+            <summary>
+            AdditionalReferenceLinksConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The current project</param>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.lbReferences_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Enable or disable controls based on whether or not there are references
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.btnAddReferenceProject_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add a new reference links project
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.btnDeleteReferenceProject_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Delete the selected reference links project
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate and save the settings
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AdditionalReferenceLinksConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg">
+            <summary>
+            This form is used to configure the settings for the AjaxDoc plug-in
+            </summary>
+            <summary>
+            AjaxDocConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.chkUseDefaultCredentials_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable the user name and password controls based on the Default Credentials check state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.chkUseProxyServer_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable the proxy server settings based on the Use Proxy Server check state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.chkUseProxyDefCreds_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable the proxy user credentials based on the Proxy Default Credentials check state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.AjaxDocConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg">
+            <summary>
+            This form is used to configure the settings for the Bibliography Support plug-in
+            </summary>
+            <summary>
+            BibliographySupportConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the Sandcastle Help File Builder project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.btnSelectLocation_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select the path to the bibliography file
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BibliographySupportConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg">
+            <summary>
+            This form is used to edit the assembly binding redirection resolver plug-in configuration
+            </summary>
+            <summary>
+            BindingRedirectResolverConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The current project</param>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.btnAddBindingRedirect_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add a new binding redirection
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.btnDeleteBindingRedirect_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Delete the selected binding redirection
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.lbBindingRedirections_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Enable or disable controls based on whether or not there are binding redirections
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.btnAddIgnoredName_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add an ignored assembly name
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.btnDeleteIgnoredName_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Delete the selected ignored assembly names
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.lbIgnoreIfUnresolved_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Enable or disable controls based on whether or not there are ignored assembly names
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.BindingRedirectResolverConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg">
+            <summary>
+            This form is used to configure the settings for the Completion Notification plug-in
+            </summary>
+            <summary>
+            CompletionNotificationConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.chkUseDefaultCredentials_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable the user name and password controls based on the Default Credentials check state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.CompletionNotificationConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg">
+            <summary>
+            This form is used to configure the settings for the DBCS Fix for CHM Builds plug-in
+            </summary>
+            <summary>
+            DbcsFixConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.btnSelectLocation_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Select the path to the SBAppLocale tool
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DbcsFixConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.DeploymentConfigDlg">
+            <summary>
+            This form is used to configure the settings for the Output Deployment plug-in
+            </summary>
+            <summary>
+            DeploymentConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.DeploymentConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The configuration to edit</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl">
+            <summary>
+            This user control is used to edit deployment configuration settings
+            </summary>
+            <summary>
+            DeploymentConfigUserControl
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl.LoadFromSettings(SandcastleBuilder.PlugIns.DeploymentLocation)">
+            <summary>
+            Load the control values from the specified deployment location
+            settings object.
+            </summary>
+            <param name="location">The location settings</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl.CreateDeploymentLocation">
+            <summary>
+            Validate the control values and, if valid, create and return a new
+            deployment location settings object.
+            </summary>
+            <returns>The deployment location settings if they are valid or
+            null if they are not valid.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl.chkUseDefaultCredentials_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable the user name and password controls based on the Default Credentials check state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl.chkUseProxyServer_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable the proxy server settings based on the Use Proxy Server check state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl.chkUseProxyDefCreds_CheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Enable or disable the proxy user credentials based on the Proxy Default Credentials check state
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.DeploymentConfigUserControl.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg">
+            <summary>
+            This form is used to edit the member ID fix-up plug-in configuration
+            </summary>
+            <summary>
+            MemberIDFixUpPlugInConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The configuration to edit</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.lbExpressions_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Enable or disable the controls based on the selection
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.btnAdd_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add a new fix-up expression
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.btnDelete_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Delete the selected fix-up expression
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.btnCppFixUps_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add the common C++ fix-up expressions
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.MemberIDFixUpPlugInConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg">
+            <summary>
+            This form is used to edit the version builder plug-in configuration
+            </summary>
+            <summary>
+            VersionBuilderConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The current project</param>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.lbVersionInfo_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Enable or disable controls based on whether or not there are references
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.btnAddProject_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add a new version info project
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.btnDeleteProject_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Delete the selected version info project
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate and save the settings
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.VersionBuilderConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg">
+            <summary>
+            This form is used to edit the wildcard references plug-in configuration
+            </summary>
+            <summary>
+            WildcardReferencesConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The current project</param>
+            <param name="configuration">The current configuration element</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.lbReferences_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Enable or disable controls based on whether or not there are references
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.btnAddReferencePath_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add a new wildcard reference path
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.btnDeleteReferencePath_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Delete the selected wildcard reference path
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate and save the settings
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.WildcardReferencesConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg">
+            <summary>
+            This form is used to edit the XPath reflection file filter plug-in settings
+            </summary>
+            <summary>
+            XPathReflectionFileFilterConfigDlg
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.Factory">
+            <summary>
+            This allows editing of the plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.Factory.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.ExpressionItem">
+            <summary>
+            This is used to edit the expression
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.ExpressionItem.Expression">
+            <summary>
+            The XPath query expression
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.ExpressionItem.ErrorMessage">
+            <summary>
+            The error if the expression is not valid
+            </summary>
+        </member>
+        <member name="E:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.ExpressionItem.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.ExpressionItem.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.ExpressionItem.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="configuration">The configuration to edit</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.btnHelp_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            View help for this plug-in
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.lnkProjectSite_RequestNavigate(System.Object,System.Windows.Navigation.RequestNavigateEventArgs)">
+            <summary>
+            Go to the project site
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.btnAdd_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Add a new XPath expression
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.btnDelete_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Delete the selected XPath expression
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.btnOK_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Validate the configuration and save it
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.lbXPathQueries_SelectionChanged(System.Object,System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Enable or disable the controls based on the selection
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.UI.XPathReflectionFileFilterConfigDlg.InitializeComponent">
+            <summary>
+            InitializeComponent
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.AjaxDocPlugIn">
+            <summary>
+            This plug-in class is designed to generate XML comments and reflection file information for Atlas client
+            script libraries using AjaxDoc.
+            </summary>
+            <remarks>
+            <note type="caution"><strong>DEPRECATED:</strong> AjaxDoc is considered obsolete and has been replaced by
+            JsDoc.  In addition, this plug-in will only work on Windows using the full .NET Framework.</note>
+            
+            <note type="note">If you want the visibility settings and API filter applied, add the Manual
+            Visibility/API filter plug-in to the project as well.</note></remarks>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.AjaxDocPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AjaxDocPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if the plug-in configuration is not valid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AjaxDocPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AjaxDocPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AjaxDocPlugIn.RunBrowser">
+            <summary>
+            This is the entry point for the thread that runs the browser to invoke AjaxDoc
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AjaxDocPlugIn.wb_DocumentCompleted(System.Object,System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)">
+            <summary>
+            Hook up the error handler on completion to handle script errors
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AjaxDocPlugIn.Window_Error(System.Object,System.Windows.Forms.HtmlElementErrorEventArgs)">
+            <summary>
+            If a script error occurs, stop processing
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AjaxDocPlugIn.wb_Navigated(System.Object,System.Windows.Forms.WebBrowserNavigatedEventArgs)">
+            <summary>
+            This notes when the page completes navigating
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+            <remarks>If ran successfully, the page navigates twice.  The first time is the initial page load.  It
+            immediately submits itself to post the results.  On the second navigation, we can assume it was
+            successful and the page contains the "success" result message.
+            </remarks>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..245253668c2cf18cffad7278271bca811674051e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.deps.json
@@ -0,0 +1,1300 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/": {
+      "SandcastleBuilder.PlugIns/1.0.0": {
+        "dependencies": {
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "EWSoftware.SandcastleBuilder.Utils": "2021.10.23",
+          "Microsoft.Build": "15.1.548",
+          "NETStandard.Library": "2.0.3"
+        },
+        "runtime": {
+          "SandcastleBuilder.PlugIns.dll": {}
+        }
+      },
+      "Microsoft.Bcl.AsyncInterfaces/5.0.0": {
+        "dependencies": {
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "Microsoft.Build/15.1.548": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "System.AppContext": "4.1.0",
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Collections.Immutable": "1.2.0",
+          "System.Collections.NonGeneric": "4.0.1",
+          "System.Console": "4.0.0",
+          "System.Diagnostics.Contracts": "4.0.1",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.FileVersionInfo": "4.0.0",
+          "System.Diagnostics.Process": "4.1.0",
+          "System.Diagnostics.TraceSource": "4.0.0",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.Compression": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.IO.Pipes": "4.0.0",
+          "System.Linq": "4.1.0",
+          "System.Linq.Parallel": "4.0.1",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Metadata": "1.3.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.0.0",
+          "System.Runtime.Loader": "4.0.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Tasks.Dataflow": "4.6.0",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XPath.XmlDocument": "4.0.1",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "Microsoft.Build.Framework/15.1.548": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Thread": "4.0.0"
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "Microsoft.NETCore.Targets/1.0.1": {},
+      "Microsoft.Win32.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "Microsoft.Win32.Registry/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0"
+        }
+      },
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "runtime.native.System/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "runtime.native.System.IO.Compression/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "System.AppContext/4.1.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Buffers/4.5.1": {
+        "runtime": {
+          "lib/netstandard2.0/System.Buffers.dll": {
+            "assemblyVersion": "4.0.3.0",
+            "fileVersion": "4.6.28619.1"
+          }
+        }
+      },
+      "System.Collections/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Collections.Concurrent/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Tracing": "4.1.0",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Collections.Immutable/1.2.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Linq": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Collections.NonGeneric/4.0.1": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.ComponentModel.Composition/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.ComponentModel.Composition.dll": {
+            "assemblyVersion": "4.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Console/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Diagnostics.Contracts/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Diagnostics.Debug/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Diagnostics.FileVersionInfo/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Reflection.Metadata": "1.3.0",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0"
+        }
+      },
+      "System.Diagnostics.Process/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "Microsoft.Win32.Registry": "4.0.0",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.TraceSource/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.Tracing/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Drawing.Common/5.0.2": {
+        "runtime": {
+          "lib/netstandard2.0/System.Drawing.Common.dll": {
+            "assemblyVersion": "4.0.0.2",
+            "fileVersion": "4.6.29719.1"
+          }
+        }
+      },
+      "System.Dynamic.Runtime/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Linq": "4.1.0",
+          "System.Linq.Expressions": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Globalization/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.IO/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.Compression/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "runtime.native.System": "4.0.0",
+          "runtime.native.System.IO.Compression": "4.1.0"
+        }
+      },
+      "System.IO.FileSystem/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.FileSystem.Primitives/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.IO.Pipes/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Net.Primitives": "4.0.11",
+          "System.Net.Sockets": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Security.Principal": "4.0.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Threading.Overlapped": "4.0.1",
+          "System.Threading.Tasks": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Linq/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0"
+        }
+      },
+      "System.Linq.Expressions/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Emit.Lightweight": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Linq.Parallel/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Tracing": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Memory/4.5.4": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Numerics.Vectors": "4.5.0",
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Memory.dll": {
+            "assemblyVersion": "4.0.1.1",
+            "fileVersion": "4.6.28619.1"
+          }
+        }
+      },
+      "System.Net.Primitives/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Net.Sockets/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Net.Primitives": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Numerics.Vectors/4.5.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.Numerics.Vectors.dll": {
+            "assemblyVersion": "4.1.4.0",
+            "fileVersion": "4.6.26515.6"
+          }
+        }
+      },
+      "System.ObjectModel/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Reflection/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit/4.0.1": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.ILGeneration/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.Lightweight/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Extensions/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Metadata/1.3.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Collections.Immutable": "1.2.0",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Reflection.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.TypeExtensions/4.1.0": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Resources.ResourceManager/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "System.Runtime.CompilerServices.Unsafe/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Runtime.Extensions/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.Handles/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.InteropServices/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Runtime.Loader/4.0.0": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Security.Principal/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Text.Encoding/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Text.Encoding.Extensions/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Text.Encodings.Web/5.0.1": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Memory": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Text.Encodings.Web.dll": {
+            "assemblyVersion": "5.0.0.1",
+            "fileVersion": "5.0.421.11614"
+          }
+        }
+      },
+      "System.Text.Json/5.0.2": {
+        "dependencies": {
+          "Microsoft.Bcl.AsyncInterfaces": "5.0.0",
+          "System.Buffers": "4.5.1",
+          "System.Memory": "4.5.4",
+          "System.Numerics.Vectors": "4.5.0",
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0",
+          "System.Text.Encodings.Web": "5.0.1",
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Text.Json.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.521.16609"
+          }
+        }
+      },
+      "System.Text.RegularExpressions/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Threading/4.0.11": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Overlapped/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Threading.Tasks/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.Tasks.Dataflow/4.6.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Tracing": "4.1.0",
+          "System.Dynamic.Runtime": "4.0.11",
+          "System.Linq": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Tasks.Extensions/4.5.4": {
+        "dependencies": {
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": {
+            "assemblyVersion": "4.2.0.1",
+            "fileVersion": "4.6.28619.1"
+          }
+        }
+      },
+      "System.Threading.Thread/4.0.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.ThreadPool/4.0.10": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Xml.ReaderWriter/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Tasks.Extensions": "4.5.4"
+        }
+      },
+      "System.Xml.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Xml.XPath/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Xml.XPath.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XPath": "4.0.1",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      }
+    }
+  },
+  "libraries": {
+    "SandcastleBuilder.PlugIns/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Bcl.AsyncInterfaces/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-W8DPQjkMScOMTtJbPwmPyj9c3zYSFGawDW3jwlBOOsnY+EzZFLgNQ/UMkK35JmkNOVPdCyPr2Tw7Vv9N+KA3ZQ==",
+      "path": "microsoft.bcl.asyncinterfaces/5.0.0",
+      "hashPath": "microsoft.bcl.asyncinterfaces.5.0.0.nupkg.sha512"
+    },
+    "Microsoft.Build/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-zEUfO7xITUxDeFE3a20D25RCKX7IFU3SUigv9qj50Adn1ZTw5QMz59LM84tyC+MNgxDl2djxlhMkNdKz/ytMBg==",
+      "path": "microsoft.build/15.1.548",
+      "hashPath": "microsoft.build.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.Build.Framework/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-wO17o9zmhAq1YYXdlwXtSsX/LzHgF1mWmKZ/X2CQE8n1WWQnzcm0gqyAa4qpp89emRZ4N0shHwq+43/9IafloA==",
+      "path": "microsoft.build.framework/15.1.548",
+      "hashPath": "microsoft.build.framework.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Targets/1.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==",
+      "path": "microsoft.netcore.targets/1.0.1",
+      "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==",
+      "path": "microsoft.win32.primitives/4.0.1",
+      "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==",
+      "path": "microsoft.win32.registry/4.0.0",
+      "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "runtime.native.System/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==",
+      "path": "runtime.native.system/4.0.0",
+      "hashPath": "runtime.native.system.4.0.0.nupkg.sha512"
+    },
+    "runtime.native.System.IO.Compression/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Ob7nvnJBox1aaB222zSVZSkf4WrebPG4qFscfK7vmD7P7NxoSxACQLtO7ytWpqXDn2wcd/+45+EAZ7xjaPip8A==",
+      "path": "runtime.native.system.io.compression/4.1.0",
+      "hashPath": "runtime.native.system.io.compression.4.1.0.nupkg.sha512"
+    },
+    "System.AppContext/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==",
+      "path": "system.appcontext/4.1.0",
+      "hashPath": "system.appcontext.4.1.0.nupkg.sha512"
+    },
+    "System.Buffers/4.5.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
+      "path": "system.buffers/4.5.1",
+      "hashPath": "system.buffers.4.5.1.nupkg.sha512"
+    },
+    "System.Collections/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==",
+      "path": "system.collections/4.0.11",
+      "hashPath": "system.collections.4.0.11.nupkg.sha512"
+    },
+    "System.Collections.Concurrent/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==",
+      "path": "system.collections.concurrent/4.0.12",
+      "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512"
+    },
+    "System.Collections.Immutable/1.2.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Cma8cBW6di16ZLibL8LYQ+cLjGzoKxpOTu/faZfDcx94ZjAGq6Nv5RO7+T1YZXqEXTZP9rt1wLVEONVpURtUqw==",
+      "path": "system.collections.immutable/1.2.0",
+      "hashPath": "system.collections.immutable.1.2.0.nupkg.sha512"
+    },
+    "System.Collections.NonGeneric/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==",
+      "path": "system.collections.nongeneric/4.0.1",
+      "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512"
+    },
+    "System.ComponentModel.Composition/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YL8iA3VOFxhyomn7FxtBgh3F+8XG5jOfT5UcqYLtkafSa6g6alQfKZuRwlEIWe+tzH6OVnj0Ekg5tn/DmV7SkQ==",
+      "path": "system.componentmodel.composition/5.0.0",
+      "hashPath": "system.componentmodel.composition.5.0.0.nupkg.sha512"
+    },
+    "System.Console/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==",
+      "path": "system.console/4.0.0",
+      "hashPath": "system.console.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Contracts/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HvQQjy712vnlpPxaloZYkuE78Gn353L0SJLJVeLcNASeg9c4qla2a1Xq8I7B3jZoDzKPtHTkyVO7AZ5tpeQGuA==",
+      "path": "system.diagnostics.contracts/4.0.1",
+      "hashPath": "system.diagnostics.contracts.4.0.1.nupkg.sha512"
+    },
+    "System.Diagnostics.Debug/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==",
+      "path": "system.diagnostics.debug/4.0.11",
+      "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512"
+    },
+    "System.Diagnostics.FileVersionInfo/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qjF74OTAU+mRhLaL4YSfiWy3vj6T3AOz8AW37l5zCwfbBfj0k7E94XnEsRaf2TnhE/7QaV6Hvqakoy2LoV8MVg==",
+      "path": "system.diagnostics.fileversioninfo/4.0.0",
+      "hashPath": "system.diagnostics.fileversioninfo.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Process/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==",
+      "path": "system.diagnostics.process/4.1.0",
+      "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512"
+    },
+    "System.Diagnostics.TraceSource/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==",
+      "path": "system.diagnostics.tracesource/4.0.0",
+      "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Tracing/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==",
+      "path": "system.diagnostics.tracing/4.1.0",
+      "hashPath": "system.diagnostics.tracing.4.1.0.nupkg.sha512"
+    },
+    "System.Drawing.Common/5.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rvr/M1WPf24ljpvvrVd74+NdjRUJu1bBkspkZcnzSZnmAUQWSvanlQ0k/hVHk+cHufZbZfu7vOh/vYc0q5Uu/A==",
+      "path": "system.drawing.common/5.0.2",
+      "hashPath": "system.drawing.common.5.0.2.nupkg.sha512"
+    },
+    "System.Dynamic.Runtime/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==",
+      "path": "system.dynamic.runtime/4.0.11",
+      "hashPath": "system.dynamic.runtime.4.0.11.nupkg.sha512"
+    },
+    "System.Globalization/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==",
+      "path": "system.globalization/4.0.11",
+      "hashPath": "system.globalization.4.0.11.nupkg.sha512"
+    },
+    "System.IO/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==",
+      "path": "system.io/4.1.0",
+      "hashPath": "system.io.4.1.0.nupkg.sha512"
+    },
+    "System.IO.Compression/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-TjnBS6eztThSzeSib+WyVbLzEdLKUcEHN69VtS3u8aAsSc18FU6xCZlNWWsEd8SKcXAE+y1sOu7VbU8sUeM0sg==",
+      "path": "system.io.compression/4.1.0",
+      "hashPath": "system.io.compression.4.1.0.nupkg.sha512"
+    },
+    "System.IO.FileSystem/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==",
+      "path": "system.io.filesystem/4.0.1",
+      "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512"
+    },
+    "System.IO.FileSystem.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==",
+      "path": "system.io.filesystem.primitives/4.0.1",
+      "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.IO.Pipes/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-L9QVhk8hIEix5KNA0kW58Ha+Y1dNGqqqIhAaJkhcGCWeQzUmN0njzI7SG/XAazpMecboOdFFlH3pH/qbwXLJAg==",
+      "path": "system.io.pipes/4.0.0",
+      "hashPath": "system.io.pipes.4.0.0.nupkg.sha512"
+    },
+    "System.Linq/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==",
+      "path": "system.linq/4.1.0",
+      "hashPath": "system.linq.4.1.0.nupkg.sha512"
+    },
+    "System.Linq.Expressions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==",
+      "path": "system.linq.expressions/4.1.0",
+      "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512"
+    },
+    "System.Linq.Parallel/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-J7XCa7n2cFn32uLbtceXfBFhgCk5M++50lylHKNbqTiJkw5y4Tglpi6amuJNPCvj9bLzNSI7rs1fi4joLMNRgg==",
+      "path": "system.linq.parallel/4.0.1",
+      "hashPath": "system.linq.parallel.4.0.1.nupkg.sha512"
+    },
+    "System.Memory/4.5.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==",
+      "path": "system.memory/4.5.4",
+      "hashPath": "system.memory.4.5.4.nupkg.sha512"
+    },
+    "System.Net.Primitives/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hVvfl4405DRjA2408luZekbPhplJK03j2Y2lSfMlny7GHXlkByw1iLnc9mgKW0GdQn73vvMcWrWewAhylXA4Nw==",
+      "path": "system.net.primitives/4.0.11",
+      "hashPath": "system.net.primitives.4.0.11.nupkg.sha512"
+    },
+    "System.Net.Sockets/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-xAz0N3dAV/aR/9g8r0Y5oEqU1JRsz29F5EGb/WVHmX3jVSLqi2/92M5hTad2aNWovruXrJpJtgZ9fccPMG9uSw==",
+      "path": "system.net.sockets/4.1.0",
+      "hashPath": "system.net.sockets.4.1.0.nupkg.sha512"
+    },
+    "System.Numerics.Vectors/4.5.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==",
+      "path": "system.numerics.vectors/4.5.0",
+      "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512"
+    },
+    "System.ObjectModel/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==",
+      "path": "system.objectmodel/4.0.12",
+      "hashPath": "system.objectmodel.4.0.12.nupkg.sha512"
+    },
+    "System.Reflection/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==",
+      "path": "system.reflection/4.1.0",
+      "hashPath": "system.reflection.4.1.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==",
+      "path": "system.reflection.emit/4.0.1",
+      "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.ILGeneration/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==",
+      "path": "system.reflection.emit.ilgeneration/4.0.1",
+      "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.Lightweight/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==",
+      "path": "system.reflection.emit.lightweight/4.0.1",
+      "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Extensions/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==",
+      "path": "system.reflection.extensions/4.0.1",
+      "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Metadata/1.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-jMSCxA4LSyKBGRDm/WtfkO03FkcgRzHxwvQRib1bm2GZ8ifKM1MX1al6breGCEQK280mdl9uQS7JNPXRYk90jw==",
+      "path": "system.reflection.metadata/1.3.0",
+      "hashPath": "system.reflection.metadata.1.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==",
+      "path": "system.reflection.primitives/4.0.1",
+      "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.TypeExtensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==",
+      "path": "system.reflection.typeextensions/4.1.0",
+      "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512"
+    },
+    "System.Resources.ResourceManager/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==",
+      "path": "system.resources.resourcemanager/4.0.1",
+      "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==",
+      "path": "system.runtime/4.1.0",
+      "hashPath": "system.runtime.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.CompilerServices.Unsafe/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA==",
+      "path": "system.runtime.compilerservices.unsafe/5.0.0",
+      "hashPath": "system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Extensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==",
+      "path": "system.runtime.extensions/4.1.0",
+      "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.Handles/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==",
+      "path": "system.runtime.handles/4.0.1",
+      "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==",
+      "path": "system.runtime.interopservices/4.1.0",
+      "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==",
+      "path": "system.runtime.interopservices.runtimeinformation/4.0.0",
+      "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Loader/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==",
+      "path": "system.runtime.loader/4.0.0",
+      "hashPath": "system.runtime.loader.4.0.0.nupkg.sha512"
+    },
+    "System.Security.Principal/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-On+SKhXY5rzxh/S8wlH1Rm0ogBlu7zyHNxeNBiXauNrhHRXAe9EuX8Yl5IOzLPGU5Z4kLWHMvORDOCG8iu9hww==",
+      "path": "system.security.principal/4.0.1",
+      "hashPath": "system.security.principal.4.0.1.nupkg.sha512"
+    },
+    "System.Text.Encoding/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==",
+      "path": "system.text.encoding/4.0.11",
+      "hashPath": "system.text.encoding.4.0.11.nupkg.sha512"
+    },
+    "System.Text.Encoding.Extensions/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==",
+      "path": "system.text.encoding.extensions/4.0.11",
+      "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512"
+    },
+    "System.Text.Encodings.Web/5.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KmJ+CJXizDofbq6mpqDoRRLcxgOd2z9X3XoFNULSbvbqVRZkFX3istvr+MUjL6Zw1RT+RNdoI4GYidIINtgvqQ==",
+      "path": "system.text.encodings.web/5.0.1",
+      "hashPath": "system.text.encodings.web.5.0.1.nupkg.sha512"
+    },
+    "System.Text.Json/5.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I47dVIGiV6SfAyppphxqupertT/5oZkYLDCX6vC3HpOI4ZLjyoKAreUoem2ie6G0RbRuFrlqz/PcTQjfb2DOfQ==",
+      "path": "system.text.json/5.0.2",
+      "hashPath": "system.text.json.5.0.2.nupkg.sha512"
+    },
+    "System.Text.RegularExpressions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==",
+      "path": "system.text.regularexpressions/4.1.0",
+      "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512"
+    },
+    "System.Threading/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==",
+      "path": "system.threading/4.0.11",
+      "hashPath": "system.threading.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Overlapped/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-f7aLuLkBoCQM2kng7zqLFBXz9Gk48gDK8lk1ih9rH/1arJJzZK9gJwNvPDhL6Ps/l6rwOr8jw+4FCHL0KKWiEg==",
+      "path": "system.threading.overlapped/4.0.1",
+      "hashPath": "system.threading.overlapped.4.0.1.nupkg.sha512"
+    },
+    "System.Threading.Tasks/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==",
+      "path": "system.threading.tasks/4.0.11",
+      "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Dataflow/4.6.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2hRjGu2r2jxRZ55wmcHO/WbdX+YAOz9x6FE8xqkHZgPaoFMKQZRe9dk8xTZIas8fRjxRmzawnTEWIrhlM+Un7w==",
+      "path": "system.threading.tasks.dataflow/4.6.0",
+      "hashPath": "system.threading.tasks.dataflow.4.6.0.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Extensions/4.5.4": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
+      "path": "system.threading.tasks.extensions/4.5.4",
+      "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512"
+    },
+    "System.Threading.Thread/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==",
+      "path": "system.threading.thread/4.0.0",
+      "hashPath": "system.threading.thread.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.ThreadPool/4.0.10": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==",
+      "path": "system.threading.threadpool/4.0.10",
+      "hashPath": "system.threading.threadpool.4.0.10.nupkg.sha512"
+    },
+    "System.Xml.ReaderWriter/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==",
+      "path": "system.xml.readerwriter/4.0.11",
+      "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512"
+    },
+    "System.Xml.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==",
+      "path": "system.xml.xmldocument/4.0.1",
+      "hashPath": "system.xml.xmldocument.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XPath/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==",
+      "path": "system.xml.xpath/4.0.1",
+      "hashPath": "system.xml.xpath.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XPath.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==",
+      "path": "system.xml.xpath.xmldocument/4.0.1",
+      "hashPath": "system.xml.xpath.xmldocument.4.0.1.nupkg.sha512"
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4824384562f07a0d0860da03ab421574054f7763
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1c971e9798c2603b97b98af0813a8de27539592a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SandcastleBuilder.PlugIns.xml
@@ -0,0 +1,1306 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleBuilder.PlugIns</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.PlugIns.AdditionalContentOnlyPlugIn">
+            <summary>
+            This plug-in class can be used to build a help file consisting of nothing but additional content items.
+            It is also useful for proofreading your additional content without having to build all the API topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.AdditionalContentOnlyPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalContentOnlyPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalContentOnlyPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalContentOnlyPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn">
+            <summary>
+            This plug-in class is designed to add additional reference link targets to the <strong>Reflection Index
+            Data</strong> and <strong>Resolve Reference Links</strong> build components so that links can be created
+            to other third party help in a help collection or additional online content.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process.
+            </summary>
+            <param name="buildProcess">A reference to the current build process.</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize
+            itself.</param>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if the plug-in configuration is not valid.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.MergeInheritedDocConfig">
+            <summary>
+            This is used to merge the reflection file names into the inherited documentation tool's configuration
+            file.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.MergeReflectionInfo(System.String)">
+            <summary>
+            This is used to merge the reflection file info into the named configuration file.
+            </summary>
+            <param name="configFilename">The configuration filename</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.BuildProject(SandcastleBuilder.Utils.SandcastleProject,System.String)">
+            <summary>
+            This is called to build a project
+            </summary>
+            <param name="project">The project to build</param>
+            <param name="workingPath">The working path for the project</param>
+            <returns>Returns true if successful, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn.Report(SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs)">
+            <summary>
+            This is called by the build process to report build progress for the reference link projects
+            </summary>
+            <param name="value">The event arguments</param>
+            <remarks>Since the build is synchronous in this plug-in, we need to implement the interface and
+            report progress synchronously as well or the final few messages can get lost and it looks like the
+            build failed.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.BibliographySupportPlugIn">
+            <summary>
+            This plug-in class is used to add bibliography support to the topics
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BibliographySupportPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BibliographySupportPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BibliographySupportPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BibliographySupportPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.BindingRedirectResolverPlugIn">
+            <summary>
+            This plug-in class is used to add assembly binding redirection support to the MRefBuilder configuration
+            file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectResolverPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectResolverPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectResolverPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectResolverPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.BindingRedirectSettings">
+            <summary>
+            This represents binding redirection settings for the <see cref="T:SandcastleBuilder.PlugIns.BindingRedirectResolverPlugIn"/>.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.AssemblyName">
+            <summary>
+            This is used to get or set the assembly name (no extension)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.PublicKeyToken">
+            <summary>
+            This is used to get or set the public key token for the assembly
+            </summary>
+            <value>If omitted, "null" is assumed</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.Culture">
+            <summary>
+            This is used to get or set the culture for the assembly
+            </summary>
+            <value>If omitted, "neutral" is assumed</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.OldVersion">
+            <summary>
+            This is used to get or set the old version number to redirect to the new version number
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.OldVersionTo">
+            <summary>
+            This is used to get or set the ending old version number range to redirect to the new version
+            number.
+            </summary>
+            <value>If not set, only <see cref="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.OldVersion" /> will be used to redirect a single
+            version.</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.NewVersion">
+            <summary>
+            This is used to get or set the new version number to which the old versions are redirected
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.ConfigurationFile">
+            <summary>
+            This is used to get or set the path to the configuration file from which the settings should be
+            imported.
+            </summary>
+            <value>If specified, the properties in the Binding Redirect category are ignored.</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.ErrorMessage">
+            <summary>
+            This read-only property returns an error message describing any issues with the settings
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.BindingRedirectSettings.BindingRedirectDescription">
+            <summary>
+            This read-only property returns a description of the settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectSettings.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="provider">The base path provider</param>
+        </member>
+        <member name="E:SandcastleBuilder.PlugIns.BindingRedirectSettings.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectSettings.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.PlugIns.BindingRedirectSettings.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectSettings.configFile_PersistablePathChanged(System.Object,System.EventArgs)">
+            <summary>
+            Update the display description when the configuration file changes
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectSettings.Validate">
+            <summary>
+            This is used to validate the settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectSettings.FromXml(SandcastleBuilder.Utils.IBasePathProvider,System.Xml.Linq.XElement)">
+            <summary>
+            Create a binding redirect settings instance from an XML element containing the settings
+            </summary>
+            <param name="pathProvider">The base path provider object</param>
+            <param name="configuration">The XML element from which to obtain the settings</param>
+            <returns>A <see cref="T:SandcastleBuilder.PlugIns.BindingRedirectSettings"/> object containing the settings from the XPath
+            navigator.</returns>
+            <remarks>It should contain an element called <c>dependentAssembly</c> with a <c>configFile</c>
+            attribute or a nested <c>assemblyIdentity</c> and <c>bindingRedirect</c> element that define
+            the settings.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.BindingRedirectSettings.ToXml(System.Boolean)">
+            <summary>
+            Store the binding redirect settings in an XML element
+            </summary>
+            <param name="relativePath">True to allow a relative path on <c>importFrom</c> attributes, false to
+            fully qualify the path.</param>
+            <returns>Returns the XML element</returns>
+            <remarks>The settings are stored in an element called <c>dependentAssembly</c>.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.CompletionNotificationPlugIn">
+            <summary>
+            This plug-in class is designed to run after the build completes to send notification of the completion
+            status via e-mail.  The log file can be sent as an attachment.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.CompletionNotificationPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.CompletionNotificationPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if the plug-in configuration is not valid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.CompletionNotificationPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+            <remarks>Since this runs after completion of the build and the log file is closed, any progress
+            messages reported here will not appear in it, just in the output window on the main form.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.CompletionNotificationPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.CompletionNotificationPlugIn.TransformLogFile">
+            <summary>
+            This is used to run the log file through an XSL transform so that it is more readable
+            </summary>
+            <returns>The transformed log filename</returns>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.DbcsFixPlugIn">
+            <summary>
+            This plug-in class is designed to modify the HTML files and alter the build so as to overcome the
+            encoding issues encountered when building HTML Help 1 (.chm) files for various foreign languages.
+            </summary>
+            <remarks>This uses the <see href="http://www.steelbytes.com/?mid=45">Steel Bytes SBAppLocale</see> tool
+            to run the HTML Help 1 compiler using the correct locale.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DbcsFixPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DbcsFixPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DbcsFixPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DbcsFixPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.DeploymentLocation">
+            <summary>
+            This represents a deployment location
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DeploymentLocation.Location">
+            <summary>
+            The location to which the help file is deployed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DeploymentLocation.UserCredentials">
+            <summary>
+            The user credentials for the location
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DeploymentLocation.ProxyCredentials">
+            <summary>
+            The proxy credentials for the location
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentLocation.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentLocation.#ctor(System.Uri,SandcastleBuilder.Utils.BuildComponent.UserCredentials,SandcastleBuilder.Utils.BuildComponent.ProxyCredentials)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="deployTo">The deployment location</param>
+            <param name="user">The user credentials, if any</param>
+            <param name="proxy">The proxy credentials, if any</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentLocation.FromXml(System.Xml.Linq.XElement,System.String)">
+            <summary>
+            Create a deployment location instance from an XML element containing the settings
+            </summary>
+            <param name="configuration">The XML element from which to obtain the settings</param>
+            <param name="id">The id of the element to load</param>
+            <returns>A <see cref="T:SandcastleBuilder.PlugIns.DeploymentLocation"/> object containing the settings from the XPath navigator.</returns>
+            <remarks>It should contain an element called <b>deploymentLocation</b> with two attributes (<b>id</b>
+            with the specified ID value and <b>location</b>) and nested <b>userCredentials</b> and
+            <b>proxyCredentials</b> elements.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentLocation.ToXml(System.String)">
+            <summary>
+            Return the deployment location as an XML element
+            </summary>
+            <param name="id">The id of the element to create</param>
+            <returns>The deployment location settings as an XML element</returns>
+            <remarks>The deployment location is stored in an element called <strong>deploymentLocation</strong>
+            with two attributes (<strong>id</strong> matching the specified id and <strong>location</strong>) and
+            nested <strong>userCredentials</strong> and <strong>proxyCredentials</strong> elements.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.DeploymentPlugIn">
+            <summary>
+            This plug-in class is used to copy the resulting help file output to a location other than the output
+            folder (i.e. a file share, an FTP site, a web server, etc.).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DeploymentPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if the plug-in configuration is not valid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentPlugIn.DeployOutput(System.Collections.ObjectModel.Collection{System.String},SandcastleBuilder.PlugIns.DeploymentLocation)">
+            <summary>
+            Deploy the given list of files to the specified location
+            </summary>
+            <param name="files">The list of files to deploy</param>
+            <param name="location">The deployment location</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DeploymentPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn">
+            <summary>
+            This plug-in is used to automatically generate an API filter based on the XML comments member IDs to
+            limit the help file content to only the documented entities.
+            </summary>
+            <remarks><para>This plug-in is unique in that it runs both before and after the <c>GenerateReflectionInfo</c>
+            step.  This is necessary as we must remove any project-based API filter and generate a full set of API
+            information in order to compare it to the XML comments member IDs.  Once we have done that, we can
+            generate an API filter and apply it by building the reflection information again.</para>
+            
+            <para>Note that we are still constrained by the rules of the API filter.  Specifically, if you exclude
+            one member of an overloaded method set, all of them will be excluded.  There is no getting around that
+            rule.</para>
+            
+            <para>In addition, since inherited documentation is generated after reflection data is generated,
+            undocumented members of explicitly implemented interfaces will not be included.  If you want them
+            included, you must explicitly add an <c>inheritdoc</c> tag on those members.</para>
+            
+            <para>To explicitly exclude a documented member, add the <c>exclude</c> XML comment tag to its
+            comments.  If placed on a type, it will exclude the entire type regardless of whether or not it has
+            documented members.  If placed on a <c>NamespaceDoc</c> class, it will exclude all types within the
+            namespace regardless of whether or not they are documented.  Note that namespace exclusions defined in
+            the project namespace summaries will have no effect.  You must either add a <c>NamespaceDoc</c> class for
+            the excluded namespace or exclude all of its types.</para></remarks>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState">
+            <summary>
+            This is used to store the documentation state for the members
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.MemberId">
+            <summary>
+            This is used to get or set the full member ID (type:namespace[.type[.member]]).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.IdType">
+            <summary>
+            This returns the member ID type (N = Namespace, T = Type, anything else = member)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.NamespaceName">
+            <summary>
+            This is used to get or set the namespace name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.FullTypeName">
+            <summary>
+            This is used to get the full type name including the namespace
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.TypeName">
+            <summary>
+            This is used to get or set the type name if for types and their members
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.MemberName">
+            <summary>
+            This is used to get or set the member name for type members
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.IsAutoDocumented">
+            <summary>
+            This is used to get or set whether or not the member is an auto-documented constructor or dispose
+            method.
+            </summary>
+            <value>If true and no other members are documented, the type containing the auto-documented
+            constructors and dispose methods will be excluded unless the related auto-document options are
+            enabled.</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.IsDocumented">
+            <summary>
+            This is used to get or set the documented state
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.IsExplicitlyExcluded">
+            <summary>
+            This is used to get whether or not the member is explicitly excluded via an <c>exclude</c>
+            XML comments tag.
+            </summary>
+            <remarks>Namespaces that are explicitly excluded will exclude all of their contained types even
+            if they are documented.  Types that are explicitly excluded will exclude all of their members
+            even if they are documented.  If not explicitly included, the types/members will be included if
+            documented even if their parent namespace/type is not documented.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.Members">
+            <summary>
+            This returns the documentation state of the members for namespaces and types
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.ToString">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.DocumentationState.FromApiMember(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to get the member information from a reflection information file node
+            </summary>
+            <param name="member">The reflection information file node from which to obtain the details</param>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the plug-in if not done explicitly
+            with <see cref="M:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.DocumentedEntitiesOnlyPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.IntelliSenseOnlyPlugIn">
+            <summary>
+            This plug-in class can be used to build an IntelliSense XML comments file without a related help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.IntelliSenseOnlyPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.IntelliSenseOnlyPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.IntelliSenseOnlyPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.IntelliSenseOnlyPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn">
+            <summary>
+            This plug-in class is used to add elements for the lightweight website style such as a search box and a
+            table of contents in the topics similar to the MSDN lightweight style.
+            </summary>
+            <remarks>This is a presentation style dependency plug-in and has no configurable elements.  As such, it
+            is hidden.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.ExecutionPoints">
+            <inheritdoc/>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.Dispose">
+            <inheritdoc/>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.GenerateTocRoot(System.Boolean)">
+            <summary>
+            Generate the root TOC node
+            </summary>
+            <param name="expanded">True if expanded false if not</param>
+            <returns>The root TOC node</returns>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.GenerateTocAncestor(System.Xml.Linq.XElement,System.Int32,System.Boolean)">
+            <summary>
+            Generate a TOC ancestor node
+            </summary>
+            <param name="ancestor">The TOC ancestor</param>
+            <param name="level">The level of the node</param>
+            <param name="expanded">True if expanded, false if not</param>
+            <returns>The TOC ancestor node</returns>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.GenerateTocSibling(System.Xml.Linq.XElement,System.Xml.Linq.XElement,System.Int32,System.Boolean)">
+            <summary>
+            Generate a TOC sibling node
+            </summary>
+            <param name="current">The current node</param>
+            <param name="sibling">The sibling node</param>
+            <param name="level">The level of the node</param>
+            <param name="showSiblings">True to show siblings, false to keep them hidden</param>
+            <returns>The TOC sibling node</returns>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.LightweightWebsiteStylePlugIn.GenerateTocChild(System.Xml.Linq.XElement)">
+            <summary>
+            Generate a TOC child node
+            </summary>
+            <param name="child">The child node</param>
+            <returns>The TOC child node</returns>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn">
+            <summary>
+            This plug-in class can be used to manually apply the visibility settings and API filter from the project
+            to the reflection data file.
+            </summary>
+            <remarks><note type="note">This is only necessary if the Generate Reflection Information build step is
+            suppressed or replaced by some other means.  In such cases, the visibility settings and API filter are
+            not applied unless this plug-in is used.  If the reflection information file is produced by
+            <strong>MRefBuilder.exe</strong>, there is no need to use this plug-in as it will apply the visibility
+            settings and API filter automatically to the file that it produces.</note></remarks>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.ApplyVisibilityProperties(System.String)">
+            <summary>
+            Apply the project's Visibility category properties to the given reflection information file
+            </summary>
+            <param name="reflectionInfoFile">The name of the reflection information file to use</param>
+            <remarks>This is used to remove entries from the reflection information file so that it does not
+            appear in the help file.  See the <c>Document*</c> properties in the <see cref="T:SandcastleBuilder.Utils.SandcastleProject"/>
+            class for information on the items removed.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.RemoveAttributes(System.Xml.XmlNode)">
+            <summary>
+            Remove attribute information
+            </summary>
+            <param name="apisRoot">The root APIs node</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.RemoveExplicitInterfaceImplementations(System.Xml.XmlNode)">
+            <summary>
+            Remove explicit interface implementation information
+            </summary>
+            <param name="apisRoot">The root APIs node</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.RemoveInheritedMembers(System.Xml.XmlNode)">
+            <summary>
+            Remove inherited member information from each type's element list based on the project settings
+            </summary>
+            <param name="apisRoot">The root APIs node</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.RemoveMembers(System.Xml.XmlNode,System.String,System.String)">
+            <summary>
+            Remove member information matching the specified XPath query.
+            </summary>
+            <param name="apisRoot">The root APIs node</param>
+            <param name="xpath">The XPath query used to find the members.</param>
+            <param name="memberDesc">A description of the members removed.</param>
+            <returns>The number of members to be removed</returns>
+            <remarks>Actual removal of the members is deferred.  On very large files, the XPath queries took too
+            long when removing the &lt;element&gt; members.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.ModifyProtectedInternalVisibility(System.Xml.XmlNode)">
+            <summary>
+            Change the visibility of "protected internal" members to
+            "protected".
+            </summary>
+            <param name="apisRoot">The root APIs node</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.RemoveSealedProtected(System.Xml.XmlNode)">
+            <summary>
+            Remove protected members from sealed classes.
+            </summary>
+            <param name="apisRoot">The root APIs node</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.OnExcludeElement(System.Text.RegularExpressions.Match)">
+            <summary>
+            This is used as the match evaluator for the regular expression that finds the &lt;element&gt; entries
+            to remove from the reflection information file.
+            </summary>
+            <param name="m">The match found</param>
+            <returns>The string with which to replace the match</returns>
+            <remarks>The removals are done this way as it proved to be a very slow process to remove the child
+            elements at the time they were found with an XPath query on very large files.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.ApplyManualApiFilter(SandcastleBuilder.Utils.ApiFilterCollection,System.String)">
+            <summary>
+            This is used to manually apply the specified API filter to the specified reflection information file
+            </summary>
+            <param name="filterToApply">The API filter to apply</param>
+            <param name="reflectionFilename">The reflection information file</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.ApplyMemberFilter(System.Xml.XmlNode,SandcastleBuilder.Utils.ApiFilter)">
+            <summary>
+            Apply a member filter to the specified type.
+            </summary>
+            <param name="apis">The APIs node from which to remove info</param>
+            <param name="typeFilter">The type filter to be processed</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.RemoveNamespace(System.Xml.XmlNode,System.String)">
+            <summary>
+            Remove an entire namespace and all of its members
+            </summary>
+            <param name="apis">The APIs node from which to remove info</param>
+            <param name="id">The namespace ID to remove</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ManualVisibilityApiFilterPlugIn.RemoveType(System.Xml.XmlNode,System.String)">
+            <summary>
+            Remove an entire type and all of its members
+            </summary>
+            <param name="apis">The APIs node from which to remove info</param>
+            <param name="id">The type ID to remove</param>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.MemberIdFixUpPlugIn">
+            <summary>
+            This plug-in class is used to fix up member IDs in the XML comments files due to quirks in the various
+            compilers that cause a mismatch between the member IDs in the XML comments and the reflection data.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.MemberIdFixUpPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.MemberIdFixUpPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.MemberIdFixUpPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.MemberIdFixUpPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.MemberIdMatchExpression">
+            <summary>
+            This is used to hold the member ID match expression settings
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.MemberIdMatchExpression.MatchExpression">
+            <summary>
+            The member ID expression to match
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.MemberIdMatchExpression.ReplacementValue">
+            <summary>
+            The replacement member ID value
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.MemberIdMatchExpression.MatchAsRegEx">
+            <summary>
+            Match and replace the member ID using a regular expression
+            </summary>
+            <value>True to match and replace as a regular expression, false to use literal match and replace</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.MemberIdMatchExpression.ErrorMessage">
+            <summary>
+            This read-only property returns an error message describing any issues with the settings
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.MemberIdMatchExpression.RegularExpression">
+            <summary>
+            This read-only property returns a <see cref="T:System.Text.RegularExpressions.Regex"/> for the expression if it should be matched as a
+            regular expression or null if not.
+            </summary>
+            <remarks>The regular expression is cached for future use</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.MemberIdMatchExpression.Validate">
+            <summary>
+            This is used to validate the settings
+            </summary>
+        </member>
+        <member name="E:SandcastleBuilder.PlugIns.MemberIdMatchExpression.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.MemberIdMatchExpression.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.PlugIns.MemberIdMatchExpression.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.ReferenceLinkSettings">
+            <summary>
+            This represents reference link settings for the <see cref="T:SandcastleBuilder.PlugIns.AdditionalReferenceLinksPlugIn"/>
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ReferenceLinkSettings.ReflectionFilename">
+            <summary>
+            This is used to get or set the location of the reflection file at build time
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ReferenceLinkSettings.HtmlSdkLinkType">
+            <summary>
+            This is used to get or set the HTML Help 1 SDK link type for the target
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ReferenceLinkSettings.MSHelpViewerSdkLinkType">
+            <summary>
+            This is used to get or set the MS Help Viewer SDK link type for the target
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ReferenceLinkSettings.WebsiteSdkLinkType">
+            <summary>
+            This is used to get or set the website SDK link type for the target
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ReferenceLinkSettings.HelpFileProject">
+            <summary>
+            This is used to get or set the path to the help file builder project used to generate reference link
+            information.
+            </summary>
+            <value>The help file builder project makes it simple to manage settings for the other target's
+            assemblies such as references, API filter settings, etc.</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ReferenceLinkSettings.ErrorMessage">
+            <summary>
+            This read-only property returns an error message describing any issues with the settings
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ReferenceLinkSettings.ReferenceLinkDescription">
+            <summary>
+            This read-only property returns a description of the settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ReferenceLinkSettings.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="provider">The base path provider</param>
+        </member>
+        <member name="E:SandcastleBuilder.PlugIns.ReferenceLinkSettings.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ReferenceLinkSettings.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.PlugIns.ReferenceLinkSettings.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ReferenceLinkSettings.helpFileProject_PersistablePathChanged(System.Object,System.EventArgs)">
+            <summary>
+            Update the display description when the help file project changes
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ReferenceLinkSettings.Validate">
+            <summary>
+            This is used to validate the settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ReferenceLinkSettings.FromXml(SandcastleBuilder.Utils.IBasePathProvider,System.Xml.Linq.XElement)">
+            <summary>
+            Create a reference link settings instance from an XML element containing the settings
+            </summary>
+            <param name="pathProvider">The base path provider object</param>
+            <param name="configuration">The XML element from which to obtain the settings.</param>
+            <returns>A <see cref="T:SandcastleBuilder.PlugIns.ReferenceLinkSettings"/> object containing the settings from the XML element</returns>
+            <remarks>It should contain an element called <c>target</c> with two attributes (<c>linkType</c> and
+            <c>helpFileProject</c>).</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ReferenceLinkSettings.ToXml">
+            <summary>
+            Store the reference link settings as an XML element
+            </summary>
+            <returns>Returns the XML element containing the settings</returns>
+            <remarks>The reference link settings are stored in an element called <c>target</c> with attributes
+            for each of the link types and the project name (<c>htmlSdkLinkType</c>, <c>helpViewerSdkLinkType</c>,
+            <c>websiteSdkLinkType</c>, and <c>helpFileProject</c>).</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.ScriptSharpPlugIn">
+            <summary>
+            This plug-in class is designed to modify the reflection information file produced after running
+            MRefBuilder on assemblies produced by the Script# compiler so that it is suitable for use in
+            producing a help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.ScriptSharpPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ScriptSharpPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ScriptSharpPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ScriptSharpPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ScriptSharpPlugIn.ModifyMRefBuilderConfig">
+            <summary>
+            This is used to modify the MRefBuilder.config file for use with Script#
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.ScriptSharpPlugIn.FixScriptSharpReflectionData">
+            <summary>
+            This is used to fix up the Script# elements in the reflection.org file
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.TocExcludePlugIn">
+            <summary>
+            This plug-in class can be used to exclude API members from the table of contents via the
+            <c>&lt;tocexclude /&gt;</c> XML comment tag.  The excluded items are still accessible in the help file
+            via other topic links.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.TocExcludePlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.TocExcludePlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.TocExcludePlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.TocExcludePlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.VersionBuilderPlugIn">
+            <summary>
+            This plug-in class is designed to generate version information for assemblies in the current project and
+            others related to the same product that can be merged into the current project's help file topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if the plug-in configuration is not valid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.UpdateVersionItems">
+            <summary>
+            Update the version information items in the shared builder content file
+            </summary>
+            <remarks>Remove the standard version information items from the shared content file as the version
+            builder information will take its place in the topics.  New items are added for each version of the
+            project defined in the configuration settings.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.BuildProject(SandcastleBuilder.Utils.SandcastleProject,System.String)">
+            <summary>
+            This is called to build a project
+            </summary>
+            <param name="project">The project to build</param>
+            <param name="workingPath">The working path for the project</param>
+            <returns>Returns true if successful, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.CreateVersionBuilderConfigurationFile">
+            <summary>
+            This creates the Version Builder configuration file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.Report(SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs)">
+            <summary>
+            This is called by the build process to report build progress for the reference link projects
+            </summary>
+            <param name="value">The event arguments</param>
+            <remarks>Since the build is synchronous in this plug-in, we need to implement the interface and
+            report progress synchronously as well or the final few messages can get lost and it looks like the
+            build failed.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionBuilderPlugIn.GenerateVersionInformation">
+            <summary>
+            Generate the version information
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.VersionSettings">
+            <summary>
+            This represents version settings for the <see cref="T:SandcastleBuilder.PlugIns.VersionBuilderPlugIn"/>.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionSettings.ReflectionFilename">
+            <summary>
+            This is used to get or set the location of the reflection file at build time
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionSettings.FrameworkLabel">
+            <summary>
+            This is used to get or set the framework label for the related
+            project.
+            </summary>
+            <remarks>This is used to group like versions of projects.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionSettings.Version">
+            <summary>
+            This is used to get or set the version number description for the related project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionSettings.HelpFileProject">
+            <summary>
+            This is used to get or set the path to the help file builder project used to generate version
+            information.
+            </summary>
+            <value>The help file builder project makes it simple to manage settings for the prior version's
+            assemblies such as references, API filter settings, etc.</value>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionSettings.ErrorMessage">
+            <summary>
+            This read-only property returns an error message describing any issues with the settings
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionSettings.VersionInfoDescription">
+            <summary>
+            This read-only property returns a description of the settings
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.VersionSettings.UniqueId">
+            <summary>
+            This read-only property returns a unique ID for the item
+            </summary>
+            <value>Returns a hash code of the framework label and version.  This is used rather than overriding
+            <see cref="M:System.Object.GetHashCode"/> as the WPF list box relies on an immutable hash value to track
+            elements.  Editing the framework and version values in an existing instance caused it to throw
+            duplicate key errors.</value>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionSettings.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="provider">The base path provider for the help file project property</param>
+        </member>
+        <member name="E:SandcastleBuilder.PlugIns.VersionSettings.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionSettings.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.PlugIns.VersionSettings.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionSettings.helpFileProject_PersistablePathChanged(System.Object,System.EventArgs)">
+            <summary>
+            Update the display description when the help file project changes
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionSettings.Validate">
+            <summary>
+            This is used to validate the settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionSettings.FromXml(SandcastleBuilder.Utils.IBasePathProvider,System.Xml.Linq.XElement)">
+            <summary>
+            Create a version settings instance from an XML element containing the settings
+            </summary>
+            <param name="pathProvider">The base path provider object</param>
+            <param name="configuration">The XML element from which to obtain the settings</param>
+            <returns>A <see cref="T:SandcastleBuilder.PlugIns.VersionSettings"/> object containing the settings from the XML element</returns>
+            <remarks>It should contain an element called <c>version</c> with three attributes (<c>label</c>,
+            <c>version</c> and <c>helpFileProject</c>).</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.VersionSettings.ToXml">
+            <summary>
+            Store the version settings in an XML element
+            </summary>
+            <returns>Returns the settings in an XML element</returns>
+            <remarks>The version settings are stored in an element called <c>version</c> with three attributes
+            (<c>label</c>, <c>version</c> and <c>helpFileProject</c>).</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.WildcardReferenceSettings">
+            <summary>
+            This represents wildcard reference settings for the
+            <see cref="T:SandcastleBuilder.PlugIns.WildcardReferencesPlugIn"/>.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.WildcardReferenceSettings.ReferencePath">
+            <summary>
+            This is used to get or set the path to scan for references.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.WildcardReferenceSettings.Wildcard">
+            <summary>
+            This is used to get or set the wildcard to use with the folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.WildcardReferenceSettings.Recursive">
+            <summary>
+            This is used to get or set whether or not to scan sub-folders recursively
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.WildcardReferenceSettings.ErrorMessage">
+            <summary>
+            This read-only property returns an error message describing any issues with the settings
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.WildcardReferenceSettings.ReferenceDescription">
+            <summary>
+            This returns a description of the entry suitable for display in a bound list control
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferenceSettings.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="E:SandcastleBuilder.PlugIns.WildcardReferenceSettings.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferenceSettings.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.PlugIns.WildcardReferenceSettings.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferenceSettings.referencePath_PersistablePathChanged(System.Object,System.EventArgs)">
+            <summary>
+            Update the display description when the reference path changes
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferenceSettings.Validate">
+            <summary>
+            This is used to validate the settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferenceSettings.FromXml(SandcastleBuilder.Utils.IBasePathProvider,System.Xml.Linq.XElement)">
+            <summary>
+            Create a wildcard reference settings instance from an XElement containing the settings
+            </summary>
+            <param name="pathProvider">The base path provider object</param>
+            <param name="element">The XElement from which to obtain the settings</param>
+            <returns>A <see cref="T:SandcastleBuilder.PlugIns.WildcardReferenceSettings"/> object containing the settings from the XElement</returns>
+            <remarks>It should contain an element called <c>reference</c> with three attributes (<c>path</c>,
+            <c>wildcard</c>, and <c>recurse</c>).
+            </remarks>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferenceSettings.ToXml">
+            <summary>
+            Store the wildcard reference settings as a node in the given XML element
+            </summary>
+            <returns>Returns the node to add</returns>
+            <remarks>The reference link settings are stored in an element called <c>reference</c> with three
+            attributes (<c>path</c>, <c>wildcard</c>, and <c>recurse</c>).</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.WildcardReferencesPlugIn">
+            <summary>
+            This plug-in class is designed to modify the MRefBuilder project file by adding in reference assemblies
+            matching wildcard search paths.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.WildcardReferencesPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferencesPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferencesPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.WildcardReferencesPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.PlugIns.XPathReflectionFileFilterPlugIn">
+            <summary>
+            This plug-in class is used to filter out unwanted information from the reflection information file using
+            XPath queries.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.PlugIns.XPathReflectionFileFilterPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns a collection of execution points that define when the plug-in should
+            be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.XPathReflectionFileFilterPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.XPathReflectionFileFilterPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="M:SandcastleBuilder.PlugIns.XPathReflectionFileFilterPlugIn.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the plug-in object
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/Configuration/xamlSyntax.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/Configuration/xamlSyntax.config
new file mode 100644
index 0000000000000000000000000000000000000000..87544ed30e913ac80c50da6f21d052a19c698af8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/Configuration/xamlSyntax.config
@@ -0,0 +1,99 @@
+<xamlConfiguration>
+  <!-- Classes whose subclasses (and members) do NOT get XAML syntax even though they otherwise satisfy the XAML-ness algorithm -->
+  <xamlExcludedAncestors>
+    <class api="T:System.EventArgs"/>
+    <class api="T:System.Exception"/>
+    <class api="T:System.Security.Permissions.Permission"/>
+  </xamlExcludedAncestors>
+
+  <!-- List the assemblies for which XamlGenerator generates XAML syntax or boilerplate.
+       The XAML syntax blocks for members of all other assemblies get a generic boilerplate, e.g. "Not applicable." -->
+  <xamlAssemblies>
+    <assembly name="PresentationFramework">
+      <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+        <clrNamespace name="System.Windows.Navigation"/>
+        <clrNamespace name="System.Windows.Controls"/>
+        <clrNamespace name="System.Windows.Documents"/>
+        <clrNamespace name="System.Windows.Shapes"/>
+        <clrNamespace name="System.Windows.Data"/>
+        <clrNamespace name="System.Windows"/>
+        <clrNamespace name="System.Windows.Controls.Primitives"/>
+        <clrNamespace name="System.Windows.Media.Animation"/>
+        <clrNamespace name="System.Windows.Input"/>
+      </xmlns>
+      <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
+        <clrNamespace name="System.Windows.Controls.Primitives"/>
+        <clrNamespace name="System.Windows.Controls"/>
+        <clrNamespace name="System.Windows.Documents"/>
+        <clrNamespace name="System.Windows.Shapes"/>
+        <clrNamespace name="System.Windows.Navigation"/>
+        <clrNamespace name="System.Windows.Data"/>
+        <clrNamespace name="System.Windows"/>
+        <clrNamespace name="System.Windows.Input"/>
+        <clrNamespace name="System.Windows.Media.Animation"/>
+      </xmlns>
+      <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml">
+        <clrNamespace name="System.Windows.Markup"/>
+      </xmlns>
+    </assembly>
+    <assembly name="PresentationCore">
+      <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+        <clrNamespace name="System.Windows.Media.Imaging"/>
+        <clrNamespace name="System.Windows.Input"/>
+        <clrNamespace name="System.Windows.Media"/>
+        <clrNamespace name="System.Windows.Media.Effects"/>
+        <clrNamespace name="System.Windows.Automation"/>
+        <clrNamespace name="System.Windows.Media.Media3D"/>
+        <clrNamespace name="System.Windows.Media.Animation"/>
+        <clrNamespace name="System.Windows"/>        
+        <clrNamespace name="System.Windows.Media.TextFormatting"/>
+        <clrNamespace name="System.Windows.Ink"/>
+      </xmlns>
+      <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
+        <clrNamespace name="System.Windows.Media.Imaging"/>        
+        <clrNamespace name="System.Windows.Media.Media3D"/>
+        <clrNamespace name="System.Windows.Ink"/>        
+        <clrNamespace name="System.Windows.Input"/>
+        <clrNamespace name="System.Windows.Automation"/>
+        <clrNamespace name="System.Windows.Media.TextFormatting"/>
+        <clrNamespace name="System.Windows.Media.Animation"/>
+        <clrNamespace name="System.Windows.Media"/>
+        <clrNamespace name="System.Windows"/>
+        <clrNamespace name="System.Windows.Media.Effects"/>
+      </xmlns>
+      <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml">
+        <clrNamespace name="System.Windows.Markup"/>
+      </xmlns>
+    </assembly>
+    <assembly name="WindowsBase">
+      <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+        <clrNamespace name="System.Diagnostics"/>
+        <clrNamespace name="System.Windows.Media"/>
+        <clrNamespace name="System.Windows.Input"/>
+        <clrNamespace name="System.Windows"/>
+      </xmlns>
+      <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
+        <clrNamespace name="System.Windows.Input"/>
+        <clrNamespace name="System.Windows.Media"/>
+        <clrNamespace name="System.Diagnostics"/>
+        <clrNamespace name="System.Windows"/>
+      </xmlns>
+      <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml">
+        <clrNamespace name="System.Windows.Markup"/>
+      </xmlns>
+    </assembly>
+    <assembly name="WindowsFormsIntegration">
+      <xmlns uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+        <clrNamespace name="System.Windows.Forms.Integration"/>
+      </xmlns>
+      <xmlns uri="http://schemas.microsoft.com/netfx/2007/xaml/presentation">
+        <clrNamespace name="System.Windows.Forms.Integration"/>
+      </xmlns>
+    </assembly>
+    <assembly name="PresentationFramework.Aero"/>
+    <assembly name="PresentationFramework.Luna"/>
+    <assembly name="PresentationFramework.Classic"/>
+    <assembly name="PresentationFramework.Royale"/>
+    <assembly name="ReachFramework"/>
+  </xamlAssemblies>
+</xamlConfiguration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/de-DE.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/de-DE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/de-DE.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/en-US.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/en-US.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/en-US.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/es-ES.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/es-ES.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/es-ES.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/fr-FR.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/fr-FR.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aa0c48ae56fc743d27a3ff6e56f9f559e892b6dd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/fr-FR.txt
@@ -0,0 +1,125 @@
+alors
+au
+aucuns
+aussi
+autre
+avant
+avec
+avoir
+bon
+car
+ce
+cela
+ces
+ceux
+chaque
+ci
+comme
+comment
+dans
+des
+du
+dedans
+dehors
+depuis
+deux
+devrait
+doit
+donc
+dos
+droite
+début
+elle
+elles
+en
+encore
+essai
+est
+et
+eu
+fait
+faites
+fois
+font
+force
+haut
+hors
+ici
+il
+ils
+je 	juste
+la
+le
+les
+leur
+là
+ma
+maintenant
+mais
+mes
+mine
+moins
+mon
+mot
+même
+ni
+nommés
+notre
+nous
+nouveaux
+ou
+où
+par
+parce
+parole
+pas
+personnes
+peut
+peu
+pièce
+plupart
+pour
+pourquoi
+quand
+que
+quel
+quelle
+quelles
+quels
+qui
+sa
+sans
+ses
+seulement
+si
+sien
+son
+sont
+sous
+soyez
+sujet
+sur
+ta
+tandis
+tellement
+tels
+tes
+ton
+tous
+tout
+trop
+très
+tu
+valeur
+voie
+voient
+vont
+votre
+vous
+vu
+ça
+étaient
+état
+étions
+été
+être
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/it-IT.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/it-IT.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/it-IT.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ja-JP.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ja-JP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ja-JP.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ko-KR.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ko-KR.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ko-KR.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/pt-BR.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/pt-BR.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/pt-BR.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ru-RU.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ru-RU.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1e5ac6ffdae1d098a7df5b78aa2689be6fc7bddd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/ru-RU.txt
@@ -0,0 +1,163 @@
+а
+ближний
+более
+больше
+бы
+был
+быть
+в
+в течение
+вас
+вверх
+видел
+видела
+видеть
+включает
+включать
+включают
+включая
+включен
+вниз
+внимание
+во время
+возможно
+воспользовавшись
+все
+вы
+выключен
+выполняет
+выполняя
+выпуск
+выпущенный
+где
+готово
+да
+далеко
+дальний
+данная
+данный
+делает
+делать
+делая
+для
+до
+другая
+другие
+другое
+другой
+его
+ее
+если
+есть
+затем
+здесь
+и
+из
+или
+им
+имеет
+имел
+имела
+иметь
+информация
+использовался
+использовать
+использует
+используется
+используя
+их
+к
+как
+ко
+когда
+кто
+мало
+между
+менее
+меня
+меньше
+много
+мог
+мог бы
+может
+можете
+можно
+мочь
+мы
+на
+над
+наибольший
+наименьший
+найден
+найденные
+найдено
+наконец
+нас
+не
+него
+некоторая
+некоторое
+некоторые
+некоторый
+несколько
+нет
+ни один из
+но
+о
+об
+однако
+он
+она
+они
+оно
+отключен
+очень
+перед
+по
+под
+подробные сведения
+подсказка
+поздний
+поиск
+пока
+пользуясь
+поскольку
+после
+почему
+предупреждение
+прийти
+примечание
+примечания
+про
+против
+ранний
+с
+сведения
+сделал
+со
+совет
+созданный
+среди
+средний
+стал
+так как
+также
+таким образом
+такой
+там
+те
+тогда
+только
+тут
+хотя
+чем
+через
+что
+эта
+эти
+это
+этот
+я
+является
+являюсь
+являются
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/zh-CHS.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/zh-CHS.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/zh-CHS.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/zh-CN.txt b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/zh-CN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a971c31201eec235317eea438fbdc12e71fe34aa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/Shared/StopWordList/zh-CN.txt
@@ -0,0 +1,299 @@
+a
+about
+above
+across
+after
+afterwards
+again
+against
+all
+almost
+alone
+along
+already
+also
+although
+always
+am
+among
+amongst
+amount
+an
+and
+another
+any
+anyone
+anything
+anyway
+anywhere
+are
+around
+as
+at
+back
+be
+became
+because
+become
+becomes
+becoming
+been
+before
+beforehand
+behind
+being
+below
+beside
+besides
+between
+beyond
+both
+bottom
+but
+by
+can
+cannot
+come
+con
+could
+dec
+did
+do
+does
+doing
+done
+down
+due
+during
+each
+early
+either
+else
+elsewhere
+enough
+etc
+etcetera
+even
+ever
+every
+everyone
+everything
+everywhere
+except
+far
+few
+fill
+find
+fire
+for
+former
+formerly
+found
+from
+front
+full
+further
+get
+give
+had
+has
+have
+he
+hence
+her
+here
+hereafter
+hereby
+herein
+hereupon
+hers
+herself
+him
+himself
+his
+how
+however
+i
+if
+in
+inc
+indeed
+interest
+into
+is
+it
+its
+itself
+keep
+last
+late
+later
+latter
+latterly
+least
+less
+made
+many
+may
+me
+meanwhile
+med
+might
+mine
+more
+moreover
+most
+mostly
+move
+much
+must
+myself
+name
+namely
+near
+neither
+never
+nevertheless
+next
+no
+nobody
+non
+none
+noone
+nor
+not
+note
+nothing
+now
+nowhere
+of
+off
+often
+on
+once
+only
+onto
+or
+other
+others
+otherwise
+our
+ours
+ourselves
+out
+over
+own
+per
+perhaps
+please
+pre
+pro
+put
+raise
+rather
+run
+same
+saw
+see
+seem
+seemed
+seeming
+seems
+seen
+several
+she
+should
+show
+side
+since
+sincere
+so
+some
+somehow
+someone
+something
+sometime
+sometimes
+somewhere
+still
+such
+take
+tha
+than
+that
+the
+their
+them
+themselves
+then
+thence
+there
+thereafter
+thereby
+therefore
+therein
+thereupon
+these
+they
+thick
+thin
+this
+tho
+those
+though
+through
+throughout
+thru
+thus
+thy
+tip
+to
+together
+too
+toward
+towards
+under
+until
+up
+upon
+us
+use
+very
+via
+was
+we
+well
+were
+what
+whatever
+when
+whence
+whenever
+where
+whereafter
+whereas
+whereby
+wherein
+whereupon
+wherever
+whether
+which
+while
+whither
+who
+whoever
+whole
+whom
+whose
+why
+will
+with
+within
+without
+would
+yet
+you
+your
+yours
+yourself
+yourselves
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/AspNet.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/AspNet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..43a885485d2b955826df614daaaa4954375496de
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/AspNet.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_ASP.NET">ASP.NET</item>
+	<item id="devlang_AspNet">ASP.NET</item>
+	<item id="devlang_asp">ASP.NET</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_ASP.NET">ASP.NET</item>
+	<item id="metaLang_AspNet">ASP.NET</item>
+	<item id="metaLang_asp">ASP.NET</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/CSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/CSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..49aedc568ae5d4c3270bf048b738586ee9ef137a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/CSharp.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_C#">C#</item>
+	<item id="devlang_CSharp">C#</item>
+	<item id="devlang_cs">C#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_C#">CSharp</item>
+	<item id="metaLang_CSharp">CSharp</item>
+	<item id="metaLang_cs">CSharp</item>
+
+	<!-- C# syntax section messages -->
+	<item id="UnsupportedOperator_CSharp">C# does not support this operator.</item>
+	<item id="UnsupportedVarargs_CSharp">C# does not support methods that use variable length arguments
+(<span class="code">varargs</span>).  The compiler automatically resolves calls to this method to the same method
+that uses a parameter array.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/FSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/FSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..21f669de60e5ff0fa3e671f026b3a33d5f4f8c29
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/FSharp.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_F#">F#</item>
+	<item id="devlang_FSharp">F#</item>
+	<item id="devlang_fs">F#</item>
+	<item id="devlang_fsscript">F#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_F#">FSharp</item>
+	<item id="metaLang_FSharp">FSharp</item>
+	<item id="metaLang_fs">FSharp</item>
+	<item id="metaLang_fsscript">FSharp</item>
+
+	<!-- F# syntax section messages -->
+	<item id="UnsupportedUnsafe_FSharp">F# does not support APIs that consume or return unsafe types.</item>
+	<item id="UnsupportedOperator_FSharp">F# does not support this operator.</item>
+	<item id="UnsupportedCast_FSharp">F# does not support the declaration of new casting operators.</item>
+	<item id="UnsupportedVarargs_FSharp">F# does not support methods that use variable length arguments
+(<span class="code">varargs</span>).  The compiler automatically resolves calls to this method to the same method
+that uses a parameter array.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JScript.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JScript.xml
new file mode 100644
index 0000000000000000000000000000000000000000..075c90eeb157916b6e75561273631f2aa75c439b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JScript.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_JScript">JScript</item>
+  <item id="devlang_jscript#">JScript</item>
+  <item id="devlang_jsc">JScript</item>
+  <item id="devlang_jscript.net">JScript</item>
+  <item id="devlang_kbjscript">JScript</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_JScript">JScript</item>
+  <item id="metaLang_jscript#">JScript</item>
+  <item id="metaLang_jsc">JScript</item>
+  <item id="metaLang_jscript.net">JScript</item>
+  <item id="metaLang_kbjscript">JScript</item>
+
+	<!-- JScript syntax section messages -->
+	<item id="UnsupportedUnsafe_JScript">JScript does not support APIs that consume or return unsafe types.</item>
+	<item id="UnsupportedGeneric_JScript">JScript does not support generic types or methods.</item>
+	<item id="UnsupportedExplicit_Jscript">JScript does not support explicit interface implementations.</item>
+	<item id="UnsupportedOperator_JScript">JScript does not support overloaded operators.</item>
+	<item id="UnsupportedEvent_JScript">JScript does not support events.</item>
+	<item id="UnsupportedDelegate_JScript">JScript does not support delegates.</item>
+	<item id="UnsupportedStructure_JScript">JScript supports the use of structures, but not the declaration of new ones.</item>
+	<item id="UnsupportedIndex_JScript">JScript does not support indexed properties.</item>
+	<item id="UnsupportedCast_JScript">JScript does not support the declaration of new casting operators.</item>
+	<item id="UnsupportedStaticConstructor_JScript">JScript does not support static constructors.</item>
+	<item id="UnsupportedVarargs_JScript">JScript does not support methods that use variable length arguments
+(<span class="code">varargs</span>).  The compiler automatically resolves calls to this method to the same method
+that uses a parameter array.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4ce517f66bad77021d0719a2dc6df5cec8330983
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JSharp.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_J#">J#</item>
+  <item id="devlang_JSharp">J#</item>
+  <item id="devlang_jsh">J#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_J#">VJ#</item>
+  <item id="metaLang_JSharp">VJ#</item>
+  <item id="metaLang_jsh">VJ#</item>
+
+	<!-- J# syntax section messages -->
+	<item id="UnsupportedUnsafe_JSharp">J# does not support APIs that consume or return unsafe types.</item>
+	<item id="UnsupportedGeneric_JSharp">J# supports the use of generic APIs, but not the declaration of new ones.</item>
+	<item id="UnsupportedOperator_JSharp">J# does not support overloaded operators.</item>
+	<item id="UnsupportedStaticConstructor_JSharp">J# does not support static constructors.</item>
+	<item id="UnsupportedExplicit_JSharp">J# supports the use of explicit interface implementations, but not the declaration of new ones.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JavaScript.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JavaScript.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b1f2f016be450162b8a249c5db8ab3b08cfafb48
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/JavaScript.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_JavaScript">JavaScript</item>
+  <item id="devlang_js">JavaScript</item>
+  <item id="devlang_ecmascript">JavaScript</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_JavaScript">JavaScript</item>
+  <item id="metaLang_js">JavaScript</item>
+  <item id="metaLang_ecmascript">JavaScript</item>
+
+	<!-- JavaScript (Script#) syntax section messages -->
+	<item id="UnsupportedType_ScriptSharp">This type supports the Script# infrastructure and cannot be used directly from JavaScript.</item>
+	<item id="UnsupportedUnsafe_JavaScript">JavaScript does not support APIs that consume or return unsafe types.</item>
+	<item id="UnsupportedGeneric_JavaScript">JavaScript does not support generic types or methods.</item>
+	<item id="UnsupportedExplicit_JavaScript">JavaScript does not support explicit interface implementations.</item>
+	<item id="UnsupportedOperator_JavaScript">JavaScript does not support overloaded operators.</item>
+	<item id="UnsupportedStructure_JavaScript">JavaScript supports the use of structures, but not the declaration of new ones.</item>
+	<item id="UnsupportedIndex_JavaScript">JavaScript does not support indexed properties.</item>
+	<item id="UnsupportedCast_JavaScript">JavaScript does not support the declaration of new casting operators.</item>
+
+</content>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ManagedCPlusPlus.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ManagedCPlusPlus.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0ae46cbde0f2c9ad75c0926dc9b5209b02ae7c9c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ManagedCPlusPlus.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Managed C++">C++</item>
+  <item id="devlang_CPlusPlus">C++</item>
+  <item id="devlang_ManagedCPlusPlus">C++</item>
+  <item id="devlang_cpp">C++</item>
+  <item id="devlang_cpp#">C++</item>
+  <item id="devlang_c++">C++</item>
+  <item id="devlang_kblangcpp">C++</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Managed C++">C++</item>
+  <item id="metaLang_CPlusPlus">C++</item>
+  <item id="metaLang_ManagedCPlusPlus">C++</item>
+  <item id="metaLang_cpp">C++</item>
+  <item id="metaLang_cpp#">C++</item>
+  <item id="metaLang_c++">C++</item>
+  <item id="metaLang_kblangcpp">C++</item>
+
+	<!-- C++ syntax section messages -->
+	<item id="UnsupportedOperator_ManagedCPlusPlus">Managed C++ does not support this operator.</item>
+
+</content>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/VisualBasic.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/VisualBasic.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2edc17e38976f647a0b5b98edb44338cd2b558c3
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/VisualBasic.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Visual Basic">VB</item>
+  <item id="devlang_VisualBasic">VB</item>
+  <item id="devlang_vb">VB</item>
+  <item id="devlang_vb#">VB</item>
+  <item id="devlang_vbnet">VB</item>
+  <item id="devlang_vb.net">VB</item>
+  <item id="devlang_kblangvb">VB</item>
+  <item id="devlang_VisualBasicDeclaration">VB</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Visual Basic">VB</item>
+  <item id="metaLang_VisualBasic">VB</item>
+  <item id="metaLang_vb">VB</item>
+  <item id="metaLang_vb#">VB</item>
+  <item id="metaLang_vbnet">VB</item>
+  <item id="metaLang_vb.net">VB</item>
+  <item id="metaLang_kblangvb">VB</item>
+  <item id="metaLang_VisualBasicDeclaration">VB</item>
+
+	<!-- VB syntax section messages -->
+	<item id="UnsupportedUnsafe_VisualBasic">Visual Basic does not support APIs that consume or return unsafe types.</item>
+	<item id="UnsupportedOperator_VisualBasic">Visual Basic does not support this operator.</item>
+	<item id="UnsupportedStaticClass_VisualBasic">Visual Basic does not support the declaration of static classes.</item>
+	<item id="UnsupportedVarargs_VisualBasic">Visual Basic does not support methods that use variable length arguments
+(<span class="code">varargs</span>).  The compiler automatically resolves calls to this method to the same method
+that uses a parameter array.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/VisualBasicUsage.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/VisualBasicUsage.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a4143986c1dd4ccdbc2d5eeea1d400ace3b9c73c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/VisualBasicUsage.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Visual Basic Usage">VB Usage</item>
+  <item id="devlang_VisualBasicUsage">VB Usage</item>
+  <item id="devlang_vbusage">VB Usage</item>
+  <item id="devlang_vbnetusage">VB Usage</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Visual Basic Usage">VB</item>
+  <item id="metaLang_VisualBasicUsage">VB</item>
+  <item id="metaLang_vbusage">VB</item>
+  <item id="metaLang_vbnetusage">VB</item>
+
+	<!-- VB usage syntax section messages -->
+	<item id="UnsupportedUnsafe_VisualBasicUsage">Visual Basic does not support APIs that consume or return unsafe types.</item>
+	<item id="UnsupportedOperator_VisualBasicUsage">Visual Basic does not support this operator.</item>
+	<item id="UnsupportedStaticClass_VisualBasicUsage">You do not need to declare an instance of a static class in order to access its members.</item>
+	<item id="UnsupportedVarargs_VisualBasicUsage">Visual Basic does not support methods that use variable length arguments
+(<span class="code">varargs</span>).  The compiler automatically resolves calls to this method to the same method
+that uses a parameter array.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/XAML.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/XAML.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e35d11a0509cc0f9d9e756b714750a2c7467aecd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/XAML.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_XAML Usage">XAML</item>
+  <item id="devlang_XamlUsage">XAML</item>
+  <item id="devlang_xaml">XAML</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_XAML Usage">XAML</item>
+  <item id="metaLang_XamlUsage">XAML</item>
+  <item id="metaLang_xaml">XAML</item>
+
+	<!-- XAML syntax section messages -->
+	<item id="classXamlSyntax_abstract">This class is abstract; see <strong><include item="familyTitle"/></strong> for derived non-abstract classes usable in XAML.</item>
+	<item id="classXamlSyntax_excludedSubClass">This managed class is not typically used in XAML.</item>
+	<item id="classXamlSyntax_noDefaultCtor">You cannot directly create an instance of this class in XAML.</item>
+	<item id="classXamlSyntax_noDefaultCtorWithTypeConverter"></item>  <!-- This item intentionally empty, per spec -->
+
+	<item id="structXamlSyntax_nonXaml">You cannot use this managed structure in XAML.</item>
+	<item id="structXamlSyntax_attributeUsage"></item>  <!-- This item intentionally empty, per spec -->
+
+	<item id="eventXamlSyntax_parentIsExcludedSubClass">Members of this class are either not typically used in XAML, or cannot be used in XAML.</item>
+	<item id="eventXamlSyntax_noXamlSyntaxForInterfaceMembers">You cannot use this event in XAML.</item>
+	<item id="eventXamlSyntax_nonXamlParent">You cannot use this event in XAML.</item>
+	<item id="eventXamlSyntax_notPublic">You cannot use this event in XAML.</item>
+	<item id="eventXamlSyntax_abstract">You cannot use this event in XAML.</item>
+	<item id="eventXamlSyntax_nonXaml">You cannot use this event in XAML.</item>  <!-- This id is not currently output by SyntaxBuilder -->
+
+	<item id="propertyXamlSyntax_parentIsExcludedSubClass">Members of this class are either not typically used in XAML, or cannot be used in XAML.</item>
+	<item id="propertyXamlSyntax_noXamlSyntaxForInterfaceMembers">You cannot set this property in XAML.</item>
+	<item id="propertyXamlSyntax_nonXamlParent">You cannot set this property in XAML.</item>
+	<item id="propertyXamlSyntax_notPublic">You cannot set this property in XAML.</item>
+	<item id="propertyXamlSyntax_abstract">You cannot set this property in XAML.</item>
+	<item id="propertyXamlSyntax_readOnly">You cannot set this property in XAML.</item>
+	<item id="propertyXamlSyntax_abstractType">For XAML information, see the {0} type.</item>
+	<item id="propertyXamlSyntax_nonXaml">You cannot set this property in XAML.</item>
+
+	<!-- Syntax used with all enumerations in XAML assemblies -->
+	<item id="enumerationOverviewXamlSyntax">&lt;<em>object property</em>="<em>enumerationMemberName</em>" .../&gt;</item>
+
+	<!-- Boilerplate used with all method, field, etc. in XAML assemblies -->
+	<item id="constructorOverviewXamlSyntax">You cannot use constructors in XAML.</item>
+	<item id="methodOverviewXamlSyntax">You cannot use methods in XAML.</item>
+	<item id="fieldOverviewXamlSyntax">You cannot use fields in XAML.</item>
+	<item id="delegateOverviewXamlSyntax">In XAML, you can use delegates but you cannot define your own.</item>
+	<item id="interfaceOverviewXamlSyntax">Interfaces cannot be used directly in XAML; see types that implement this interface.</item>
+
+	<!-- Boilerplate used with all types and members in all non-XAML assemblies -->
+	<item id="nonXamlAssemblyBoilerplate">Not applicable.</item>
+
+	<!-- XAML section headings -->
+	<item id="xamlAttributeUsageHeading">XAML Attribute Usage</item>
+	<item id="xamlObjectElementUsageHeading">XAML Object Element Usage</item>
+	<item id="xamlImplicitCollectionUsageHeading">XAML Implicit Collection Usage</item>
+	<item id="xamlPropertyElementUsageHeading">XAML Property Element Usage</item>
+	<item id="xamlContentElementUsageHeading">XAML Content Element Usage</item>
+	<item id="xamlValuesSectionHeading">XAML Values</item>
+	<item id="xamlSyntaxBoilerplateHeading">XAML</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/XSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/XSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d9e4d7b9d3a8be32a10e414fb324c01d9266306d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/XSharp.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_X#">X#</item>
+	<item id="devlang_XSharp">X#</item>
+	<item id="devlang_xs">X#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_X#">XSharp</item>
+	<item id="metaLang_XSharp">XSharp</item>
+	<item id="metaLang_xs">XSharp</item>
+
+	<!-- X# syntax section messages -->
+	<item id="UnsupportedOperator_XSharp">X# does not support this operator.</item>
+	<item id="UnsupportedVarargs_XSharp">X# does not support methods that use variable length arguments
+(<span class="code">varargs</span>).  The compiler automatically resolves calls to this method to the same method
+that uses a parameter array.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/AspNet.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/AspNet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90839f89f542988726aa8c60f089cc54613b42ff
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/AspNet.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_ASP.NET">ASP.NET</item>
+	<item id="devlang_AspNet">ASP.NET</item>
+	<item id="devlang_asp">ASP.NET</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_ASP.NET">ASP.NET</item>
+	<item id="metaLang_AspNet">ASP.NET</item>
+	<item id="metaLang_asp">ASP.NET</item>
+</content>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/CSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/CSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..171b1f4ac9b68cf7751bdc846f564e38f4e2db64
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/CSharp.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_C#">C#</item>
+	<item id="devlang_CSharp">C#</item>
+	<item id="devlang_cs">C#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_C#">CSharp</item>
+	<item id="metaLang_CSharp">CSharp</item>
+	<item id="metaLang_cs">CSharp</item>
+
+	<!-- C# syntax section messages -->
+	<item id="UnsupportedOperator_CSharp">C# unterstützt diesen Operator nicht.</item>
+	<item id="UnsupportedVarargs_CSharp">C# unterstützt keine Methoden mit variabler Argumentanzahl
+(<span class="code">varargs</span>).  Der Compiler löst automatisch alle Aufrufe dieser Methode zur selben
+Methode mit Parameter-Array auf.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/FSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/FSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c8c4ba113c7101fa4dc892b349e8a0ea6afde11
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/FSharp.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_F#">F#</item>
+	<item id="devlang_FSharp">F#</item>
+	<item id="devlang_fs">F#</item>
+	<item id="devlang_fsscript">F#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_F#">FSharp</item>
+	<item id="metaLang_FSharp">FSharp</item>
+	<item id="metaLang_fs">FSharp</item>
+	<item id="metaLang_fsscript">FSharp</item>
+
+	<!-- F# syntax section messages -->
+	<item id="UnsupportedUnsafe_FSharp">F# unterstützt keine APIs, die unsichere Typen akzeptieren oder zurückgeben.</item>
+	<item id="UnsupportedOperator_FSharp">F# unterstützt diesen Operator nicht.</item>
+	<item id="UnsupportedCast_FSharp">F# unterstützt keine Deklaration von neuen Cast-Operatoren.</item>
+	<item id="UnsupportedVarargs_FSharp">F# unterstützt keine Methoden mit variabler Argumentanzahl
+(<span class="code">varargs</span>).  Der Compiler löst automatisch alle Aufrufe dieser Methode zur selben
+Methode mit Parameter-Array auf.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JScript.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JScript.xml
new file mode 100644
index 0000000000000000000000000000000000000000..963604b9fbfdacd445a18e2a95075f394504720a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JScript.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_JScript">JScript</item>
+  <item id="devlang_jscript#">JScript</item>
+  <item id="devlang_jsc">JScript</item>
+  <item id="devlang_jscript.net">JScript</item>
+  <item id="devlang_kbjscript">JScript</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_JScript">JScript</item>
+  <item id="metaLang_jscript#">JScript</item>
+  <item id="metaLang_jsc">JScript</item>
+  <item id="metaLang_jscript.net">JScript</item>
+  <item id="metaLang_kbjscript">JScript</item>
+
+	<!-- JScript syntax section messages -->
+	<item id="UnsupportedUnsafe_JScript">JScript unterstützt keine APIs, die unsichere Typen akzeptieren oder zurückgeben.</item>
+	<item id="UnsupportedGeneric_JScript">JScript unterstützt keine generischen Typen oder Methoden.</item>
+	<item id="UnsupportedExplicit_Jscript">JScript unterstützt keine expliziten Schnittstellenimplementierungen.</item>
+	<item id="UnsupportedOperator_JScript">JScript unterstützt keine überladenen Operatoren.</item>
+	<item id="UnsupportedEvent_JScript">JScript unterstützt keine Ereignisse.</item>
+	<item id="UnsupportedDelegate_JScript">JScript unterstützt keine Delegaten.</item>
+	<item id="UnsupportedStructure_JScript">JScript unterstützt den Gebrauch von Strukturen aber nicht die Definition von neuen Strukturen.</item>
+	<item id="UnsupportedIndex_JScript">JScript unterstützt keine indizierten Eigenschaften.</item>
+	<item id="UnsupportedCast_JScript">JScript unterstützt keine Deklaration von neuen Cast-Operatoren.</item>
+	<item id="UnsupportedStaticConstructor_JScript">JScript unterstützt keine statischen Konstruktoren.</item>
+	<item id="UnsupportedVarargs_JScript">JScript unterstützt keine Methoden mit variabler Argumentanzahl
+(<span class="code">varargs</span>).  Der Compiler löst automatisch alle Aufrufe dieser Methode zur selben
+Methode mit Parameter-Array auf.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0b27329c9e6c21c6db460255b17ce4dae4bb566c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JSharp.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_J#">J#</item>
+  <item id="devlang_JSharp">J#</item>
+  <item id="devlang_jsh">J#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_J#">VJ#</item>
+  <item id="metaLang_JSharp">VJ#</item>
+  <item id="metaLang_jsh">VJ#</item>
+
+	<!-- J# syntax section messages -->
+	<item id="UnsupportedUnsafe_JSharp">J# unterstützt keine APIs, die unsichere Typen akzeptieren oder zurückgeben.</item>
+	<item id="UnsupportedGeneric_JSharp">J# unterstützt den Gebrauch von generischen APIs aber nicht die Deklaration von neuen APIs.</item>
+	<item id="UnsupportedOperator_JSharp">J# unterstützt keine überladenen Operatoren.</item>
+	<item id="UnsupportedStaticConstructor_JSharp">J# unterstützt keine statischen Konstruktoren.</item>
+	<item id="UnsupportedExplicit_JSharp">J# unterstützt den Gebrauch von expliziten Schnittstellenimplementierungen aber nicht die Deklaration von neuen Schnittstellenimplementierungen.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JavaScript.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JavaScript.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e2e562f03308f24aaadc47ca1afc8bf1533a5440
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/JavaScript.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_JavaScript">JavaScript</item>
+  <item id="devlang_js">JavaScript</item>
+  <item id="devlang_ecmascript">JavaScript</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_JavaScript">JavaScript</item>
+  <item id="metaLang_js">JavaScript</item>
+  <item id="metaLang_ecmascript">JavaScript</item>
+
+	<!-- JavaScript (Script#) syntax section messages -->
+	<item id="UnsupportedType_ScriptSharp">Dieser Typ unterstützt die Script# Infrastruktur und kann von JavaScript nicht direkt verwendet werden.</item>
+	<item id="UnsupportedUnsafe_JavaScript">JavaScript unterstützt keine APIs, die unsichere Typen akzeptieren oder zurückgeben.</item>
+	<item id="UnsupportedGeneric_JavaScript">JavaScript unterstützt keine generischen Typen oder Methoden.</item>
+	<item id="UnsupportedExplicit_JavaScript">JavaScript unterstützt keine expliziten Schnittstellenimplementierungen.</item>
+	<item id="UnsupportedOperator_JavaScript">JavaScript unterstützt keine überladenen Operatoren.</item>
+	<item id="UnsupportedStructure_JavaScript">JavaScript unterstützt den Gebrauch von Strukturen aber nicht die Definition von neuen Strukturen.</item>
+	<item id="UnsupportedIndex_JavaScript">JavaScript unterstützt keine indizierten Eigenschaften.</item>
+	<item id="UnsupportedCast_JavaScript">JavaScript unterstützt keine Deklaration von neuen Cast-Operatoren.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/ManagedCPlusPlus.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/ManagedCPlusPlus.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5b5b727a651ae2df7ddb13554e149d54091eee64
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/ManagedCPlusPlus.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Managed C++">C++</item>
+  <item id="devlang_CPlusPlus">C++</item>
+  <item id="devlang_ManagedCPlusPlus">C++</item>
+  <item id="devlang_cpp">C++</item>
+  <item id="devlang_cpp#">C++</item>
+  <item id="devlang_c++">C++</item>
+  <item id="devlang_kblangcpp">C++</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Managed C++">C++</item>
+  <item id="metaLang_CPlusPlus">C++</item>
+  <item id="metaLang_ManagedCPlusPlus">C++</item>
+  <item id="metaLang_cpp">C++</item>
+  <item id="metaLang_cpp#">C++</item>
+  <item id="metaLang_c++">C++</item>
+  <item id="metaLang_kblangcpp">C++</item>
+
+	<!-- C++ syntax section messages -->
+	<item id="UnsupportedOperator_ManagedCPlusPlus">Managed C++ unterstützt diesen Operator nicht.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/VisualBasic.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/VisualBasic.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7b341ecdd551930a0bf8776f60b1c8531afe9772
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/VisualBasic.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Visual Basic">VB</item>
+  <item id="devlang_VisualBasic">VB</item>
+  <item id="devlang_vb">VB</item>
+  <item id="devlang_vb#">VB</item>
+  <item id="devlang_vbnet">VB</item>
+  <item id="devlang_vb.net">VB</item>
+  <item id="devlang_kblangvb">VB</item>
+  <item id="devlang_VisualBasicDeclaration">VB</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Visual Basic">VB</item>
+  <item id="metaLang_VisualBasic">VB</item>
+  <item id="metaLang_vb">VB</item>
+  <item id="metaLang_vb#">VB</item>
+  <item id="metaLang_vbnet">VB</item>
+  <item id="metaLang_vb.net">VB</item>
+  <item id="metaLang_kblangvb">VB</item>
+  <item id="metaLang_VisualBasicDeclaration">VB</item>
+
+	<!-- VB syntax section messages -->
+	<item id="UnsupportedUnsafe_VisualBasic">Visual Basic unterstützt keine APIs, die unsichere Typen akzeptieren oder zurückgeben.</item>
+	<item id="UnsupportedOperator_VisualBasic">Visual Basic unterstützt diesen Operator nicht.</item>
+	<item id="UnsupportedStaticClass_VisualBasic">Visual Basic unterstützt keine Deklaration von statischen Klassen.</item>
+	<item id="UnsupportedVarargs_VisualBasic">Visual Basic unterstützt keine Methoden mit variabler Argumentanzahl
+(<span class="code">varargs</span>).  Der Compiler löst automatisch alle Aufrufe dieser Methode zur selben
+Methode mit Parameter-Array auf.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/VisualBasicUsage.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/VisualBasicUsage.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a31c29d82285d4377bf82e29a4916729dfa1740f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/VisualBasicUsage.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Visual Basic Usage">VB Usage</item>
+  <item id="devlang_VisualBasicUsage">VB Usage</item>
+  <item id="devlang_vbusage">VB Usage</item>
+  <item id="devlang_vbnetusage">VB Usage</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Visual Basic Usage">VB</item>
+  <item id="metaLang_VisualBasicUsage">VB</item>
+  <item id="metaLang_vbusage">VB</item>
+  <item id="metaLang_vbnetusage">VB</item>
+
+	<!-- VB usage syntax section messages -->
+	<item id="UnsupportedUnsafe_VisualBasicUsage">Visual Basic unterstützt keine APIs, die unsichere Typen akzeptieren oder zurückgeben.</item>
+	<item id="UnsupportedOperator_VisualBasicUsage">Visual Basic unterstützt diesen Operator nicht.</item>
+	<item id="UnsupportedStaticClass_VisualBasicUsage">Sie müssen keine Instanz einer statischen Klasse deklarieren, um auf seine Member zugreifen zu können.</item>
+	<item id="UnsupportedVarargs_VisualBasicUsage">Visual Basic unterstützt keine Methoden mit variabler Argumentanzahl
+(<span class="code">varargs</span>).  Der Compiler löst automatisch alle Aufrufe dieser Methode zur selben
+Methode mit Parameter-Array auf.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/XAML.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/XAML.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e48b4611da534fd3a578a6fe6987672691a71e26
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/de-DE/XAML.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_XAML Usage">XAML</item>
+  <item id="devlang_XamlUsage">XAML</item>
+  <item id="devlang_xaml">XAML</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_XAML Usage">XAML</item>
+  <item id="metaLang_XamlUsage">XAML</item>
+  <item id="metaLang_xaml">XAML</item>
+
+	<!-- XAML syntax section messages -->
+	<item id="classXamlSyntax_abstract">Diese Klasse ist abstrakt; siehe <strong><include item="familyTitle"/></strong> für abgeleitete, nicht abstrakte Klassen, verwendbar in XAML.</item>
+	<item id="classXamlSyntax_excludedSubClass">Diese verwaltete Klasse wird typischerweise nicht in XAML verwendet.</item>
+	<item id="classXamlSyntax_noDefaultCtor">Sie können im XAML nicht direkt eine Instanz dieser Klasse erzeugen.</item>
+	<item id="classXamlSyntax_noDefaultCtorWithTypeConverter"></item>  <!-- This item intentionally empty, per spec -->
+
+	<item id="structXamlSyntax_nonXaml">Sie können diese verwaltete Struktur in XAML nicht verwenden.</item>
+	<item id="structXamlSyntax_attributeUsage"></item>  <!-- This item intentionally empty, per spec -->
+
+	<item id="eventXamlSyntax_parentIsExcludedSubClass">Member dieser Klasse werden typischerweise in XAML nicht verwendet oder können nicht verwendet werden.</item>
+	<item id="eventXamlSyntax_noXamlSyntaxForInterfaceMembers">Sie können dieses Ereignis in XAML nicht verwenden.</item>
+	<item id="eventXamlSyntax_nonXamlParent">Sie können dieses Ereignis in XAML nicht verwenden.</item>
+	<item id="eventXamlSyntax_notPublic">Sie können dieses Ereignis in XAML nicht verwenden.</item>
+	<item id="eventXamlSyntax_abstract">Sie können dieses Ereignis in XAML nicht verwenden.</item>
+	<item id="eventXamlSyntax_nonXaml">Sie können dieses Ereignis in XAML nicht verwenden.</item>  <!-- This id is not currently output by SyntaxBuilder -->
+
+	<item id="propertyXamlSyntax_parentIsExcludedSubClass">Member dieser Klasse werden typischerweise in XAML nicht verwendet oder können nicht verwendet werden.</item>
+	<item id="propertyXamlSyntax_noXamlSyntaxForInterfaceMembers">Sie können diese Eigenschaft in XAML nicht setzen.</item>
+	<item id="propertyXamlSyntax_nonXamlParent">Sie können diese Eigenschaft in XAML nicht setzen.</item>
+	<item id="propertyXamlSyntax_notPublic">Sie können diese Eigenschaft in XAML nicht setzen.</item>
+	<item id="propertyXamlSyntax_abstract">Sie können diese Eigenschaft in XAML nicht setzen.</item>
+	<item id="propertyXamlSyntax_readOnly">Sie können diese Eigenschaft in XAML nicht setzen.</item>
+	<item id="propertyXamlSyntax_abstractType">Für Informationen über XAML siehe Typ {0}.</item>
+	<item id="propertyXamlSyntax_nonXaml">Sie können diese Eigenschaft in XAML nicht setzen.</item>
+
+	<!-- Syntax used with all enumerations in XAML assemblies -->
+	<item id="enumerationOverviewXamlSyntax">&lt;<em>object property</em>="<em>enumerationMemberName</em>" .../&gt;</item>
+
+	<!-- Boilerplate used with all method, field, etc. in XAML assemblies -->
+	<item id="constructorOverviewXamlSyntax">Sie können in XAML keine Konstruktoren verwenden.</item>
+	<item id="methodOverviewXamlSyntax">Sie können in XAML keine Methoden verwenden.</item>
+	<item id="fieldOverviewXamlSyntax">Sie können in XAML keine Felder verwenden</item>
+	<item id="delegateOverviewXamlSyntax">In XAML können Sie Delegaten verwenden aber keine neuen definieren.</item>
+	<item id="interfaceOverviewXamlSyntax">Schnittstellen können in XAML nicht direkt verwendet werden; siehe Typen, die diese Schnittstelle implementieren.</item>
+
+	<!-- Boilerplate used with all types and members in all non-XAML assemblies -->
+	<item id="nonXamlAssemblyBoilerplate">Nicht anwendbar.</item>
+
+	<!-- XAML section headings -->
+	<item id="xamlAttributeUsageHeading">XAML Attribut Gebrauch</item>
+	<item id="xamlObjectElementUsageHeading">XAML Object Element Gebrauch</item>
+	<item id="xamlImplicitCollectionUsageHeading">XAML Implicit Collection Gebrauch</item>
+	<item id="xamlPropertyElementUsageHeading">XAML Property Element Gebrauch</item>
+	<item id="xamlContentElementUsageHeading">XAML Content Element Gebrauch</item>
+	<item id="xamlValuesSectionHeading">XAML Values</item>
+	<item id="xamlSyntaxBoilerplateHeading">XAML</item>
+  
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/AspNet.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/AspNet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..43a885485d2b955826df614daaaa4954375496de
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/AspNet.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_ASP.NET">ASP.NET</item>
+	<item id="devlang_AspNet">ASP.NET</item>
+	<item id="devlang_asp">ASP.NET</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_ASP.NET">ASP.NET</item>
+	<item id="metaLang_AspNet">ASP.NET</item>
+	<item id="metaLang_asp">ASP.NET</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/CSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/CSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fe2a97ece49d13d70e415668ae2c371691efd60c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/CSharp.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_C#">C#</item>
+	<item id="devlang_CSharp">C#</item>
+	<item id="devlang_cs">C#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_C#">CSharp</item>
+	<item id="metaLang_CSharp">CSharp</item>
+	<item id="metaLang_cs">CSharp</item>
+
+	<!-- C# syntax section messages -->
+	<item id="UnsupportedOperator_CSharp">C# не поддерживает этот оператор.</item>
+	<item id="UnsupportedVarargs_CSharp">C# не поддерживает методы, использующие аргументы переменной длины
+(<span class="code">varargs</span>).  Компилятор автоматически разрешает вызовы этого метода в такой же метод,
+использующий массив параметров.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/FSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/FSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ead99f453bf73af8591ff64b2d9592782c207aee
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/FSharp.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+	<item id="devlang_F#">F#</item>
+	<item id="devlang_FSharp">F#</item>
+	<item id="devlang_fs">F#</item>
+	<item id="devlang_fsscript">F#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+	<item id="metaLang_F#">FSharp</item>
+	<item id="metaLang_FSharp">FSharp</item>
+	<item id="metaLang_fs">FSharp</item>
+	<item id="metaLang_fsscript">FSharp</item>
+
+	<!-- F# syntax section messages -->
+	<item id="UnsupportedUnsafe_FSharp">F# не поддерживает интерфейсы API, которые принимают или возвращают небезопасные типы.</item>
+	<item id="UnsupportedOperator_FSharp">F# не поддерживает этот оператор.</item>
+	<item id="UnsupportedCast_FSharp">F# не поддерживает объявление новых операторов приведения.</item>
+	<item id="UnsupportedVarargs_FSharp">F# не поддерживает методы, использующие аргументы переменной длины
+(<span class="code">varargs</span>).  Компилятор автоматически разрешает вызовы этого метода в такой же метод,
+использующий массив параметров.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JScript.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JScript.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b883c2b278701782df2d41d04b29a7f21f596150
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JScript.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_JScript">JScript</item>
+  <item id="devlang_jscript#">JScript</item>
+  <item id="devlang_jsc">JScript</item>
+  <item id="devlang_jscript.net">JScript</item>
+  <item id="devlang_kbjscript">JScript</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_JScript">JScript</item>
+  <item id="metaLang_jscript#">JScript</item>
+  <item id="metaLang_jsc">JScript</item>
+  <item id="metaLang_jscript.net">JScript</item>
+  <item id="metaLang_kbjscript">JScript</item>
+
+	<!-- JScript syntax section messages -->
+	<item id="UnsupportedUnsafe_JScript">JScript не поддерживает интерфейсы API, которые принимают или возвращают небезопасные типы.</item>
+	<item id="UnsupportedGeneric_JScript">JScript не поддерживает универсальные типы и методы.</item>
+	<item id="UnsupportedExplicit_Jscript">JScript не поддерживает явные реализации интерфейса.</item>
+	<item id="UnsupportedOperator_JScript">JScript не поддерживает перегруженные операторы.</item>
+	<item id="UnsupportedEvent_JScript">JScript не поддерживает события.</item>
+	<item id="UnsupportedDelegate_JScript">JScript не поддерживает делегаты.</item>
+	<item id="UnsupportedStructure_JScript">JScript поддерживает использование структур, но не объявление новых структур.</item>
+	<item id="UnsupportedIndex_JScript">JScript не поддерживает индексированные свойства.</item>
+	<item id="UnsupportedCast_JScript">JScript не поддерживает объявление новых операторов приведения.</item>
+	<item id="UnsupportedStaticConstructor_JScript">JScript не поддерживает статические конструкторы.</item>
+	<item id="UnsupportedVarargs_JScript">JScript не поддерживает методы, использующие аргументы переменной длины
+(<span class="code">varargs</span>).  Компилятор автоматически разрешает вызовы этого метода в такой же метод,
+использующий массив параметров.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JSharp.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JSharp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..93bdef801e932e1984f042947df36774be6ffab1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JSharp.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_J#">J#</item>
+  <item id="devlang_JSharp">J#</item>
+  <item id="devlang_jsh">J#</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_J#">VJ#</item>
+  <item id="metaLang_JSharp">VJ#</item>
+  <item id="metaLang_jsh">VJ#</item>
+
+	<!-- J# syntax section messages -->
+	<item id="UnsupportedUnsafe_JSharp">J# не поддерживает интерфейсы API, которые принимают или возвращают небезопасные типы.</item>
+	<item id="UnsupportedGeneric_JSharp">J# позволяет использовать универсальные типы, но не позволяет объявлять новые.</item>
+	<item id="UnsupportedOperator_JSharp">J# не поддерживает перегруженные операторы.</item>
+	<item id="UnsupportedStaticConstructor_JSharp">J# не поддерживает статические конструкторы.</item>
+	<item id="UnsupportedExplicit_JSharp">J# позволяет использовать явные реализации интерфейсов, но не позволяет объявлять новые.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JavaScript.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JavaScript.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f300f74dd86a4a2498feeec68e4352f513dec527
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/JavaScript.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_JavaScript">JavaScript</item>
+  <item id="devlang_js">JavaScript</item>
+  <item id="devlang_ecmascript">JavaScript</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_JavaScript">JavaScript</item>
+  <item id="metaLang_js">JavaScript</item>
+  <item id="metaLang_ecmascript">JavaScript</item>
+
+	<!-- JavaScript (Script#) syntax section messages -->
+	<item id="UnsupportedType_ScriptSharp">Этот тип относится к Script# инфраструктуре и не может быть использован непосредственно в JavaScript.</item>
+	<item id="UnsupportedUnsafe_JavaScript">JavaScript не поддерживает интерфейсы API, которые принимают или возвращают небезопасные типы.</item>
+	<item id="UnsupportedGeneric_JavaScript">JavaScript не поддерживает универсальные типы и методы.</item>
+	<item id="UnsupportedExplicit_JavaScript">JavaScript не поддерживает явные реализации интерфейса.</item>
+	<item id="UnsupportedOperator_JavaScript">JavaScript не поддерживает перегруженные операторы.</item>
+	<item id="UnsupportedStructure_JavaScript">JavaScript поддерживает использование структур, но не объявление новых структур.</item>
+	<item id="UnsupportedIndex_JavaScript">JavaScript не поддерживает индексированные свойства.</item>
+	<item id="UnsupportedCast_JavaScript">JavaScript не поддерживает объявление новых операторов приведения.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/ManagedCPlusPlus.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/ManagedCPlusPlus.xml
new file mode 100644
index 0000000000000000000000000000000000000000..41eff77475eb53643cc0d51d15393358379ef3a5
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/ManagedCPlusPlus.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Managed C++">C++</item>
+  <item id="devlang_CPlusPlus">C++</item>
+  <item id="devlang_ManagedCPlusPlus">C++</item>
+  <item id="devlang_cpp">C++</item>
+  <item id="devlang_cpp#">C++</item>
+  <item id="devlang_c++">C++</item>
+  <item id="devlang_kblangcpp">C++</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Managed C++">C++</item>
+  <item id="metaLang_CPlusPlus">C++</item>
+  <item id="metaLang_ManagedCPlusPlus">C++</item>
+  <item id="metaLang_cpp">C++</item>
+  <item id="metaLang_cpp#">C++</item>
+  <item id="metaLang_c++">C++</item>
+  <item id="metaLang_kblangcpp">C++</item>
+
+	<!-- C++ syntax section messages -->
+	<item id="UnsupportedOperator_ManagedCPlusPlus">Управляемый C++ не поддерживает этот оператор.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/VisualBasic.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/VisualBasic.xml
new file mode 100644
index 0000000000000000000000000000000000000000..47c0020c4002d5d700bbf45c5eada8239b3c96f2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/VisualBasic.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Visual Basic">VB</item>
+  <item id="devlang_VisualBasic">VB</item>
+  <item id="devlang_vb">VB</item>
+  <item id="devlang_vb#">VB</item>
+  <item id="devlang_vbnet">VB</item>
+  <item id="devlang_vb.net">VB</item>
+  <item id="devlang_kblangvb">VB</item>
+  <item id="devlang_VisualBasicDeclaration">VB</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Visual Basic">VB</item>
+  <item id="metaLang_VisualBasic">VB</item>
+  <item id="metaLang_vb">VB</item>
+  <item id="metaLang_vb#">VB</item>
+  <item id="metaLang_vbnet">VB</item>
+  <item id="metaLang_vb.net">VB</item>
+  <item id="metaLang_kblangvb">VB</item>
+  <item id="metaLang_VisualBasicDeclaration">VB</item>
+
+	<!-- VB syntax section messages -->
+	<item id="UnsupportedUnsafe_VisualBasic">Visual Basic не поддерживает интерфейсы API, которые принимают или возвращают небезопасные типы.</item>
+	<item id="UnsupportedOperator_VisualBasic">Visual Basic не поддерживает этот оператор.</item>
+	<item id="UnsupportedStaticClass_VisualBasic">Visual Basic не поддерживает объявление статических классов.</item>
+	<item id="UnsupportedVarargs_VisualBasic">Visual Basic не поддерживает методы, использующие аргументы переменной длины
+(<span class="code">varargs</span>).  Компилятор автоматически разрешает вызовы этого метода в такой же метод,
+использующий массив параметров.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/VisualBasicUsage.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/VisualBasicUsage.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d4fdf52a6807eff9c34fd1e5a6cda716a7701ac8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/VisualBasicUsage.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_Visual Basic Usage">VB Использование</item>
+  <item id="devlang_VisualBasicUsage">VB Использование</item>
+  <item id="devlang_vbusage">VB Использование</item>
+  <item id="devlang_vbnetusage">VB Использование</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_Visual Basic Usage">VB</item>
+  <item id="metaLang_VisualBasicUsage">VB</item>
+  <item id="metaLang_vbusage">VB</item>
+  <item id="metaLang_vbnetusage">VB</item>
+
+	<!-- VB usage syntax section messages -->
+	<item id="UnsupportedUnsafe_VisualBasicUsage">Visual Basic не поддерживает интерфейсы API, которые принимают или возвращают небезопасные типы.</item>
+	<item id="UnsupportedOperator_VisualBasicUsage">Visual Basic не поддерживает этот оператор.</item>
+	<item id="UnsupportedStaticClass_VisualBasicUsage">Вам не нужно создавать экземпляр статического класса для доступа к его членам.</item>
+	<item id="UnsupportedVarargs_VisualBasicUsage">Visual Basic не поддерживает методы, использующие аргументы переменной длины
+(<span class="code">varargs</span>).  Компилятор автоматически разрешает вызовы этого метода в такой же метод,
+использующий массив параметров.</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/XAML.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/XAML.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a9b359e3f20a9494aa5c96c23ecb5383b29cd15a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/SyntaxContent/ru-RU/XAML.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Alex Sherman, verifications Sergey Zhurikhin -->
+
+	<!-- Syntax section and code example title.  Add one for the primary ID and one for each alternate ID. -->
+  <item id="devlang_XAML Usage">XAML</item>
+  <item id="devlang_XamlUsage">XAML</item>
+  <item id="devlang_xaml">XAML</item>
+
+	<!-- Development language metadata values.  Add one for the primary ID and one for each alternate ID.  -->
+  <item id="metaLang_XAML Usage">XAML</item>
+  <item id="metaLang_XamlUsage">XAML</item>
+  <item id="metaLang_xaml">XAML</item>
+
+	<!-- XAML syntax section messages -->
+	<item id="classXamlSyntax_abstract">Этот класс является абстрактным; сведения о производных неабстрактных классах, используемых в языке XAML, см. в <strong><include item="familyTitle"/></strong>.</item>
+	<item id="classXamlSyntax_excludedSubClass">Этот управляемый класс обычно не используется в XAML.</item>
+	<item id="classXamlSyntax_noDefaultCtor">Невозможно непосредственно создать экземпляр этого класса в языке XAML.</item>
+	<item id="classXamlSyntax_noDefaultCtorWithTypeConverter"></item>  <!-- This item intentionally empty, per spec -->
+
+	<item id="structXamlSyntax_nonXaml">Вы не можете использовать эту управляемую структуру в XAML.</item>
+	<item id="structXamlSyntax_attributeUsage"></item>  <!-- This item intentionally empty, per spec -->
+
+	<item id="eventXamlSyntax_parentIsExcludedSubClass">Члены этого класса или обычно не используются в XAML, или не могут быть использованы в XAML.</item>
+	<item id="eventXamlSyntax_noXamlSyntaxForInterfaceMembers">Вы не можете использовать это событие в XAML.</item>
+	<item id="eventXamlSyntax_nonXamlParent">Вы не можете использовать это событие в XAML.</item>
+	<item id="eventXamlSyntax_notPublic">Вы не можете использовать это событие в XAML.</item>
+	<item id="eventXamlSyntax_abstract">Вы не можете использовать это событие в XAML.</item>
+	<item id="eventXamlSyntax_nonXaml">Вы не можете использовать это событие в XAML.</item>  <!-- This id is not currently output by SyntaxBuilder -->
+
+	<item id="propertyXamlSyntax_parentIsExcludedSubClass">Члены этого класса или обычно не используются в XAML, или не могут быть использованы в XAML.</item>
+	<item id="propertyXamlSyntax_noXamlSyntaxForInterfaceMembers">Вы не можете установить значения для этого свойства в XAML.</item>
+	<item id="propertyXamlSyntax_nonXamlParent">Вы не можете установить значения для этого свойства в XAML.</item>
+	<item id="propertyXamlSyntax_notPublic">Вы не можете установить значения для этого свойства в XAML.</item>
+	<item id="propertyXamlSyntax_abstract">Вы не можете установить значения для этого свойства в XAML.</item>
+	<item id="propertyXamlSyntax_readOnly">Вы не можете установить значения для этого свойства в XAML.</item>
+	<item id="propertyXamlSyntax_abstractType">Для получения информации об использовании в XAML см. тип {0}.</item>
+	<item id="propertyXamlSyntax_nonXaml">Вы не можете установить значения для этого свойства в XAML.</item>
+
+	<!-- Syntax used with all enumerations in XAML assemblies -->
+	<item id="enumerationOverviewXamlSyntax">&lt;объект <em>свойство</em>="<em>одно_из_значений_перечисления</em>" .../&gt;</item>
+
+	<!-- Boilerplate used with all method, field, etc. in XAML assemblies -->
+	<item id="constructorOverviewXamlSyntax">Вы не можете использовать конструкторы в XAML.</item>
+	<item id="methodOverviewXamlSyntax">Вы не можете использовать методы в XAML.</item>
+	<item id="fieldOverviewXamlSyntax">Вы не можете использовать поля в XAML.</item>
+	<item id="delegateOverviewXamlSyntax">В XAML, вы можете использовать существующие делегаты, но не можете объявлять новые.</item>
+	<item id="interfaceOverviewXamlSyntax">Интерфейсы не могут быть непосредственно использованы в XAML; см. типы, реализующие этот интерфейс.</item>
+
+	<!-- Boilerplate used with all types and members in all non-XAML assemblies -->
+	<item id="nonXamlAssemblyBoilerplate">Не применимо.</item>
+
+	<!-- XAML section headings -->
+	<item id="xamlAttributeUsageHeading">Использование атрибута XAML</item>
+	<item id="xamlObjectElementUsageHeading">Использование элемента объекта XAML</item>
+	<item id="xamlImplicitCollectionUsageHeading">Неявное использование коллекции XAML</item>
+	<item id="xamlPropertyElementUsageHeading">Использование элемента свойства XAML</item>
+	<item id="xamlContentElementUsageHeading">Использование элемента объекта XAML</item>
+	<item id="xamlValuesSectionHeading">Значения XAML</item>
+	<item id="xamlSyntaxBoilerplateHeading">XAML</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Buffers.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Buffers.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f2d83c51416e90dbc31154545b16df3b3f7a7909
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Buffers.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Drawing.Common.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Drawing.Common.dll
new file mode 100644
index 0000000000000000000000000000000000000000..649e45bcb7681689a0cc9781410812c728d4d150
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Drawing.Common.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Memory.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Memory.dll
new file mode 100644
index 0000000000000000000000000000000000000000..5d1947056f1c1dd2d48561cf721f615bb8dc0d63
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Memory.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Numerics.Vectors.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Numerics.Vectors.dll
new file mode 100644
index 0000000000000000000000000000000000000000..08659724d4f8534ee97a543e93dd6d3c702fcd15
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Numerics.Vectors.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Runtime.CompilerServices.Unsafe.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000000000000000000000000000000000000..1908d925a3162b60ec13b3f4d54f605dc8d1dc87
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Text.Encodings.Web.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Text.Encodings.Web.dll
new file mode 100644
index 0000000000000000000000000000000000000000..8599b3949ae2f5cf8148f88616d89df35ebad22b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Text.Encodings.Web.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Text.Json.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Text.Json.dll
new file mode 100644
index 0000000000000000000000000000000000000000..8c53363a81844f7177e1b591aa0e89af40901f89
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Text.Json.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Threading.Tasks.Extensions.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000000000000000000000000000000000000..eeec92852705946904d0e2fa0443d454075781f5
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.Threading.Tasks.Extensions.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.ValueTuple.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.ValueTuple.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4ce28fdeac6da139573ed0ff356c2df510692cee
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/System.ValueTuple.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Configuration/BuildAssembler.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Configuration/BuildAssembler.config
new file mode 100644
index 0000000000000000000000000000000000000000..c7e3ccace19d75042bddfaed7576874de6551fe8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Configuration/BuildAssembler.config
@@ -0,0 +1,706 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration verbosity="{@BuildAssemblerVerbosity}">
+	<dduetools>
+		<builder>
+			<componentLocations>
+				{@ComponentLocations}
+			</componentLocations>
+
+			<components>
+				<component id="Switch Component">
+					<switch value="string(/document/@type)" />
+
+					<case value="MAML">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\skeleton_conceptual.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in the topic content-->
+						<component id="Copy From Files Component">
+							<copy base=".\ddueXml" file="concat($key,'.xml')" source="/topic" target="/document" />
+						</component>
+
+						<!-- Resolve tokens -->
+						<component id="Shared Content Component">
+							<context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+							<content file="HelpFileBuilderTokens.tokens" />
+							{@TokenFiles}
+							<replace elements="/*//ddue:token" item="string(.)" />
+						</component>
+
+						<!-- Copy in metadata attributes -->
+						<component id="Copy From Index Component">
+							<index name="metadata" value="/metadata/topic" key="@id">
+								<data files="_ContentMetadata_.xml" />
+							</index>
+							<copy name="metadata" source="*" target="/document/metadata" />
+						</component>
+
+						<!-- Resolve code snippets -->
+						<component id="Example Component">
+							{@CodeSnippetsFiles}
+							<colors language="VisualBasic">
+								<color pattern="^\s*'[^\r\n]*" class="comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="keyword" />
+							</colors>
+							<colors language="CSharp">
+								<color pattern="/\*(.|\n)+?\*/" class="comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="//[^\r\n]*" class="comment" />
+								<color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(vield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="keyword" />
+							</colors>
+							<colors language="ManagedCPlusPlus">
+								<color pattern="/\*(.|\n)+?\*/" class="comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="//[^\r\n]*" class="comment" />
+								<color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="keyword" />
+							</colors>
+							<colors language="FSharp">
+								<color pattern="\(\*(.|\n)+?\*\)" class="comment" />"
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="//[^\r\n]*" class="comment" />
+								<color pattern="\b((abstract)|(and)|(as)|(asr)|(assert)|(atomic)|(base)|(begin)|(break)|(checked)|(class)|(component)|(const)|(constraint)|(constructor)|(continue)|(default)|(delegate)|(do)|(done)|(downcast)|(downto)|(eager)|(elif)|(else)|(end)|(event)|(exception)|(extern)|(external)|(false)|(finally)|(fixed)|(for)|(fun)|(function)|(functor)|(global)|(if)|(in)|(include)|(inherit)|(inline)|(interface)|(internal)|(land)|(lazy)|(let)|(lor)|(lsl)|(lsr)|(lxor)|(match)|(member)|(method)|(mixin)|(mod)|(module)|(mutable)|(namespace)|(new)|(null)|(object)|(of)|(open)|(or)|(override)|(parallel)|(private)|(process)|(protected)|(public)|(pure)|(rec)|(return)|(sealed)|(sig)|(static)|(struct)|(tailcall)|(then)|(to)|(trait)|(true)|(try)|(type)|(upcast)|(use)|(val)|(virtual)|(void)|(volatile)|(when)|(while)|(with)|(yield))\b" class="keyword" />
+							</colors>
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+							 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+							 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+							 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+							 Attributes:
+									Language syntax configuration file (required)
+									XSLT style sheet file (required)
+									CSS style sheet file (required)
+									Script file (required)
+									Disabled (optional, leading whitespace normalization only)
+									Default language (optional)
+									Enable line numbering (optional)
+									Enable outlining (optional)
+									Keep XML comment "see" tags within the code (optional)
+									Tab size override (optional, 0 = Use syntax file setting)
+									Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight.xsl" stylesheet="{@CoreComponentsFolder}Colorizer\highlight.css"
+									scriptFile="{@CoreComponentsFolder}Colorizer\highlight.js" disabled="{@DisableCodeBlockComponent}"
+									language="cs" numberLines="false" outlining="false" keepSeeTags="false" tabSize="0"
+									defaultTitle="true" />
+						</component>
+
+						<!-- Generate syntax -->
+						<component id="Syntax Component">
+							<!-- This element is not relevant to conceptual builds -->
+							<syntax input="/document/reference" output="/document/syntax" />
+							<!-- The list of syntax generators to use -->
+							<generators>
+								{@SyntaxFilters}
+							</generators>
+							<!-- Group snippets for languages in the syntax generator set within this element -->
+							<containerElement name="codeSnippetGroup" addNoExampleTabs="true" includeOnSingleSnippets="false"
+								groupingEnabled="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\main_conceptual.xsl">
+								<argument key="metadata" value="true" />
+								<argument key="languages">
+									{@SyntaxFiltersDropDown}
+								</argument>
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- Multi-format output component.  This must wrap the component set unique to each output file format. -->
+						<component id="Multi-format Output Component">
+							<!-- This defines the formats to generate -->
+							<build formats="{@HelpFileFormat}" />
+
+							<!-- This defines the set of components for HTML Help 1 files -->
+							<helpOutput format="HtmlHelp1">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="../styles/branding-Help1.css" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}conceptual_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve art links -->
+								<component id="Resolve Art Links Component">
+									<targets input="Media" baseOutput=".\Output\HtmlHelp1" outputPath="string('media')" link="../media"
+										map="_MediaContent_.xml" />
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@HtmlSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\HtmlHelp1\html" path="concat($key,'.htm')" indent="{@IndentHtml}"
+										omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Help1 MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for MS Help Viewer files -->
+							<helpOutput format="MSHelpViewer">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="styles/branding-HelpViewer.css" />
+									{@SearchResultsDisplayVersion}
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<!-- Override the paths for MS Help Viewer -->
+									<content file="{@ResourceItemsFolder}shared_content_mshc.xml" />
+									<content file="{@ResourceItemsFolder}conceptual_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve art links -->
+								<component id="Resolve Art Links Component">
+									<targets input="Media" baseOutput=".\Output\MSHelpViewer" outputPath="string('media')" link="media"
+										map="_MediaContent_.xml" />
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Id" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@MSHelpViewerSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Id" id="ProjectTargets" />
+								</component>
+
+								<!-- Add Microsoft Help Viewer metadata -->
+								<component id="Microsoft Help Viewer Metadata Component">
+									<data topic-version="{@TopicVersion}" toc-file="_ConceptualTOC_.xml"
+										toc-parent="{@TocParentId}" toc-parent-version="{@TocParentVersion}" locale="{@Locale}" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\MSHelpViewer\html" path="concat($key,'.htm')" indent="{@IndentHtml}"
+										omit-xml-declaration="false" add-xhtml-namespace="true"
+										groupId="MSHelpViewer MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for websites -->
+							<helpOutput format="Website">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+									<script name="../scripts/clipboard.min.js" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}conceptual_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									<content file="WebsiteContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve art links -->
+								<component id="Resolve Art Links Component">
+									<targets input="Media" baseOutput=".\Output\Website" outputPath="string('media')" link="../media"
+										map="_MediaContent_.xml" />
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\Website\html" path="concat($key,'.htm')" indent="{@IndentHtml}"
+										omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Website MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+						</component>
+					</case>
+
+					<case value="API">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\skeleton.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in reflection data -->
+						<component id="Copy From Index Component">
+							<index name="reflection" value="/reflection/apis/api" key="@id" cache="15">
+								<data base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml" duplicateWarning="false">
+									{@ReferenceLinkNamespaceFiles}
+								</data>
+								<data files="reflection.xml" />
+							</index>
+							<copy name="reflection" source="*" target="/document/reference" />
+						</component>
+
+						<!-- Copy in container data -->
+						<component id="Copy From Index Component">
+							<copy name="reflection" key="string(/document/reference/containers/namespace/@api)"
+								source="*[not(local-name()='elements')]" target="/document/reference/containers/namespace" />
+						</component>
+
+						<component id="For Each Component">
+							<variable expression="/document/reference/containers//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="topicdata|apidata|typedata|family|templates|attributes"
+										target="/document/reference/containers//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in explicitInterfaceImplemented reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in extension method template/type data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element[@source='extension']/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in parameter data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/parameters/parameter//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in templates type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/templates//type[@api=$key]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/templates//type[@api=$key and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in return type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/returns//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/returns//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in event handler type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/eventhandler/type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/eventhandler/type[@api=$key]"/>
+								</component>
+							</components>
+						</component>
+
+						<!-- Generate syntax -->
+						<component id="Syntax Component">
+							<!-- The input element and the output element. -->
+							<syntax input="/document/reference" output="/document/syntax" />
+							<!-- The list of syntax generators to use -->
+							<generators>
+								{@SyntaxFilters}
+							</generators>
+							<!-- Group snippets for languages in the syntax generator set within this element -->
+							<containerElement name="codeSnippetGroup" addNoExampleTabs="true" includeOnSingleSnippets="false"
+								groupingEnabled="true" />
+						</component>
+
+						<!-- Copy in comments -->
+						<component id="Copy From Index Component">
+							<index name="comments" value="/doc/members/member" key="@name" cache="30">
+								{@FrameworkCommentList}
+								{@CommentFileList}
+							</index>
+							<copy name="comments" source="*" target="/document/comments" />
+							<!-- Propagate the parent type's preliminary element to the members too if present -->
+							<copy name="comments" key="string(/document/reference/containers/type/@api)"
+								source="preliminary" target="/document/comments" />
+						</component>
+
+						<!-- Copy in reflection data and comments for members -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element/@api" />
+							<components>
+								<component id="If Then Component">
+									<if condition="not(/document/reference/elements//element[@api=$key]/apidata)" />
+									<then>
+										<component id="Copy From Index Component">
+											<copy name="reflection" source="*[not(self::elements)]"
+												target="/document/reference/elements//element[@api=$key]" />
+										</component>
+									</then>
+								</component>
+								<component id="Copy From Index Component">
+									<copy name="comments" source="summary|overloads|example"
+										target="/document/reference/elements//element[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in comments for the member's declaring type. -->
+						<component id="Copy From Index Component">
+							<copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary"
+								target="/document/reference/containers" />
+						</component>
+
+						<!-- Show missing documentation component configuration.  This must appear before the TransformComponent. -->
+						<component id="Show Missing Documentation Component">
+							<!-- All elements are optional. -->
+
+							<!-- Auto-document constructors (true by default) -->
+							<AutoDocumentConstructors value="{@AutoDocumentConstructors}" />
+
+							<!-- Auto-document dispose methods (true by default) -->
+							<AutoDocumentDisposeMethods value="{@AutoDocumentDisposeMethods}" />
+
+							<!-- Show missing param tags (true by default) -->
+							<ShowMissingParams value="{@ShowMissingParams}" />
+
+							<!-- Show missing typeparam tags (true by default) -->
+							<ShowMissingTypeParams value="{@ShowMissingTypeParams}" />
+
+							<!-- Show missing remarks tags (false by default) -->
+							<ShowMissingRemarks value="{@ShowMissingRemarks}" />
+
+							<!-- Show missing returns tags (true by default) -->
+							<ShowMissingReturns value="{@ShowMissingReturns}" />
+
+							<!-- Show missing summary tags (true by default) -->
+							<ShowMissingSummaries value="{@ShowMissingSummaries}" />
+
+							<!-- Show missing value tags (false by default) -->
+							<ShowMissingValues value="{@ShowMissingValues}" />
+
+							<!-- Show missing namespace comments (true by default) -->
+							<ShowMissingNamespaces value="{@ShowMissingNamespaces}" />
+
+							<!-- Show missing include targets (true by default) -->
+							<ShowMissingIncludeTargets value="{@ShowMissingIncludeTargets}" />
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+								 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+								 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+								 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+								 Attributes:
+										Language syntax configuration file (required)
+										XSLT style sheet file (required)
+										CSS style sheet file (required)
+										Script file (required)
+										Disabled (optional, leading whitespace normalization only)
+										Default language (optional)
+										Enable line numbering (optional)
+										Enable outlining (optional)
+										Keep XML comment "see" tags within the code (optional)
+										Tab size override (optional, 0 = Use syntax file setting)
+										Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight.xsl" stylesheet="{@CoreComponentsFolder}Colorizer\highlight.css"
+									scriptFile="{@CoreComponentsFolder}Colorizer\highlight.js" disabled="{@DisableCodeBlockComponent}"
+									language="cs" numberLines="false" outlining="false" keepSeeTags="false" tabSize="0"
+									defaultTitle="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\main_sandcastle.xsl">
+								<argument key="metadata" value="true" />
+								<argument key="languages">
+									{@SyntaxFiltersDropDown}
+								</argument>
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- Multi-format output component.  This must wrap the component set unique to each output file format. -->
+						<component id="Multi-format Output Component">
+							<!-- This defines the formats to generate -->
+							<build formats="{@HelpFileFormat}" />
+
+							<!-- This defines the set of components for HTML Help 1 files -->
+							<helpOutput format="HtmlHelp1">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="../styles/branding-Help1.css" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}reference_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@HtmlSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\HtmlHelp1\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')"
+										indent="{@IndentHtml}" omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Help1 API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for MS Help Viewer files -->
+							<helpOutput format="MSHelpViewer">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="styles/branding-HelpViewer.css" />
+									{@SearchResultsDisplayVersion}
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<!-- Override the paths for MS Help Viewer -->
+									<content file="{@ResourceItemsFolder}shared_content_mshc.xml" />
+									<content file="{@ResourceItemsFolder}reference_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Id"/>
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@MSHelpViewerSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Id" id="ProjectTargets" />
+								</component>
+
+								<!-- Add MSHC metadata -->
+								<component id="Microsoft Help Viewer Metadata Component">
+									<data topic-version="{@TopicVersion}" toc-file="toc.xml"
+										toc-parent="{@ApiTocParentId}" toc-parent-version="{@TocParentVersion}" locale="{@Locale}" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\MSHelpViewer\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')"
+										indent="{@IndentHtml}" omit-xml-declaration="false" add-xhtml-namespace="true"
+										groupId="MSHelpViewer API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for websites -->
+							<helpOutput format="Website">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+									<script name="../scripts/clipboard.min.js" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}reference_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									<content file="WebsiteContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\Website\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')"
+										indent="{@IndentHtml}" omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Website API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+						</component>
+					</case>
+				</component>
+			</components>
+
+		</builder>
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..395ea3620b4e59fd32d24b74c7d5bdf9a32c2a09
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">In This Section</item>
+	<item id="title_buildInstructions">Compiling the Code</item>
+	<item id="title_nextSteps">Next Steps</item>
+	<item id="title_requirements">Requirements</item>
+	<item id="title_relatedSections">Related Sections</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_returnValue">Return Value</item>
+  <item id="title_attributesAndElements">Attributes and Elements</item>
+	<item id="title_attributes">Attributes</item>
+	<item id="title_childElement">Child Elements</item>
+	<item id="title_parentElement">Parent Elements</item>
+	<item id="title_elementInformation">Element Information</item>
+  <item id="title_textValue">Text Value</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+  <item id="title_prerequisites">Prerequisites</item>
+  <item id="title_robustProgramming">Robust Programming</item>
+	<item id="title_securitySection">Security</item>
+	<item id="title_externalResources">External Resources</item>
+	<item id="title_demonstrates">Demonstrates</item>
+  <item id="title_appliesTo">Applies To</item>
+	<item id="title_conclusion">Conclusion</item>
+  <item id="title_background">Background</item>
+	<item id="title_whatsNew">What's New</item>
+  <item id="title_reference">Reference</item>
+  <item id="title_errorMessage">Error Message</item>
+  <item id="title_example">Example</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">This topic contains the following sections:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">This section contains the following subsections:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. All rights reserved.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">See Also:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..17cc3d1cf368f9b85ad8377fcae26eb92d9e1c35
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/conceptual_content.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">In diesem Abschnitt</item>
+	<item id="title_buildInstructions">Code-Kompilierung</item>
+	<item id="title_nextSteps">Nächste Schritte</item>
+	<item id="title_requirements">Voraussetzungen</item>
+	<item id="title_relatedSections">Verwandte Abschnitte</item>
+	<item id="title_relatedTopics">Siehe auch</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameter</item>
+	<item id="title_returnValue">Rückgabewert</item>
+  <item id="title_attributesAndElements">Attribute und Elemente</item>
+	<item id="title_attributes">Attribute</item>
+	<item id="title_childElement">Kindelemente</item>
+	<item id="title_parentElement">Elternelemente</item>
+	<item id="title_elementInformation">Elementinformation</item>
+  <item id="title_textValue">Textwert</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+  <item id="title_prerequisites">Voraussetzungen</item>
+  <item id="title_robustProgramming">Robuste Programmierung</item>
+	<item id="title_securitySection">Sicherheit</item>
+	<item id="title_externalResources">Externe Ressourcen</item>
+	<item id="title_demonstrates">Zeigt</item>
+  <item id="title_appliesTo">Trifft zu auf</item>
+	<item id="title_conclusion">Schlussfolgerung</item>
+  <item id="title_background">Hintergrund</item>
+	<item id="title_whatsNew">Was ist neu</item>
+  <item id="title_reference">Referenz</item>
+  <item id="title_errorMessage">Fehlermeldung</item>
+  <item id="title_example">Beispiel</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">Dieses Thema enthält die folgenden Abschnitte:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">Dieser Abschnitt enthält die folgenden Unterabschnitte:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. Alle Rechte vorbehalten.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">Verwandte Themen:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c6431cf7116b39f3143cb7554d767eec8a699450
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+  <!-- note text -->
+  <item id="notDocumented">Diese API ist nicht dokumentiert.</item>
+  <item id="preliminaryText">Diese API-Dokumentation befindet sich im Entwurf und kann sich noch ändern.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">Product</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">Produkt Klassenbibliothek</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namensräume</referenceLink></item>
+  <item id="definedBy">(Definiert von {0}.)</item>
+	<item id="inheritedFrom">(Vererbt von {0}.)</item>
+	<item id="overridesMember">(Ãœberschreibt {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Modul: {1})</item>
+ 
+  <item id="derivedClasses">Abgeleitete Klassen</item>
+  <item id="explicitInterfaceImplementation">Explizite Schnittstellenimplementierungen</item>
+  <item id="returnValue">Rückgabewert</item>
+  <item id="propertyValue">Eigenschaftswert</item>
+  <item id="fieldValue">Feldwert</item>
+  <item id="example">Beispiel</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Namensräume</item>
+	<item id="topicTitle_namespace">{0} Namensraum</item>
+	<item id="topicTitle_namespaceGroup">{0} Namensräume</item>
+	<item id="topicTitle_class">{0} Klasse</item>
+	<item id="topicTitle_structure">{0} Struktur</item>
+	<item id="topicTitle_interface">{0} Schnittstelle</item>
+	<item id="topicTitle_derivedTypeList">{0} Abgeleitete Klassen</item>
+  
+	<item id="topicTitle_delegate">{0} Delegat</item>
+	<item id="topicTitle_enumeration">{0} Enumeration</item>
+	<item id="topicTitle_field">{0} Feld</item>
+	<item id="topicTitle_method">{0} Methode {1}</item>
+	<item id="topicTitle_constructor">{0} Konstruktor {1}</item>
+	<item id="topicTitle_property">{0} Eigenschaft {1}</item>
+	<item id="topicTitle_event">{0} Ereignis</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} Operator {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Konvertierung {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Konvertierungsoperatoren</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Angefügte Eigenschaften</item>
+	<item id="topicTitle_attachedEvent">{0} Angefügte Ereignisse</item>
+
+  <item id="generic"> generisch</item>
+  <item id="topicTitle_generic_class">{0} Generische Klasse</item>
+  <item id="topicTitle_generic_structure">{0} Generische Struktur</item>
+  <item id="topicTitle_generic_interface">{0} Generische Schnittstelle</item>
+  <item id="topicTitle_generic_delegate">{0} Generischer Delegat</item>
+  <item id="topicTitle_generic_method">{0} Generische Methode {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} Felder</item>
+	<item id="topicTitle_methods">{0} Methoden</item>
+	<item id="topicTitle_enumMembers">Member</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operatoren</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operatoren and Typenkonvertierungen</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Typenkonvertierungen</item>
+  
+	<item id="topicTitle_constructors">{0} Konstruktoren</item>
+	<item id="topicTitle_properties">{0} Eigenschaften</item>
+	<item id="topicTitle_events">{0} Ereignisse</item>
+	<item id="topicTitle_attachedProperties">{0} Angefügte Eigenschaften</item>
+ 	<item id="topicTitle_attachedEvents">{0} Angefügte Ereignisse</item>
+	<item id="topicTitle_members">{0} Member</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">Namensräume</item>
+  <item id="indexEntry_namespace">{0} Namensraum</item>
+  <item id="indexEntry_class">{0} Klasse</item>
+	<item id="indexEntry_structure">{0} Struktur</item>
+	<item id="indexEntry_interface">{0} Schnittstelle</item>
+	<item id="indexEntry_delegate">{0} Delegat</item>
+	<item id="indexEntry_enumeration">{0} Enumeration</item>
+  <item id="indexEntry_enumerationMember">{0} Enumerationsmember</item>
+  <item id="indexEntry_members">{0}, Alle Member</item>
+  <item id="indexEntry_methods">{0}, Methoden</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, Operatoren</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, Operationen und Typkonvertierungen</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, Typkonvertierungen</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} Konvertierungen</item>
+  <item id="indexEntry_properties">{0}, Eigenschaften</item>
+  <item id="indexEntry_fields">{0}, Felder</item>
+  <item id="indexEntry_events">{0}, Ereignisse</item>
+  <item id="indexEntry_attachedProperties">{0}, Angefügte Eigenschaften</item>
+  <item id="indexEntry_attachedEvents">{0}, Angefügte Ereignisse</item>
+	<item id="indexEntry_constructors">{0}, Konstruktoren</item>
+	<item id="indexEntry_constructor">{0}, Konstruktor</item>
+	<item id="indexEntry_constructorType">{0} Konstruktor</item>
+  <item id="indexEntry_method">{0} Methode</item>
+	<item id="indexEntry_property">{0} Eigenschaft</item>
+	<item id="indexEntry_event">{0} Ereignis</item>
+	<item id="indexEntry_field">{0} Feld</item>
+	<item id="indexEntry_operator">{0} Operator</item>
+	<item id="indexEntry_attachedProperty">{0} Angefügte Eigenschaften</item>
+	<item id="indexEntry_attachedEvent">{0} Angefügte Ereignisse</item>
+	<item id="indexEntry_methodExplicit">{0} Explizit implementierte Methode</item>
+	<item id="indexEntry_propertyExplicit">{0} Explizit implementierte Eigenschaft</item>
+	<item id="indexEntry_eventExplicit">{0} Explizit implementiertes Ereignis</item>
+	<item id="indexEntry_fieldExplicit">{0} Explizit implementiertes Feld</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Syntax</item>
+	<item id="title_templates">Typenparameter</item>
+	<item id="title_parameters">Parameter</item>
+	<item id="title_value">Wert</item>
+	<item id="title_delegateValue">Rückgabewert</item>
+	<item id="title_methodValue">Rückgabewert</item>
+	<item id="title_propertyValue">Eigenschaftswert</item>
+	<item id="title_fieldValue">Feldwert</item>
+	<item id="title_implements">Implementiert</item>
+	<item id="title_examples">Beispiele</item>
+	<item id="title_threadSafety">Threadsicherheit</item>
+	<item id="title_permissions">.NET Framework Security</item>
+	<item id="title_namespaces">Namensräume</item>
+	<item id="title_types">Typen</item>
+	<item id="title_family">Vererbungshierarchie</item>
+	<item id="title_versions">Versionsinformation</item>
+	<item id="title_platforms">Plattformen</item>
+	<item id="title_relatedTopics">Siehe auch</item>
+	<item id="title_extensionUsage">Verwendungshinweise</item>
+	<item id="text_extensionUsage">In Visual Basic und C# können Sie diese Methode als Instanzmethode eines beliebigen Objektes vom Typ {0} aufrufen. Wenn Sie die Instanzmethodensyntax beim Methodenaufruf anwenden, lassen Sie den ersten Parameter weg. Für weitere Informationen siehe <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (Visual Basic)</a> or <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Erweiterungsmethoden (C# Programmierhandbuch)</a>.</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Namensraum</item>
+	<item id="header_namespaceDescription">Beschreibung</item>
+	<item id="header_typeIcon">Icon</item>
+  <item id="header_className">Klasse</item>
+  <item id="header_structureName">Struktur</item>
+  <item id="header_interfaceName">Schnittstelle</item>
+  <item id="header_delegateName">Delegat</item>
+  <item id="header_enumerationName">Enumeration</item>
+  
+	<item id="header_typeName">Name</item>
+	<item id="header_typeDescription">Beschreibung</item>
+	<item id="header_memberIcon">Icon</item>
+	<item id="header_memberName">Membername</item>
+	<item id="header_memberValue">Wert</item>
+	<item id="header_memberDescription">Beschreibung</item>
+	<item id="header_eventType">Ereignistyp</item>
+	<item id="header_eventReason">Grund</item>
+	<item id="header_exceptionName">Ausnahme</item>
+	<item id="header_exceptionCondition">Bedingung</item>
+	<item id="header_permissionName">Berechtigung</item>
+	<item id="header_permissionDescription">Beschreibung</item>
+  <item id="header_requiresName">Benötigt</item>
+  <item id="header_ensuresName">Garantiert</item>
+  <item id="header_ensuresOnThrowName">Garantiert beim Werfen</item>
+  <item id="header_invariantsName">Invarianten</item>
+
+	<item id="header_revHistoryDate">Date</item>
+	<item id="header_revHistoryVersion">Version</item>
+	<item id="header_revHistoryDescription">Description</item>
+
+  <!-- member list table titles -->
+	<item id="tableTitle_class">Klassen</item>
+	<item id="tableTitle_structure">Strukturen</item>
+	<item id="tableTitle_interface">Schnittstellen</item>
+	<item id="tableTitle_delegate">Delegat</item>
+	<item id="tableTitle_enumeration">Enumerationen</item>
+  <item id="tableTitle_constructor">Konstruktoren</item>
+  <item id="tableTitle_method">Methoden</item>
+  <item id="tableTitle_operator">Operatoren</item>
+  <item id="tableTitle_field">Felder</item>
+  <item id="tableTitle_property">Eigenschaften</item>
+  <item id="tableTitle_event">Ereignisse</item>
+  <item id="tableTitle_attachedEvent">Angefügte Ereignisse</item>
+  <item id="tableTitle_attachedProperty">Angefügte Eigenschaften</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Explizite&#160;Schnittstellen&#160;implementierungen</item>
+	<item id="tableTitle_overloadMembers">Liste&#160;der&#160;Ãœberladungen</item>
+  <item id="tableTitle_extensionMethod">Erweiterungsmethoden</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Threadsicherheit</item>
+  <item id="boilerplate_threadSafety">Jeder öffentliche <include item="devlang_staticKeyword"/> Member dieses Typs ist threadsicher. Instanzmember sind nicht generell threadsicher.</item>
+
+  <item id="text_staticThreadSafe">Statische Member dieses Typs sind threadsicher. </item>
+  <item id="text_staticNotThreadSafe">Statische Member dieses Typs sind nicht threadsicher. </item>
+  <item id="text_instanceThreadSafe">Instanzmember dieses Typs sind threadsicher. </item>
+  <item id="text_instanceNotThreadSafe">Instanzmember dieses Typs sind nicht threadsicher. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Der {0} generische Typ exponiert die folgenden Member.</item>
+  <item id="exposedMembersTableText">Der {0} Typ exponiert die folgenden Member.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Abhängigkeitseigenschaftsinformation</item>
+  <item id="routedEventInfoHeading">Weitergeleitete Ereignisinformation</item>
+  <item id="mrefTaskMoreCodeHeading">Mehr Code</item>
+
+  <item id="Overloaded">Ãœberladen. </item>	
+  <item id="defaultNamespace">( Standardnamensraum )</item>
+  
+  <item id="typeLink">Typ:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> Typparameter von {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtection Attribut. </item>
+	<item id="boilerplate_hostProtectionAttribute">Das <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> Attribut des Typs oder Members hat den folgenden <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> Eigenschaftswert: {1}. Das <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> hat keine Auswirkung auf Desktop Applikationen (die typischerweise durch Doppelklick auf ein Icon, durch Eingabe eines Befehls oder einer URL in einem Browser gestartet werden). Für mehr Information dazu siehe <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> class or <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server Programming and Host Protection Attributes</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsolet. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Hinweis: Die API ist nun obsolet.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">klasse</item>
+  <item id="text_delegateLower">delegat</item>
+  <item id="text_structureLower">struktur</item>
+  <item id="text_interfaceLower">schnittstelle</item>
+  <item id="text_enumerationLower">enumeration</item>
+
+  <item id="text_classUpper">Klasse</item>
+  <item id="text_structureUpper">Struktur</item>
+  <item id="text_interfaceUpper">Schnittstelle</item>
+  <item id="text_delegateUpper">Delegat</item>
+  <item id="text_enumerationUpper">Enumeration</item>
+
+	<item id="text_classTypesLower">klassen</item>
+	<item id="text_structureTypesLower">strukturen</item>
+	<item id="text_interfaceTypesLower">schnittstellen</item>
+	<item id="text_delegateTypesLower">delegaten</item>
+	<item id="text_enumerationTypesLower">enumerationen</item>
+  
+	<item id="text_classTypesUpper">Klassen</item>
+	<item id="text_structureTypesUpper">Strukturen</item>
+	<item id="text_interfaceTypesUpper">Schnittstellen</item>
+	<item id="text_delegateTypesUpper">Delegaten</item>
+	<item id="text_enumerationTypesUpper">Enumerationen</item>
+
+  <item id="text_membersLower">Member</item>
+  <item id="text_methodsLower">Methoden</item>
+  <item id="text_propertiesLower">Eigenschaften</item>
+  <item id="text_eventsLower">Ereignisse</item>
+  <item id="text_fieldsLower">Felder</item>
+  <item id="text_operatorsLower">Operatoren</item>
+  <item id="text_attachedPropertiesLower">Angefügte Eigenschaften</item>
+  <item id="text_attachedEventsLower">Angefügte Ereignisse</item>
+
+  <item id="text_membersUpper">Member</item>
+  <item id="text_methodsUpper">Methoden</item>
+  <item id="text_propertiesUpper">Eigenschaften</item>
+  <item id="text_eventsUpper">Ereignisse</item>
+  <item id="text_fieldsUpper">Felder</item>
+  <item id="text_operatorsUpper">Operatoren</item>
+  <item id="text_attachedPropertiesUpper">Angefügte Eigenschaften</item>
+  <item id="text_attachedEventsUpper">Angefügte Ereignisse</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Public Klasse</item>
+	<item id="altText_pubStructure">Public Struktur</item>
+	<item id="altText_pubInterface">Public Schnittstelle</item>
+	<item id="altText_pubDelegate">Public Delegat</item>
+	<item id="altText_pubEnumeration">Public Enumeration</item>
+	<item id="altText_protClass">Protected Klasse</item>
+	<item id="altText_protStructure">Protected Struktur</item>
+	<item id="altText_protInterface">Protected Schnittstelle</item>
+	<item id="altText_protDelegate">Protected Delegat</item>
+	<item id="altText_protEnumeration">Protected Enumeration</item>
+	<item id="altText_privClass">Private Klasse</item>
+	<item id="altText_privStructure">Private Struktur</item>
+	<item id="altText_privInterface">Private Schnittstelle</item>
+	<item id="altText_privDelegate">Private Delegat</item>
+	<item id="altText_privEnumeration">Private Enumeration</item>
+
+	<item id="altText_pubConstructor">Public Konstruktor</item>
+	<item id="altText_pubMethod">Public Methode</item>
+	<item id="altText_pubField">Public Feld</item>
+	<item id="altText_pubProperty">Public Eigenschaft</item>
+	<item id="altText_pubEvent">Public Ereignis</item>
+	<item id="altText_pubOperator">Public Operator</item>
+	<item id="altText_pubAttachedProperty">Public angefügte Eigenschaft</item>
+	<item id="altText_pubAttachedEvent">Public angefügtes Ereignis</item>
+	<item id="altText_protConstructor">Protected Konstruktor</item>
+	<item id="altText_protMethod">Protected Methode</item>
+	<item id="altText_protField">Protected Feld</item>
+	<item id="altText_protProperty">Protected Eigenschaft</item>
+	<item id="altText_protEvent">Protected Ereignis</item>
+	<item id="altText_protOperator">Protected Operator</item>
+	<item id="altText_protAttachedProperty">Protected angefügte Eigenschaft</item>
+	<item id="altText_protAttachedEvent">Protected angefügtes Ereignis</item>
+	<item id="altText_privConstructor">Private Konstruktor</item>
+	<item id="altText_privMethod">Private Methode</item>
+	<item id="altText_privField">Private Feld</item>
+	<item id="altText_privProperty">Private Eigenschaft</item>
+	<item id="altText_privEvent">Private Ereignis</item>
+	<item id="altText_privOperator">Private Operator</item>
+	<item id="altText_privtAttachedProperty">Private angefügte Eigenschaft</item>
+	<item id="altText_privAttachedEvent">Private angefügtes Ereignis</item>
+	<item id="altText_static">Static Member</item>
+	<item id="altText_pubextension">Public Erweiterungsmethode</item>
+	<item id="altText_protextension">Protected Erweiterungsmethode</item>
+	<item id="altText_privextension">Private Erweiterungsmethode</item>
+
+  <item id="altText_CompactFramework">Vom .NET Compact Framework unterstützt</item>
+  <item id="altText_XNAFramework">Vom XNA Framework unterstützt</item>
+  <item id="altText_SilverlightMobile">Von <include item="silverlight_mobile"/> unterstützt</item>
+  <item id="altText_ExplicitInterface">Explizite Schnittstellenimplementierung</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Namensraum</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Member</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Ãœberladung</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Namensraum:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Plattformen:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Assemblys:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Assembly:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Assembly:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Unterstützt in: {0}</item>
+  <item id="supportedIn_2">Unterstützt in: {0}, {1}</item>
+  <item id="supportedIn_3">Unterstützt in: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Unterstützt in: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Unterstützt in: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsolet (Compilerwarnung) in {0}</item>
+  <item id="obsoleteError">Obsolet (compiliert nicht) in {0} und später</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Volles Vertrauen gegenüber dem unmittelbaren Aufrufer. Dieser Member kann nicht von teilweise vertrautem Code verwendet werden. Für mehr Information dazu siehe <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Dieser Typparameter ist kovariant. Das bedeutet, Sie können entweder den spezifizierten oder einen weiter abgeleiteten Typ verwenden. </item>
+  <item id="text_contravariant">Dieser Typparameter ist kontravariant. Das bedeutet, Sie können entweder den spezifizierten oder einen weniger abgeleiteten Typ verwenden. </item>
+  <item id="text_variance">Für mehr Informationen über Kovarianz und Kontravarianz siehe <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Kovarianz und Kontravarianz (C# und Visual Basic).</a>.</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Die API ist nicht CLS-konform.</item>
+  <item id="boilerplate_AltClsCompliant">The CLS-konforme Alternative ist {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Dieser Typ besitzt ein SecurityCriticalAttribute Attribut, das ihn auf die ausschließlich interne Verwendung durch das .NET Framework für die Silverlight Klassenbibliothek beschränkt. Programmcode, der Member dieses Typs verwendet, wirft eine MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Dieser Member besitzt ein SecurityCriticalAttribute Attribut, das ihn auf die ausschließlich interne Verwendung durch das .NET Framework für die Silverlight Klassenbibliothek beschränkt. Programmcode, der Member dieses Typs verwendet, wirft eine MethodAccessException.</item>
+  <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Dieser Member ist überladen. Für eine vollständige Information über diesen Member einschließlich Syntax, Verwendung und Beispiele klicken Sie auf einen Namen in der Liste der Überladungen.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Plattformhinweis</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>Der <include item="netfw"/> und <include item="netcfw"/> unterstützen nicht alle Versionen jeglicher Plattform. Für eine Liste der unterstützten Versionen siehe <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework Systemanforderungen</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    Für Informationen bzgl. Betriebssystemen und Browsern, die von <include item="silverlight"/> unterstützt werden, siehe <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Unterstützte Betriebssysteme und Browser</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile für Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile für Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight für Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS für XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Nicht einem xmlns zugeordnet.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>In <include item="{0}"/>, dieser Member ist überschrieben durch {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, dieser Member ist abgeleitet von {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, dieser Member ist {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Dieser Member überschreibt {0}.</item>
+  <item id="boilerplate_useBaseSee">Siehe {0}.</item>
+  <item id="boilerplate_useBase">Dieser Member überschreibt {0}. Weitere Dokumentation dazu steht in diesem Thema zur Verfügung.</item>
+
+  <item id="boilerplate_flagsSummary">Diese Enumeration hat ein {0} Attribut, das eine bitweise Kombination seiner Memberwerte erlaubt.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Member</item>
+	<item id="membersTitle">Liste der Ãœberladungen</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+  <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0}&gt; documentation for "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}']</p></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a558cec2185ff25e27f351dd91415a499022813
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/shared_content.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">de-DE</item>
+	<item id="brandingLocaleCss">branding-de-DE.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+  <item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+  <!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+  <!-- freshness date -->
+  <item id="boilerplate_UpdateTitle"><span class="introStyle">Aktualisiert: {0}</span></item>
+  <!-- if the TransformComponent of the BuildAssembler config file has the argument:
+             argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+       the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+  <item id="text_defaultFreshnessDate"/>
+
+  <!-- topic title -->
+  <item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Tipp</item>
+	<item id="alert_title_caution">Achtung</item>
+	<item id="alert_title_security">Sicherheitshinweis</item>
+	<item id="alert_title_note">Hinweis</item>
+	<item id="alert_title_important">Wichtig</item>
+	<item id="alert_title_visualBasic">Visual Basic Hinweis</item>
+	<item id="alert_title_visualC#">C# Hinweis</item>
+	<item id="alert_title_visualC++">C++ Hinweis</item>
+	<item id="alert_title_visualJ#">J# Hinweis</item>
+	<item id="text_NotesForImplementers">Hinweise an Implementierer</item>
+	<item id="text_NotesForCallers">Hinweise an Anrufer</item>
+	<item id="text_NotesForInheritors">Hinweise an Erben</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Tipp</item>
+	<item id="alert_altText_caution">Achtung</item>
+	<item id="alert_altText_security">Sicherheitshinweis</item>
+	<item id="alert_altText_note">Hinweis</item>
+	<item id="alert_altText_important">Wichtig</item>
+	<item id="alert_altText_visualBasic">Visual Basic Hinweis</item>
+	<item id="alert_altText_visualC#">C# Hinweis</item>
+	<item id="alert_altText_visualC++">C++ Hinweis</item>
+	<item id="alert_altText_visualJ#">J# Hinweis</item>	
+
+  <!-- section titles -->
+  <item id="title_remarks">Anmerkungen</item>
+  <item id="title_changeHistory">Änderungshistorie</item>
+  <item id="title_events">Ereignisse</item>
+  <item id="title_exceptions">Ausnahmen</item>
+  <item id="title_contracts">Verträge</item>
+  <item id="title_setter">Set</item>
+  <item id="title_getter">Get</item>
+  <item id="title_seeAlso_tasks">Aufgaben</item>
+  <item id="title_seeAlso_reference">Referenz</item>
+  <item id="title_seeAlso_concepts">Konzepte</item>
+  <item id="title_seeAlso_otherResources">Andere Ressourcen</item>
+  <item id="title_revisionHistory">Revision History</item>
+  
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">Für mehr Information siehe </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> und </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic und C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>No code example is currently available or this language may not be supported.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+  <!-- language keywords -->
+  <item id="devlang_nullKeyword">eine Null Referenz (<span class="keyword">Nothing</span> in Visual Basic)</item>
+  <item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> in Visual Basic)</item>
+  <item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> in Visual Basic)</item>
+  <item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> in Visual Basic)</item>
+  <item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> in Visual Basic)</item>
+  <item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> in Visual Basic)</item>
+  <item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> in Visual Basic)</item>
+  <item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> in Visual Basic)</item>
+  <item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> in Visual Basic)</item>
+  <item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> in Visual Basic)</item>
+  
+  <!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+  <item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+  <item id="top">Zurück nach oben</item>
+
+  <!-- Copyright -->	
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. Alle Rechte vorbehalten.</item> 
+
+  <!-- Bibliography -->
+  <item id="bibliographyTitle">Quellenverzeichnis</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copy</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/de-DE/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4ca4fd3dae6dc06251f2ac87b6ed19dcd984cced
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework 開発者ガイド</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">セクションの内容</item>
+	<item id="title_buildInstructions">コードのコンパイル</item>
+	<item id="title_nextSteps">次の手順</item>
+	<item id="title_requirements">å¿…é ˆ</item>
+	<item id="title_relatedSections">関連するセクション</item>
+	<item id="title_relatedTopics">参照</item>
+	<item id="title_syntax">構文</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_returnValue">戻り値</item>
+  <item id="title_attributesAndElements">属性と要素</item>
+	<item id="title_attributes">属性</item>
+	<item id="title_childElement">子要素</item>
+	<item id="title_parentElement">親要素</item>
+	<item id="title_elementInformation">要素情報</item>
+  <item id="title_textValue">テキスト値</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework と等価</item>
+  <item id="title_prerequisites">前提条件</item>
+  <item id="title_robustProgramming">ロバストなプログラミング</item>
+	<item id="title_securitySection">セキュリティ</item>
+	<item id="title_externalResources">外部リソース</item>
+	<item id="title_demonstrates">デモ</item>
+  <item id="title_appliesTo">適用対象</item>
+	<item id="title_conclusion">結論</item>
+  <item id="title_background">背景</item>
+	<item id="title_whatsNew">新着情報</item>
+  <item id="title_reference">参照</item>
+  <item id="title_errorMessage">エラーメッセージ</item>
+  <item id="title_example">例</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">このトピックは下記のセクションを含みます:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">このトピックは下記のサブセクションを含みます:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. All rights reserved.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">参照:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..516937491a05e79401647b1c8c0adccb9668488c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/reference_content.xml
@@ -0,0 +1,552 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">このAPIはドキュメント化されていません。</item>
+  <item id="preliminaryText">このAPIは暫定的なものであり、変更される可能性があります。</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework クラスライブラリ</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">.NET Framework クラスライブラリ</item>
+	<item id="rootLink"><referenceLink target="R:Project">名前空間</referenceLink></item>
+  <item id="definedBy">({0}により定義)</item>
+	<item id="inheritedFrom">({0}から継承)</item>
+	<item id="overridesMember">({0}をオーバーライド)</item>
+	<item id="locationInformation">アセンブリ: {0} (モジュール: {1})</item>
+ 
+  <item id="derivedClasses">派生クラス</item>
+  <item id="explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+  <item id="returnValue">戻り値</item>
+  <item id="propertyValue">プロパティ値</item>
+  <item id="fieldValue">フィールド値</item>
+  <item id="example">例</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">名前空間</item>
+	<item id="topicTitle_namespace">{0} 名前空間</item>
+	<item id="topicTitle_namespaceGroup">{0} 名前空間</item>
+	<item id="topicTitle_class">{0} クラス</item>
+	<item id="topicTitle_structure">{0} 構造体</item>
+	<item id="topicTitle_interface">{0} インターフェイス</item>
+	<item id="topicTitle_derivedTypeList">{0} 派生クラス</item>
+  
+	<item id="topicTitle_delegate">{0} デリゲート</item>
+	<item id="topicTitle_enumeration">{0} 列挙体</item>
+	<item id="topicTitle_field">{0} フィールド</item>
+	<item id="topicTitle_method">{0} メソッド {1}</item>
+	<item id="topicTitle_constructor">{0} コンストラクター {1}</item>
+	<item id="topicTitle_property">{0} プロパティ {1}</item>
+	<item id="topicTitle_event">{0} イベント</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} 演算子 {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} 変換 {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} 変換演算子</item>
+      
+	<item id="topicTitle_attachedProperty">{0} 添付プロパティ</item>
+	<item id="topicTitle_attachedEvent">{0} 添付イベント</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} ジェネリッククラス</item>
+  <item id="topicTitle_generic_structure">{0} ジェネリック構造体</item>
+  <item id="topicTitle_generic_interface">{0} ジェネリックインターフェイス</item>
+  <item id="topicTitle_generic_delegate">{0} ジェネリックデリゲート</item>
+  <item id="topicTitle_generic_method">{0} ジェネリックメソッド {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} フィールド</item>
+	<item id="topicTitle_methods">{0} メソッド</item>
+	<item id="topicTitle_enumMembers">メンバー</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} 演算子</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} 演算子と型変換</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} 型変換</item>
+  
+	<item id="topicTitle_constructors">{0} コンストラクター</item>
+	<item id="topicTitle_properties">{0} プロパティ</item>
+	<item id="topicTitle_events">{0} イベント</item>
+	<item id="topicTitle_attachedProperties">{0} 添付プロパティ</item>
+ 	<item id="topicTitle_attachedEvents">{0} 添付イベント</item>
+	<item id="topicTitle_members">{0} メンバー</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">名前空間</item>
+  <item id="indexEntry_namespace">{0} 名前空間</item>
+  <item id="indexEntry_class">{0} クラス</item>
+	<item id="indexEntry_structure">{0} 構造体</item>
+	<item id="indexEntry_interface">{0} インターフェイス</item>
+	<item id="indexEntry_delegate">{0} デリゲート</item>
+	<item id="indexEntry_enumeration">{0} 列挙体</item>
+  <item id="indexEntry_enumerationMember">{0} 列挙体メンバー</item>
+  <item id="indexEntry_members">{0}、すべてのメンバー</item>
+  <item id="indexEntry_methods">{0}、メソッド</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}、演算子</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}、演算子と型変換</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}、型変換</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} 変換</item>
+  <item id="indexEntry_properties">{0}、プロパティ</item>
+  <item id="indexEntry_fields">{0}、フィールド</item>
+  <item id="indexEntry_events">{0}、イベント</item>
+  <item id="indexEntry_attachedProperties">{0}、添付プロパティ</item>
+  <item id="indexEntry_attachedEvents">{0}、添付イベント</item>
+	<item id="indexEntry_constructors">{0}、コンストラクター</item>
+	<item id="indexEntry_constructor">{0}、コンストラクター</item>
+	<item id="indexEntry_constructorType">{0} コンストラクター</item>
+  <item id="indexEntry_method">{0} メソッド</item>
+	<item id="indexEntry_property">{0} プロパティ</item>
+	<item id="indexEntry_event">{0} イベント</item>
+	<item id="indexEntry_field">{0} フィールド</item>
+	<item id="indexEntry_operator">{0} 演算子</item>
+	<item id="indexEntry_attachedProperty">{0} 添付プロパティ</item>
+	<item id="indexEntry_attachedEvent">{0} 添付イベント</item>
+	<item id="indexEntry_methodExplicit">{0} 明示的に実装されたメソッド</item>
+	<item id="indexEntry_propertyExplicit">{0} 明示的に実装されたプロパティ</item>
+	<item id="indexEntry_eventExplicit">{0} 明示的に実装されたイベント</item>
+	<item id="indexEntry_fieldExplicit">{0} 明示的に実装されたフィールド</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">構文</item>
+	<item id="title_templates">型パラメーター</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_value">値</item>
+	<item id="title_delegateValue">戻り値</item>
+	<item id="title_methodValue">戻り値</item>
+	<item id="title_propertyValue">プロパティ値</item>
+	<item id="title_fieldValue">フィールド値</item>
+	<item id="title_implements">実装</item>
+	<item id="title_examples">例</item>
+	<item id="title_threadSafety">スレッドセーフ</item>
+	<item id="title_permissions">.NET Framework セキュリティ</item>
+	<item id="title_namespaces">名前空間</item>
+	<item id="title_types">åž‹</item>
+	<item id="title_family">継承階層</item>
+	<item id="title_versions">バージョン情報</item>
+	<item id="title_platforms">プラットフォーム</item>
+	<item id="title_relatedTopics">関連項目</item>
+	<item id="title_extensionUsage">使用上の注意</item>
+	<item id="text_extensionUsage">Visual Basic と C#では、{0}型のオブジェクトのインスタンスメソッドのようにこのメソッドを呼び出せます。このメソッドを呼び出すためにインスタンスメソッド構文を使う場合、最初のパラメーターを省略します。詳細は、<a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(Visual Basic)</a>または<a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(C# プログラミング ガイド)</a>を参照してください。</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">名前空間</item>
+	<item id="header_namespaceDescription">説明</item>
+	<item id="header_typeIcon">アイコン</item>
+  <item id="header_className">クラス</item>
+  <item id="header_structureName">構造体</item>
+  <item id="header_interfaceName">インターフェイス</item>
+  <item id="header_delegateName">デリゲート</item>
+  <item id="header_enumerationName">列挙体</item>
+  
+	<item id="header_typeName">名前</item>
+	<item id="header_typeDescription">説明</item>
+	<item id="header_memberIcon">アイコン</item>
+	<item id="header_memberName">メンバー</item>
+	<item id="header_memberValue">値</item>
+	<item id="header_memberDescription">説明</item>
+	<item id="header_eventType">イベント型</item>
+	<item id="header_eventReason">原因</item>
+	<item id="header_exceptionName">例外</item>
+	<item id="header_exceptionCondition">条件</item>
+	<item id="header_permissionName">パーミッション</item>
+	<item id="header_permissionDescription">説明</item>
+  <item id="header_requiresName">事前条件</item>
+  <item id="header_ensuresName">事後条件</item>
+  <item id="header_ensuresOnThrowName">例外発生時の事後条件</item>
+  <item id="header_invariantsName">不変条件</item>
+
+	<item id="header_revHistoryDate">日付</item>
+	<item id="header_revHistoryVersion">バージョン</item>
+	<item id="header_revHistoryDescription">説明</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">名前空間</item>
+	<item id="tableTitle_class">クラス</item>
+	<item id="tableTitle_structure">構造体</item>
+	<item id="tableTitle_interface">インターフェイス</item>
+	<item id="tableTitle_delegate">デリゲート</item>
+	<item id="tableTitle_enumeration">列挙体</item>
+  <item id="tableTitle_constructor">コンストラクター</item>
+  <item id="tableTitle_method">メソッド</item>
+  <item id="tableTitle_operator">演算子</item>
+  <item id="tableTitle_field">フィールド</item>
+  <item id="tableTitle_property">プロパティ</item>
+  <item id="tableTitle_event">イベント</item>
+  <item id="tableTitle_attachedEvent">添付イベント</item>
+  <item id="tableTitle_attachedProperty">添付プロパティ</item>
+  <item id="tableTitle_explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+	<item id="tableTitle_overloadMembers">オーバーロードの一覧</item>
+  <item id="tableTitle_extensionMethod">拡張メソッド</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">スレッドセーフ</item>
+  <item id="boilerplate_threadSafety">この型の公開<include item="devlang_staticKeyword" />メンバーはすべてスレッドセーフです。インスタンスメンバーはスレッドセーフである保証はありません。</item>
+
+  <item id="text_staticThreadSafe">この型のstaticメンバーはスレッドセーフです。</item>
+  <item id="text_staticNotThreadSafe">この型のstaticメンバーはスレッドセーフではありません。</item>
+  <item id="text_instanceThreadSafe">この型のインスタンスメンバーはスレッドセーフです。</item>
+  <item id="text_instanceNotThreadSafe">この型のインスタンスメンバーはスレッドセーフではありません。</item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">{0} ジェネリック型は下記のメンバーを公開します。</item>
+  <item id="exposedMembersTableText">{0} 型は下記のメンバーを公開します。</item>	
+
+  <item id="dependencyPropertyInfoHeading">依存関係プロパティの情報</item>
+  <item id="routedEventInfoHeading">ルーティングイベントの情報</item>
+  <item id="mrefTaskMoreCodeHeading">More Code</item>
+
+  <item id="Overloaded">オーバーロード。</item>	
+  <item id="defaultNamespace">(既定の名前空間)</item>
+  
+  <item id="typeLink">åž‹: {0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter">{1}の型パラメーター<strong>{0}</strong></item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">ホスト保護属性。</item>
+	<item id="boilerplate_hostProtectionAttribute">この型またはメンバーに適用される<referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 preferprefer-overload="true" />属性が持つ<referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" />プロパティの値は{1}です。この<referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" />は(アイコンのダブルクリック、コマンドの入力、またはブラウザーへのURLの入力により起動するような)デスクトップアプリケーションに影響を与えません。
+                 より詳しくは、<referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" />クラスまたは<a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server プログラミングとホスト保護属性</a>を参照してください。</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>廃止予定。</strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>注意: このAPIは廃止予定です。</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">クラス</item>
+  <item id="text_delegateLower">デリゲート</item>
+  <item id="text_structureLower">構造体</item>
+  <item id="text_interfaceLower">インターフェイス</item>
+  <item id="text_enumerationLower">列挙体</item>
+
+  <item id="text_classUpper">クラス</item>
+  <item id="text_structureUpper">構造体</item>
+  <item id="text_interfaceUpper">インターフェイス</item>
+  <item id="text_delegateUpper">デリゲート</item>
+  <item id="text_enumerationUpper">列挙体</item>
+
+	<item id="text_classTypesLower">クラス</item>
+	<item id="text_structureTypesLower">構造体</item>
+	<item id="text_interfaceTypesLower">インターフェイス</item>
+	<item id="text_delegateTypesLower">デリゲート</item>
+	<item id="text_enumerationTypesLower">列挙体</item>
+  
+	<item id="text_classTypesUpper">クラス</item>
+	<item id="text_structureTypesUpper">構造体</item>
+	<item id="text_interfaceTypesUpper">インターフェイス</item>
+	<item id="text_delegateTypesUpper">デリゲート</item>
+	<item id="text_enumerationTypesUpper">列挙体</item>
+
+  <item id="text_membersLower">メンバー</item>
+  <item id="text_methodsLower">メソッド</item>
+  <item id="text_propertiesLower">プロパティ</item>
+  <item id="text_eventsLower">イベント</item>
+  <item id="text_fieldsLower">フィールド</item>
+  <item id="text_operatorsLower">演算子</item>
+  <item id="text_attachedPropertiesLower">添付プロパティ</item>
+  <item id="text_attachedEventsLower">添付イベント</item>
+
+  <item id="text_membersUpper">メンバー</item>
+  <item id="text_methodsUpper">メソッド</item>
+  <item id="text_propertiesUpper">プロパティ</item>
+  <item id="text_eventsUpper">イベント</item>
+  <item id="text_fieldsUpper">フィールド</item>
+  <item id="text_operatorsUpper">演算子</item>
+  <item id="text_attachedPropertiesUpper">添付プロパティ</item>
+  <item id="text_attachedEventsUpper">添付イベント</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Public クラス</item>
+	<item id="altText_pubStructure">Public 構造体</item>
+	<item id="altText_pubInterface">Public インターフェイス</item>
+	<item id="altText_pubDelegate">Public デリゲート</item>
+	<item id="altText_pubEnumeration">Public 列挙体</item>
+	<item id="altText_protClass">Protected クラス</item>
+	<item id="altText_protStructure">Protected 構造体</item>
+	<item id="altText_protInterface">Protected インターフェイス</item>
+	<item id="altText_protDelegate">Protected デリゲート</item>
+	<item id="altText_protEnumeration">Protected 列挙体</item>
+	<item id="altText_privClass">Private クラス</item>
+	<item id="altText_privStructure">Private 構造体</item>
+	<item id="altText_privInterface">Private インターフェイス</item>
+	<item id="altText_privDelegate">Private デリゲート</item>
+	<item id="altText_privEnumeration">Private 列挙体</item>
+
+	<item id="altText_pubConstructor">Public コンストラクター</item>
+	<item id="altText_pubMethod">Public メソッド</item>
+	<item id="altText_pubField">Public フィールド</item>
+	<item id="altText_pubProperty">Public プロパティ</item>
+	<item id="altText_pubEvent">Public イベント</item>
+	<item id="altText_pubOperator">Public 演算子</item>
+	<item id="altText_pubAttachedProperty">Public 添付プロパティ</item>
+	<item id="altText_pubAttachedEvent">Public 添付イベント</item>
+	<item id="altText_protConstructor">Protected コンストラクター</item>
+	<item id="altText_protMethod">Protected メソッド</item>
+	<item id="altText_protField">Protected フィールド</item>
+	<item id="altText_protProperty">Protected プロパティ</item>
+	<item id="altText_protEvent">Protected イベント</item>
+	<item id="altText_protOperator">Protected 演算子</item>
+	<item id="altText_protAttachedProperty">Protected 添付プロパティ</item>
+	<item id="altText_protAttachedEvent">Protected 添付イベント</item>
+	<item id="altText_privConstructor">Private コンストラクター</item>
+	<item id="altText_privMethod">Private メソッド</item>
+	<item id="altText_privField">Private フィールド</item>
+	<item id="altText_privProperty">Private プロパティ</item>
+	<item id="altText_privEvent">Private イベント</item>
+	<item id="altText_privOperator">Private 演算子</item>
+	<item id="altText_privtAttachedProperty">Private 添付プロパティ</item>
+	<item id="altText_privAttachedEvent">Private 添付イベント</item>
+	<item id="altText_static">静的メンバー</item>
+	<item id="altText_pubextension">Public 拡張メソッド</item>
+	<item id="altText_protextension">Protected 拡張メソッド</item>
+	<item id="altText_privextension">Private 拡張メソッド</item>
+
+  <item id="altText_CompactFramework">.NET Compact Frameworkによってサポートされています。</item>
+  <item id="altText_XNAFramework">XNA Frameworkによってサポートされています。</item>
+  <item id="altText_SilverlightMobile"><include item="silverlight_mobile" />によってサポートされています。</item>
+  <item id="altText_ExplicitInterface">明示的なインターフェイスの実装</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} 名前空間</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper" /></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} メンバー</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} オーバーロード</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>名前空間:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>プラットフォーム:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>アセンブリ:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>アセンブリ:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) バージョン: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>アセンブリ:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">サポートされるバージョン: {0}</item>
+  <item id="supportedIn_2">サポートされるバージョン: {0}, {1}</item>
+  <item id="supportedIn_3">サポートされるバージョン: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">サポートされるバージョン: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">廃止予定になった (コンパイル時警告) バージョン: {0}</item>
+  <item id="obsoleteError">廃止された (コンパイル不可) バージョン: {0}</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">直前の呼び出し元に対する完全な信頼。このメンバーは、部分信頼コードからは使えません。詳細は、<a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">部分信頼コードからのライブラリの使用</a>を参照してください。</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">この型パラメーターは共変です。つまり、指定した型か、その型から派生した任意の型が使えます。</item>
+  <item id="text_contravariant">この型パラメーターは反変です。つまり、指定した型か、その型が継承する任意の型が使えます。</item>
+  <item id="text_variance">共変と反変についての詳細は、<a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">共変性と反変性 (C# および Visual Basic)</a>を参照してください。</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">このAPIはCLS準拠ではありません。</item>
+  <item id="boilerplate_AltClsCompliant">CLS準拠の代替は{0}です。</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">この型は SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこの型のメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="boilerplate_memberSecurityCritical">このメンバーは SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこのメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="text_securityCritical">[セキュリティ上の重要事項] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">このメンバーはオーバーロードされています。構文、使用法、例を含むこのメンバーについての完全な情報は、オーバーロード一覧の名前をクリックしてください。</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} プラットフォームに関するメモ:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p><include item="netfw"/>と<include item="netcfw"/>では、各プラットフォームのすべてのバージョンはサポートしていません。サポートしているバージョンについては、<a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework システム要件</a>を参照してください。</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    <include item="silverlight"/>によってサポートされているOSとブラウザーの詳細は、<a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">サポートされているオペレーティング システムとブラウザー</a>を参照してください。
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">共通言語基盤(CLI)標準</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XAML用XMLNS:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">xmlnsにマップされていません。</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>In <include item="{0}"/>, このメンバーは{1}でオーバーライドされています。</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, このメンバーは、{2}{3}{4}から継承されます。</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, このメンバーは、{2}です。</item>
+  
+  <item id="boilerplate_useBaseSummary">このメンバーは{0}をオーバーライドしています。</item>
+  <item id="boilerplate_useBaseSee">{0}を参照してください。</item>
+  <item id="boilerplate_useBase">このメンバーは{0}をオーバーライドします。より完全なドキュメントはそのトピックで有効です。</item>
+
+  <item id="boilerplate_flagsSummary">この列挙体には、メンバーの値のビットごとの組み合わせを可能にする{0}属性があります。</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">メンバー</item>
+	<item id="membersTitle">オーバーロードの一覧</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor"><referenceLink target="T:{0}" />クラスの新しいインスタンスを初期化します</item>
+  <item id="SMCAutoDocStaticConstructor"><referenceLink target="T:{0}" />クラスの静的フィールドを初期化します</item>
+  <item id="SMCAutoDocDispose"><referenceLink target="T:{0}" />によって使われているすべてのリソースを解放します</item>
+  <item id="SMCAutoDocDisposeBool"><referenceLink target="T:{0}" />によって使われているアンマネージリソースを解放し、オプションでマネージリソースも解放します。</item>
+  <item id="SMCAutoDocDisposeParam">マネージリソースとアンマネージリソースの両方を解放する場合はtrue、アンマネージリソースのみを解放する場合はfalse</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{1}"に対する&lt;{0}&gt;がありません]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{2}"に対する&lt;{0} name="{1}"/&gt;がありません</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">['{0}'で使われている&lt;include&gt;ターゲットドキュメントがありません。File: '{1}' Path: '{2}']</p></item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2d01dd01f17c6ddf2318b51a04d9c2f79e96147c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/shared_content.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-en-US.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">ヒント</item>
+	<item id="alert_title_caution">注意</item>
+	<item id="alert_title_security">セキュリティ メモ</item>
+	<item id="alert_title_note">メモ</item>
+	<item id="alert_title_important">重要</item>
+	<item id="alert_title_visualBasic">Visual Basic メモ</item>
+	<item id="alert_title_visualC#">C# メモ</item>
+	<item id="alert_title_visualC++">C++ メモ</item>
+	<item id="alert_title_visualJ#">J# メモ</item>
+	<item id="text_NotesForImplementers">実装時の注意</item>
+	<item id="text_NotesForCallers">利用時の注意</item>
+	<item id="text_NotesForInheritors">継承する場合の注意</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">ヒント</item>
+	<item id="alert_altText_caution">注意 メモ</item>
+	<item id="alert_altText_security">セキュリティ メモ</item>
+	<item id="alert_altText_note">メモ</item>
+	<item id="alert_altText_important">重要 メモ</item>
+	<item id="alert_altText_visualBasic">Visual Basic メモ</item>
+	<item id="alert_altText_visualC#">C# メモ</item>
+	<item id="alert_altText_visualC++">C++ メモ</item>
+	<item id="alert_altText_visualJ#">J# メモ</item>
+
+	<!-- section titles -->
+	<item id="title_remarks">解説</item>
+	<item id="title_changeHistory">変更履歴</item>
+	<item id="title_events">イベント</item>
+	<item id="title_exceptions">例外</item>
+	<item id="title_contracts">契約</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">タスク</item>
+	<item id="title_seeAlso_reference">参照</item>
+	<item id="title_seeAlso_concepts">コンセプト</item>
+	<item id="title_seeAlso_otherResources">その他のリソース</item>
+	<item id="title_revisionHistory">バージョン履歴</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">より詳しくは、</item>
+	<item id="inline_dynamicLink_postfixText">を参照してください。</item>
+	<item id="inline_dynamicLink_separatorText">と</item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic と C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>現在有効なコード例がないか、この言語ではサポートされていません。</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB と C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">null参照(Visual Basicでは<span class="keyword">Nothing</span>)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (Visual Basicでは<span class="keyword">Shared</span>)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (Visual Basicでは<span class="keyword">Overridable</span>)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (Visual Basicでは<span class="keyword">True</span>)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (Visual Basicでは<span class="keyword">False</span>)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (Visual Basicでは<span class="keyword">MustInherit</span>)</item>
+	<item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (Visual Basicでは<span class="keyword">NotInheritable</span>)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (Visual Basicでは<span class="keyword">Async</span>)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (Visual Basicでは<span class="keyword">Await</span>)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (Visual Basicでは<span class="keyword">Async</span>/<span class="keyword">Await</span>)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">トップ</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">参考文献</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">コピー</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ja-JP/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c1b478fd217e29a1dc51cac1d3cf34e8b65343e1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">This API is not documented.</item>
+  <item id="preliminaryText">This API is preliminary and subject to change.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Class Library</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">.NET Framework Class Library</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namespaces</referenceLink></item>
+  <item id="definedBy">(Defined by {0}.)</item>
+	<item id="inheritedFrom">(Inherited from {0}.)</item>
+	<item id="overridesMember">(Overrides {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Module: {1})</item>
+ 
+  <item id="derivedClasses">Derived Classes</item>
+  <item id="explicitInterfaceImplementation">Explicit Interface Implementations</item>
+  <item id="returnValue">Return Value</item>
+  <item id="propertyValue">Property Value</item>
+  <item id="fieldValue">Field Value</item>
+  <item id="example">Example</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Namespaces</item>
+	<item id="topicTitle_namespace">{0} Namespace</item>
+	<item id="topicTitle_namespaceGroup">{0} Namespaces</item>
+	<item id="topicTitle_class">{0} Class</item>
+	<item id="topicTitle_structure">{0} Structure</item>
+	<item id="topicTitle_interface">{0} Interface</item>
+	<item id="topicTitle_derivedTypeList">{0} Derived Classes</item>
+  
+	<item id="topicTitle_delegate">{0} Delegate</item>
+	<item id="topicTitle_enumeration">{0} Enumeration</item>
+	<item id="topicTitle_field">{0} Field</item>
+	<item id="topicTitle_method">{0} Method {1}</item>
+	<item id="topicTitle_constructor">{0} Constructor {1}</item>
+	<item id="topicTitle_property">{0} Property {1}</item>
+	<item id="topicTitle_event">{0} Event</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} Operator {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Conversion {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Conversion Operators</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Attached Property</item>
+	<item id="topicTitle_attachedEvent">{0} Attached Event</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} Generic Class</item>
+  <item id="topicTitle_generic_structure">{0} Generic Structure</item>
+  <item id="topicTitle_generic_interface">{0} Generic Interface</item>
+  <item id="topicTitle_generic_delegate">{0} Generic Delegate</item>
+  <item id="topicTitle_generic_method">{0} Generic Method {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} Fields</item>
+	<item id="topicTitle_methods">{0} Methods</item>
+	<item id="topicTitle_enumMembers">Members</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operators</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operators and Type Conversions</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Type Conversions</item>
+  
+	<item id="topicTitle_constructors">{0} Constructors</item>
+	<item id="topicTitle_properties">{0} Properties</item>
+	<item id="topicTitle_events">{0} Events</item>
+	<item id="topicTitle_attachedProperties">{0} Attached Properties</item>
+ 	<item id="topicTitle_attachedEvents">{0} Attached Events</item>
+	<item id="topicTitle_members">{0} Members</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">namespaces</item>
+  <item id="indexEntry_namespace">{0} namespace</item>
+  <item id="indexEntry_class">{0} class</item>
+	<item id="indexEntry_structure">{0} structure</item>
+	<item id="indexEntry_interface">{0} interface</item>
+	<item id="indexEntry_delegate">{0} delegate</item>
+	<item id="indexEntry_enumeration">{0} enumeration</item>
+  <item id="indexEntry_enumerationMember">{0} enumeration member</item>
+  <item id="indexEntry_members">{0}, all members</item>
+  <item id="indexEntry_methods">{0}, methods</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, operators</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, operators and type conversions</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, type conversions</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} conversion</item>
+  <item id="indexEntry_properties">{0}, properties</item>
+  <item id="indexEntry_fields">{0}, fields</item>
+  <item id="indexEntry_events">{0}, events</item>
+  <item id="indexEntry_attachedProperties">{0}, attached properties</item>
+  <item id="indexEntry_attachedEvents">{0}, attached events</item>
+	<item id="indexEntry_constructors">{0}, constructors</item>
+	<item id="indexEntry_constructor">{0}, constructor</item>
+	<item id="indexEntry_constructorType">{0} constructor</item>
+  <item id="indexEntry_method">{0} method</item>
+	<item id="indexEntry_property">{0} property</item>
+	<item id="indexEntry_event">{0} event</item>
+	<item id="indexEntry_field">{0} field</item>
+	<item id="indexEntry_operator">{0} operator</item>
+	<item id="indexEntry_attachedProperty">{0} attached property</item>
+	<item id="indexEntry_attachedEvent">{0} attached event</item>
+	<item id="indexEntry_methodExplicit">{0} explicitly implemented method</item>
+	<item id="indexEntry_propertyExplicit">{0} explicitly implemented property</item>
+	<item id="indexEntry_eventExplicit">{0} explicitly implemented event</item>
+	<item id="indexEntry_fieldExplicit">{0} explicitly implemented field</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Syntax</item>
+	<item id="title_templates">Type Parameters</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_value">Value</item>
+	<item id="title_delegateValue">Return Value</item>
+	<item id="title_methodValue">Return Value</item>
+	<item id="title_propertyValue">Property Value</item>
+	<item id="title_fieldValue">Field Value</item>
+	<item id="title_implements">Implements</item>
+	<item id="title_examples">Examples</item>
+	<item id="title_threadSafety">Thread Safety</item>
+	<item id="title_permissions">.NET Framework Security</item>
+	<item id="title_namespaces">Namespaces</item>
+	<item id="title_types">Types</item>
+	<item id="title_family">Inheritance Hierarchy</item>
+	<item id="title_versions">Version Information</item>
+	<item id="title_platforms">Platforms</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_extensionUsage">Usage Note</item>
+	<item id="text_extensionUsage">In Visual Basic and C#, you can call this method as an instance method on any object of type {0}. When you use instance method syntax to call this method, omit the first parameter. For more information, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (Visual Basic)</a> or <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (C# Programming Guide)</a>.</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Namespace</item>
+	<item id="header_namespaceDescription">Description</item>
+	<item id="header_typeIcon">Icon</item>
+  <item id="header_className">Class</item>
+  <item id="header_structureName">Structure</item>
+  <item id="header_interfaceName">Interface</item>
+  <item id="header_delegateName">Delegate</item>
+  <item id="header_enumerationName">Enumeration</item>
+  
+	<item id="header_typeName">Name</item>
+	<item id="header_typeDescription">Description</item>
+	<item id="header_memberIcon">Icon</item>
+	<item id="header_memberName">Member name</item>
+	<item id="header_memberValue">Value</item>
+	<item id="header_memberDescription">Description</item>
+	<item id="header_eventType">Event Type</item>
+	<item id="header_eventReason">Reason</item>
+	<item id="header_exceptionName">Exception</item>
+	<item id="header_exceptionCondition">Condition</item>
+	<item id="header_permissionName">Permission</item>
+	<item id="header_permissionDescription">Description</item>
+  <item id="header_requiresName">Requires</item>
+  <item id="header_ensuresName">Ensures</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariants</item>
+
+	<item id="header_revHistoryDate">Date</item>
+	<item id="header_revHistoryVersion">Version</item>
+	<item id="header_revHistoryDescription">Description</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">Namespaces</item>
+	<item id="tableTitle_class">Classes</item>
+	<item id="tableTitle_structure">Structures</item>
+	<item id="tableTitle_interface">Interfaces</item>
+	<item id="tableTitle_delegate">Delegates</item>
+	<item id="tableTitle_enumeration">Enumerations</item>
+  <item id="tableTitle_constructor">Constructors</item>
+  <item id="tableTitle_method">Methods</item>
+  <item id="tableTitle_operator">Operators</item>
+  <item id="tableTitle_field">Fields</item>
+  <item id="tableTitle_property">Properties</item>
+  <item id="tableTitle_event">Events</item>
+  <item id="tableTitle_attachedEvent">Attached Events</item>
+  <item id="tableTitle_attachedProperty">Attached Properties</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Explicit&#160;Interface&#160;Implementations</item>
+	<item id="tableTitle_overloadMembers">Overload&#160;List</item>
+  <item id="tableTitle_extensionMethod">Extension&#160;Methods</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Thread Safety</item>
+  <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/>  members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+  <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+  <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+  <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+  <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">The {0} generic type exposes the following members.</item>
+  <item id="exposedMembersTableText">The {0} type exposes the following members.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+  <item id="routedEventInfoHeading">Routed Event Information</item>
+  <item id="mrefTaskMoreCodeHeading">More Code</item>
+
+  <item id="Overloaded">Overloaded. </item>	
+  <item id="defaultNamespace">( Default Namespace )</item>
+  
+  <item id="typeLink">Type:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> type parameter of {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> attribute applied to this type or member has the following <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> property value: {1}. The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> class or <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server Programming and Host Protection Attributes</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsolete. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Note: This API is now obsolete.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">class</item>
+  <item id="text_delegateLower">delegate</item>
+  <item id="text_structureLower">structure</item>
+  <item id="text_interfaceLower">interface</item>
+  <item id="text_enumerationLower">enumeration</item>
+
+  <item id="text_classUpper">Class</item>
+  <item id="text_structureUpper">Structure</item>
+  <item id="text_interfaceUpper">Interface</item>
+  <item id="text_delegateUpper">Delegate</item>
+  <item id="text_enumerationUpper">Enumeration</item>
+
+	<item id="text_classTypesLower">classes</item>
+	<item id="text_structureTypesLower">structures</item>
+	<item id="text_interfaceTypesLower">interfaces</item>
+	<item id="text_delegateTypesLower">delegates</item>
+	<item id="text_enumerationTypesLower">enumerations</item>
+  
+	<item id="text_classTypesUpper">Classes</item>
+	<item id="text_structureTypesUpper">Structures</item>
+	<item id="text_interfaceTypesUpper">Interfaces</item>
+	<item id="text_delegateTypesUpper">Delegates</item>
+	<item id="text_enumerationTypesUpper">Enumerations</item>
+
+  <item id="text_membersLower">members</item>
+  <item id="text_methodsLower">methods</item>
+  <item id="text_propertiesLower">properties</item>
+  <item id="text_eventsLower">events</item>
+  <item id="text_fieldsLower">fields</item>
+  <item id="text_operatorsLower">operators</item>
+  <item id="text_attachedPropertiesLower">attached properties</item>
+  <item id="text_attachedEventsLower">attached events</item>
+
+  <item id="text_membersUpper">Members</item>
+  <item id="text_methodsUpper">Methods</item>
+  <item id="text_propertiesUpper">Properties</item>
+  <item id="text_eventsUpper">Events</item>
+  <item id="text_fieldsUpper">Fields</item>
+  <item id="text_operatorsUpper">Operators</item>
+  <item id="text_attachedPropertiesUpper">Attached Properties</item>
+  <item id="text_attachedEventsUpper">Attached Events</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Public class</item>
+	<item id="altText_pubStructure">Public structure</item>
+	<item id="altText_pubInterface">Public interface</item>
+	<item id="altText_pubDelegate">Public delegate</item>
+	<item id="altText_pubEnumeration">Public enumeration</item>
+	<item id="altText_protClass">Protected class</item>
+	<item id="altText_protStructure">Protected structure</item>
+	<item id="altText_protInterface">Protected interface</item>
+	<item id="altText_protDelegate">Protected delegate</item>
+	<item id="altText_protEnumeration">Protected enumeration</item>
+	<item id="altText_privClass">Private class</item>
+	<item id="altText_privStructure">Private structure</item>
+	<item id="altText_privInterface">Private interface</item>
+	<item id="altText_privDelegate">Private delegate</item>
+	<item id="altText_privEnumeration">Private enumeration</item>
+
+	<item id="altText_pubConstructor">Public constructor</item>
+	<item id="altText_pubMethod">Public method</item>
+	<item id="altText_pubField">Public field</item>
+	<item id="altText_pubProperty">Public property</item>
+	<item id="altText_pubEvent">Public event</item>
+	<item id="altText_pubOperator">Public operator</item>
+	<item id="altText_pubAttachedProperty">Public attached property</item>
+	<item id="altText_pubAttachedEvent">Public attached event</item>
+	<item id="altText_protConstructor">Protected constructor</item>
+	<item id="altText_protMethod">Protected method</item>
+	<item id="altText_protField">Protected field</item>
+	<item id="altText_protProperty">Protected property</item>
+	<item id="altText_protEvent">Protected event</item>
+	<item id="altText_protOperator">Protected operator</item>
+	<item id="altText_protAttachedProperty">Protected attached property</item>
+	<item id="altText_protAttachedEvent">Protected attached event</item>
+	<item id="altText_privConstructor">Private constructor</item>
+	<item id="altText_privMethod">Private method</item>
+	<item id="altText_privField">Private field</item>
+	<item id="altText_privProperty">Private property</item>
+	<item id="altText_privEvent">Private event</item>
+	<item id="altText_privOperator">Private operator</item>
+	<item id="altText_privtAttachedProperty">Private attached property</item>
+	<item id="altText_privAttachedEvent">Private attached event</item>
+	<item id="altText_static">Static member</item>
+	<item id="altText_pubextension">Public Extension Method</item>
+	<item id="altText_protextension">Protected Extension Method</item>
+	<item id="altText_privextension">Private Extension Method</item>
+
+  <item id="altText_CompactFramework">Supported by the .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Supported by the XNA Framework</item>
+  <item id="altText_SilverlightMobile">Supported by <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Explicit interface implementation</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Namespace</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Members</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Overload</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Namespace:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Platforms:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Assemblies:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Assembly:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Assembly:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Supported in: {0}</item>
+  <item id="supportedIn_2">Supported in: {0}, {1}</item>
+  <item id="supportedIn_3">Supported in: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Supported in: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Supported in: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Supported in: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsolete (compiler warning) in {0}</item>
+  <item id="obsoleteError">Obsolete (does not compile) in {0} and later</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+  <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+  <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+  <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+  <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">This member is overloaded. For complete information about this member, including syntax, usage, and examples, click a name in the overload list.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Platform Note:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>The <include item="netfw"/> and <include item="netcfw"/> do not support all versions of every platform. For a list of the supported versions, see <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    For information on the operating systems and browsers supported by <include item="silverlight"/>, see <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS for XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Not mapped to an xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>In <include item="{0}"/>, this member is overridden by {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, this member is inherited from {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, this member is {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">This member overrides {0}.</item>
+  <item id="boilerplate_useBaseSee">See {0}.</item>
+  <item id="boilerplate_useBase">This member overrides {0}, and more complete documentation might be available in that topic.</item>
+
+  <item id="boilerplate_flagsSummary">This enumeration has a {0} attribute that allows a bitwise combination of its member values.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Members</item>
+	<item id="membersTitle">Overload List</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+  <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0}&gt; documentation for "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}']</p></item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bf78fcef9adfcf78f86cd8f4dd6f7fb243adfd00
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/conceptual_content.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">В этом подразделе</item>
+	<item id="title_buildInstructions">Компиляция кода</item>
+	<item id="title_nextSteps">Следующие шаги</item>
+	<item id="title_requirements">Требования</item>
+	<item id="title_relatedSections">Связанные разделы</item>
+	<item id="title_relatedTopics">См. также</item>
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_returnValue">Возвращаемое значение</item>
+  <item id="title_attributesAndElements">Атрибуты и элементы</item>
+	<item id="title_attributes">Атрибуты</item>
+	<item id="title_childElement">Дочерние элементы</item>
+	<item id="title_parentElement">Родительские элементы</item>
+	<item id="title_elementInformation">Сведения об элементе</item>
+  <item id="title_textValue">Текстовое значение</item>
+  <item id="title_dotNetFrameworkEquivalent">Эквивалент в платформе .NET Framework</item>
+  <item id="title_prerequisites">Предварительные условия</item>
+  <item id="title_robustProgramming">Отказоустойчивость</item>
+	<item id="title_securitySection">Безопасность</item>
+	<item id="title_externalResources">Внешние ресурсы</item>
+	<item id="title_demonstrates">Демонстрация</item>
+  <item id="title_appliesTo">Применимо к</item>
+	<item id="title_conclusion">Выводы</item>
+  <item id="title_background">Предпосылки</item>
+	<item id="title_whatsNew">Что нового</item>
+  <item id="title_reference">Ссылки</item>
+  <item id="title_errorMessage">Сообщение об ошибке</item>
+  <item id="title_example">Пример</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">Эта тема содержит следующие разделы:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">В этом разделе содержатся следующие подразделы:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. Все права защищены.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">См. также</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c515ae4e298aeb550ea5a7f06d0e17eabfd723c9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+  <!-- note text -->
+  <item id="notDocumented">Это API не документировано.</item>
+  <item id="preliminaryText">Это предварительная документация, которая в будущем может измениться.</item>
+
+	<!-- main window stuff -->
+	<item id="productTitle">Библиотека классов .NET Framework</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">Библиотека классов .NET Framework</item>
+	<item id="rootLink"><referenceLink target="R:Project">Пространства имён</referenceLink></item>
+  <item id="definedBy">(Определяется {0}.)</item>
+	<item id="inheritedFrom">(Унаследован от {0}.)</item>
+	<item id="overridesMember">(Переопределяет {0}.)</item>
+	<item id="locationInformation">Сборка: {0} (Модуль: {1})</item>
+ 
+  <item id="derivedClasses">Производные классы</item>
+  <item id="explicitInterfaceImplementation">Явные реализации интерфейсов</item>
+  <item id="returnValue">Возвращаемое значение</item>
+  <item id="propertyValue">Значение свойства</item>
+  <item id="fieldValue">Значение поля</item>
+  <item id="example">Пример</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Пространства имён</item>
+	<item id="topicTitle_namespace">{0} - пространство имён</item>
+	<item id="topicTitle_namespaceGroup">{0} - пространства имён</item>
+	<item id="topicTitle_class">{0} - класс</item>
+	<item id="topicTitle_structure">{0} - структура</item>
+	<item id="topicTitle_interface">{0} - интерфейс</item>
+	<item id="topicTitle_derivedTypeList">{0} - производные классы</item>
+  
+	<item id="topicTitle_delegate">{0} - делегат</item>
+	<item id="topicTitle_enumeration">{0} - перечисление</item>
+	<item id="topicTitle_field">{0} - поле</item>
+	<item id="topicTitle_method">{0}{1} - метод</item>
+	<item id="topicTitle_constructor">{0}{1} - конструктор</item>
+	<item id="topicTitle_property">{0}{1} - свойство</item>
+	<item id="topicTitle_event">{0} - событие</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0}{1} - оператор</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} - преобразование {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} - операторы преобразования</item>
+      
+	<item id="topicTitle_attachedProperty">{0} - вложенное свойство</item>
+	<item id="topicTitle_attachedEvent">{0} - вложенное событие</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} - универсальный класс</item>
+  <item id="topicTitle_generic_structure">{0} - универсальная структура</item>
+  <item id="topicTitle_generic_interface">{0} - универсальный интерфейс</item>
+  <item id="topicTitle_generic_delegate">{0} - универсальный делегат</item>
+  <item id="topicTitle_generic_method">{0}{1} - универсальный метод</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} - поля</item>
+	<item id="topicTitle_methods">{0} - методы</item>
+	<item id="topicTitle_enumMembers">Члены</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} - операторы</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0}  - операторы и преобразования типов</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} - преобразования типов</item>
+  
+	<item id="topicTitle_constructors">{0} - конструкторы</item>
+	<item id="topicTitle_properties">{0} - свойства</item>
+	<item id="topicTitle_events">{0} - события</item>
+	<item id="topicTitle_attachedProperties">{0} - вложенные свойства</item>
+ 	<item id="topicTitle_attachedEvents">{0} - вложенные события</item>
+	<item id="topicTitle_members">{0} - члены</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">Пространства имён</item>
+  <item id="indexEntry_namespace">{0} - пространство имён</item>
+  <item id="indexEntry_class">{0} - класс</item>
+	<item id="indexEntry_structure">{0} - структура</item>
+	<item id="indexEntry_interface">{0} - интерфейс</item>
+	<item id="indexEntry_delegate">{0} - делегат</item>
+	<item id="indexEntry_enumeration">{0} - перечисление</item>
+  <item id="indexEntry_enumerationMember">{0} - член перечисления</item>
+  <item id="indexEntry_members">{0}, все члены</item>
+  <item id="indexEntry_methods">{0}, методы</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, операторы</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, операторы и преобразования типов</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, преобразования типов</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} преобразования</item>
+  <item id="indexEntry_properties">{0}, свойства</item>
+  <item id="indexEntry_fields">{0}, поля</item>
+  <item id="indexEntry_events">{0}, события</item>
+  <item id="indexEntry_attachedProperties">{0}, вложенные свойства</item>
+  <item id="indexEntry_attachedEvents">{0}, вложенные события</item>
+	<item id="indexEntry_constructors">{0}, конструкторы</item>
+	<item id="indexEntry_constructor">{0}, конструктор</item>
+	<item id="indexEntry_constructorType">{0} конструктор</item>
+  <item id="indexEntry_method">{0} метод</item>
+	<item id="indexEntry_property">{0} свойство</item>
+	<item id="indexEntry_event">{0} событие</item>
+	<item id="indexEntry_field">{0} поле</item>
+	<item id="indexEntry_operator">{0} оператор</item>
+	<item id="indexEntry_attachedProperty">{0} вложенное свойство</item>
+	<item id="indexEntry_attachedEvent">{0} вложенное событие</item>
+	<item id="indexEntry_methodExplicit">{0} явно реализованный метод</item>
+	<item id="indexEntry_propertyExplicit">{0} явно реализованное свойство</item>
+	<item id="indexEntry_eventExplicit">{0} явно реализованное событие</item>
+	<item id="indexEntry_fieldExplicit">{0} явно реализованное поле</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_templates">Параметры типа</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_value">Значение</item>
+	<item id="title_delegateValue">Возвращаемое значение</item>
+	<item id="title_methodValue">Возвращаемое значение</item>
+	<item id="title_propertyValue">Значение свойства</item>
+	<item id="title_fieldValue">Значение поля</item>
+  <item id="title_implements">Реализации</item>
+	<item id="title_examples">Примеры</item>
+	<item id="title_threadSafety">Потокобезопасность</item>
+	<item id="title_permissions">Безопасность платформы .NET Framework</item> 
+	<item id="title_namespaces">Пространства имён</item>
+	<item id="title_types">Типы</item>
+	<item id="title_family">Иерархия наследования</item>
+	<item id="title_versions">Сведения о версии</item>
+	<item id="title_platforms">Платформы</item>
+  <item id="title_relatedTopics">См. также</item>
+  <item id="title_extensionUsage">Примечание об использовании</item>
+  <item id="text_extensionUsage">В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа {0}. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Visual Basic)</a> или <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Руководство по программированию в C#)</a>.</item>
+	<item id="text_moreInheritance">Подробнее...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Пространство имён</item>
+	<item id="header_namespaceDescription">Описание</item>
+	<item id="header_typeIcon">Значок</item>
+  <item id="header_className">Класс</item>
+  <item id="header_structureName">Структура</item>
+  <item id="header_interfaceName">Интерфейс</item>
+  <item id="header_delegateName">Делегат</item>
+  <item id="header_enumerationName">Перечисление</item>
+  
+	<item id="header_typeName">Имя</item>
+	<item id="header_typeDescription">Описание</item>
+	<item id="header_memberIcon">Значок</item>
+	<item id="header_memberName">Имя члена</item>
+	<item id="header_memberValue">Значение</item>
+	<item id="header_memberDescription">Описание</item>
+	<item id="header_eventTypeHeader">Тип события</item>
+	<item id="header_eventReasonHeader">Причина события</item>
+	<item id="header_exceptionName">Исключение</item>
+	<item id="header_exceptionCondition">Условие</item>
+	<item id="header_permissionName">Разрешение</item>
+	<item id="header_permissionDescription">Описание</item>
+  <item id="header_requiresName">Предусловия</item>
+  <item id="header_ensuresName">Постусловия</item>
+  <item id="header_ensuresOnThrowName">Постусловия при возникновении исключений</item>
+  <item id="header_invariantsName">Инварианты</item>
+
+	<item id="header_revHistoryDate">Дата</item>
+	<item id="header_revHistoryVersion">Версия</item>
+	<item id="header_revHistoryDescription">Описание</item>
+
+  <!-- member list table titles -->
+	<item id="tableTitle_class">Классы</item>
+	<item id="tableTitle_structure">Структуры</item>
+	<item id="tableTitle_interface">Интерфейсы</item>
+	<item id="tableTitle_delegate">Делегаты</item>
+	<item id="tableTitle_enumeration">Перечисления</item>
+  <item id="tableTitle_constructor">Конструкторы</item>
+  <item id="tableTitle_method">Методы</item>
+  <item id="tableTitle_operator">Операторы</item>
+  <item id="tableTitle_field">Поля</item>
+  <item id="tableTitle_property">Свойства</item>
+  <item id="tableTitle_event">События</item>
+  <item id="tableTitle_attachedEvent">Вложенные события</item>
+  <item id="tableTitle_attachedProperty">Вложенные свойства</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Явные&#160;реализации&#160;интерфейсов</item>
+	<item id="tableTitle_overloadMembers">Список&#160;перегрузок</item>
+  <item id="tableTitle_extensionMethod">Методы&#160;расширения</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Потокобезопасность</item>
+  <item id="boilerplate_threadSafety">Любые открытые члены этого типа, объявленные как <include item="devlang_staticKeyword"/>, являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.</item>
+
+  <item id="text_staticThreadSafe">Статические члены этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_staticNotThreadSafe">Статические члены этого типа, являются небезопасными для многопоточных операций. </item>
+  <item id="text_instanceThreadSafe">Члены экземпляра этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_instanceNotThreadSafe">Члены экземпляра этого типа, являются небезопасными для многопоточных операций. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Универсальный тип {0} предоставляет следующие члены.</item>
+  <item id="exposedMembersTableText">Тип {0} предоставляет следующие члены.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Информация о свойстве зависимостей</item>
+  <item id="routedEventInfoHeading">Информация о перенаправленном событии</item>
+  <item id="mrefTaskMoreCodeHeading">Дополнительно</item>
+
+  <item id="Overloaded">Перегружен. </item>
+  <item id="defaultNamespace">(пространство имён по-умолчанию)</item>
+  
+  <item id="typeLink">Тип:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> - параметр типа {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">Примененный к данному типу или члену атрибут <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" 
+                   prefer-overload="true" /> имеет следующее значение свойства <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources" 
+                   prefer-overload="true" />: {1}. Атрибут <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" 
+                   prefer-overload="true" /> не оказывает влияния на настольные приложения (обычно запускаемые двойным щелчком значка, вводом команды или URL-адреса в обозревателе). Дополнительные сведения см. в описании класса <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" 
+                   prefer-overload="true" /> или в разделе <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">программирование SQL Server и атрибуты защиты основного приложения</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Устарело. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Примечание: Данный API устарел.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">класс</item>
+  <item id="text_delegateLower">делегат</item>
+  <item id="text_structureLower">структура</item>
+  <item id="text_interfaceLower">интерфейс</item>
+  <item id="text_enumerationLower">перечисление</item>
+
+  <item id="text_classUpper">Класс</item>
+  <item id="text_structureUpper">Структура</item>
+  <item id="text_interfaceUpper">Интерфейс</item>
+  <item id="text_delegateUpper">Делегат</item>
+  <item id="text_enumerationUpper">Перечисление</item>
+
+	<item id="text_classTypesLower">классы</item>
+	<item id="text_structureTypesLower">структуры</item>
+	<item id="text_interfaceTypesLower">интерфейсы</item>
+	<item id="text_delegateTypesLower">делегаты</item>
+	<item id="text_enumerationTypesLower">перечисления</item>
+  
+	<item id="text_classTypesUpper">Классы</item>
+	<item id="text_structureTypesUpper">Структуры</item>
+	<item id="text_interfaceTypesUpper">Интерфейсы</item>
+	<item id="text_delegateTypesUpper">Делегаты</item>
+	<item id="text_enumerationTypesUpper">Перечисления</item>
+
+  <item id="text_membersLower">члены</item>
+  <item id="text_methodsLower">методы</item>
+  <item id="text_propertiesLower">свойства</item>
+  <item id="text_eventsLower">события</item>
+  <item id="text_fieldsLower">поля</item>
+  <item id="text_operatorsLower">операторы</item>
+  <item id="text_attachedPropertiesLower">вложенные свойства</item>
+  <item id="text_attachedEventsLower">вложенные события</item>
+
+  <item id="text_membersUpper">Члены</item>
+  <item id="text_methodsUpper">Методы</item>
+  <item id="text_propertiesUpper">Свойства</item>
+  <item id="text_eventsUpper">События</item>
+  <item id="text_fieldsUpper">Поля</item>
+  <item id="text_operatorsUpper">Операторы</item>
+  <item id="text_attachedPropertiesUpper">Вложенные свойства</item>
+  <item id="text_attachedEventsUpper">Вложенные события</item>
+
+	<!-- alt text for images -->
+  <item id="altText_pubClass">Открытый класс</item>
+  <item id="altText_pubStructure">Открытая структура</item>
+  <item id="altText_pubInterface">Открытый интерфейс</item>
+  <item id="altText_pubDelegate">Открытый делегат</item>
+  <item id="altText_pubEnumeration">Открытое перечисление</item>
+  <item id="altText_protClass">Защищённый класс</item>
+  <item id="altText_protStructure">Защищённая структура</item>
+  <item id="altText_protInterface">Защищённый интерфейс</item>
+  <item id="altText_protDelegate">Защищённый делегат</item>
+  <item id="altText_protEnumeration">Защищённое перечисление</item>
+  <item id="altText_privClass">Закрытый класс</item>
+  <item id="altText_privStructure">Закрытая структура</item>
+  <item id="altText_privInterface">Закрытый интерфейс</item>
+  <item id="altText_privDelegate">Закрытый делегат</item>
+  <item id="altText_privEnumeration">Закрытое перечисление</item>
+
+  <item id="altText_pubConstructor">Открытый конструктор</item>
+  <item id="altText_pubMethod">Открытый метод</item>
+  <item id="altText_pubField">Открытое поле</item>
+  <item id="altText_pubProperty">Открытое свойство</item>
+  <item id="altText_pubEvent">Открытое событие</item>
+  <item id="altText_pubOperator">Открытый оператор</item>
+  <item id="altText_pubAttachedProperty">Открытое вложенное свойство</item>
+  <item id="altText_pubAttachedEvent">Открытое вложенное событие</item>
+  <item id="altText_protConstructor">Защищённый конструктор</item>
+  <item id="altText_protMethod">Защищённый метод</item>
+  <item id="altText_protField">Защищённое поле</item>
+  <item id="altText_protProperty">Защищённое свойство</item>
+  <item id="altText_protEvent">Защищённое событие</item>
+  <item id="altText_protOperator">Защищённый оператор</item>
+  <item id="altText_protAttachedProperty">Защищённое вложенное свойство</item>
+  <item id="altText_protAttachedEvent">Защищённое вложенное событие</item>
+  <item id="altText_privConstructor">Закрытый конструктор</item>
+  <item id="altText_privMethod">Закрытый метод</item>
+  <item id="altText_privField">Закрытое поле</item>
+  <item id="altText_privProperty">Закрытое свойство</item>
+  <item id="altText_privEvent">Закрытое событие</item>
+  <item id="altText_privOperator">Закрытый оператор</item>
+  <item id="altText_privtAttachedProperty">Закрытое вложенное свойство</item>
+  <item id="altText_privAttachedEvent">Закрытое вложенное событие</item>
+  <item id="altText_static">Статический член</item>
+  <item id="altText_pubextension">Открытый метод расширения</item>
+  <item id="altText_protextension">Защищённый метод расширения</item>
+  <item id="altText_privextension">Закрытый метод расширения</item>
+
+  <item id="altText_CompactFramework">Поддерживается платформой .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Поддерживается платформой XNA Framework</item>
+  <item id="altText_SilverlightMobile">Поддерживается платформой <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Явные реализации интерфейса</item>
+  <item id="altText_CodeExample">Пример кода</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} - пространство имён</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} - <include item="text_{1}Lower"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} - члены</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} - перегрузка</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Пространство имён:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Платформы:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Сборки:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Сборка:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (в {1}.{2}) Версия: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Сборка:</strong> {0} (в {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Поддерживается в: {0}</item>
+  <item id="supportedIn_2">Поддерживается в: {0}, {1}</item>
+  <item id="supportedIn_3">Поддерживается в: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Поддерживается в: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Поддерживается в: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Устарело (предупреждение компилятора) в {0}</item>
+  <item id="obsoleteError">Устарело (не компилируется) в {0} и более поздних версиях</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Полное доверие для модуля немедленного вызова. Данный элемент не может использоваться кодом с частичным доверием. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Использование библиотек из не вполне надежного кода</a>.</item>
+  
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Этот параметр типа является ковариантным. Это означает, что можно использовать либо указанный тип, либо более производный тип. </item>
+  <item id="text_contravariant">Этот параметр типа является контрвариантным. Это означает, что можно использовать либо указанный тип, либо менее производный тип. </item>
+  <item id="text_variance">Дополнительные сведения о ковариации и контрвариации см. в разделе <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Ковариация и контравариация в универсальных шаблонах</a>.</item>
+  
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Этот интерфейс API CLS-несовместим.</item>
+  <item id="boilerplate_AltClsCompliant">CLS-совместимая альтернатива - {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Этот тип имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к любому члену этого типа из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Этот член имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к этому члену из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="text_securityCritical">[ВАЖНЫЙ ЭЛЕМЕНТ БЕЗОПАСНОСТИ] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Этот член перегружен. Для получения полной информации о данном члене, включая синтаксис, использование и примеры, щелкните имя в списке перегрузок.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>Примечание для платформы {0}:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p><include item="netfw"/> и <include item="netcfw"/> поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">Требования к системе для .NET Framework</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    Список операционных систем и браузеров, поддерживаемых <include item="silverlight"/>, см. в разделе <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Поддерживаемые операционные системы и браузеры</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS для XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">не имеет соответствия в xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>В <include item="{0}"/>, этот член переопределён как {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>В <include item="{0}"/>&#160;<include item="{1}"/>, этот член унаследован от {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>В <include item="{0}"/>&#160;<include item="{1}"/>, этот метод является {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Этот член переопределяет {0}.</item>
+  <item id="boilerplate_useBaseSee">См. {0}.</item>
+  <item id="boilerplate_useBase">Этот член переопределяет {0}; по данной теме может быть доступна более полная документация.</item>
+
+  <item id="boilerplate_flagsSummary">Это перечисление имеет атрибут {0}, поддерживающий побитовое соединение составляющих его значений.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Члены</item>
+	<item id="membersTitle">Список перегрузки</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Инициализирует новый экземпляр класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocStaticConstructor">Инициализирует статические члены класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDispose">Освобождает все ресурсы, используемые объектом <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Освобождает неуправляемые ресурсы, используемые объектом <referenceLink target="T:{0}" />, а при необходимости освобождает также управляемые ресурсы</item>
+  <item id="SMCAutoDocDisposeParam">Значение true позволяет освободить управляемые и неуправляемые ресурсы; значение false позволяет освободить только неуправляемые ресурсы.</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[&lt;{0}&gt; отсутствует в документации для "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[&lt;{0} name="{1}"/&gt; отсутствует в документации для "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[&lt;include&gt; отсутствует в '{0}'.  Файл: '{1}' Путь: '{2}']</p></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..27081fbac747df8dab72955dcdcb561272a666fc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/shared_content.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve"
+				 xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">ru-RU</item>
+	<item id="brandingLocaleCss">branding-ru-RU.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+  <item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+  <!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+  <!-- freshness date -->
+  <item id="boilerplate_UpdateTitle"><span class="introStyle">Обновлено: {0}</span></item>
+  <!-- if the TransformComponent of the BuildAssembler config file has the argument:
+             argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+       the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+  <item id="text_defaultFreshnessDate"/>
+
+  <!-- topic title -->
+  <item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Подсказка</item>
+	<item id="alert_title_caution">Внимание</item>
+	<item id="alert_title_security">Примечание по безопасности</item>
+	<item id="alert_title_note">Примечание</item>
+	<item id="alert_title_important">Важно</item>
+	<item id="alert_title_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_title_visualC#">Примечание для C#</item>
+	<item id="alert_title_visualC++">Примечание для C++</item>
+	<item id="alert_title_visualJ#">Примечание для J#</item>
+	<item id="text_NotesForImplementers">Примечания для реализующих объектов</item>
+	<item id="text_NotesForCallers">Примечания для вызывающих объектов</item>
+	<item id="text_NotesForInheritors">Примечания для наследников</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Подсказка</item>
+	<item id="alert_altText_caution">Внимание</item>
+	<item id="alert_altText_security">Примечание по безопасности</item>
+	<item id="alert_altText_note">Примечание</item>
+	<item id="alert_altText_important">Важно</item>
+	<item id="alert_altText_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_altText_visualC#">Примечание для C#</item>
+	 <item id="alert_altText_visualC++">Примечание для C++</item>
+	<item id="alert_altText_visualJ#">Примечание для J#</item>
+
+  <!-- section titles -->
+  <item id="title_remarks">Заметки</item>
+  <item id="title_changeHistory">История изменений</item>
+  <item id="title_events">События</item>
+  <item id="title_exceptions">Исключения</item>
+  <item id="title_contracts">Контракты</item>
+  <item id="title_setter">Set</item>
+  <item id="title_getter">Get</item>
+  <item id="title_seeAlso_tasks">Задачи</item>
+  <item id="title_seeAlso_reference">Ссылки</item>
+  <item id="title_seeAlso_concepts">Основные понятия</item>
+  <item id="title_seeAlso_otherResources">Другие ресурсы</item>
+  <item id="title_revisionHistory">История редакций</item>
+  
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">Для получения дополнительной информации см. </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> и </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">VB и C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>В настоящее время язык не поддерживается либо пример кода отсутствует.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+  <!-- language keywords -->
+  <item id="devlang_nullKeyword"><span class="keyword">null</span> (<span class="keyword">Nothing</span> в Visual Basic)</item>
+  <item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> в Visual Basic)</item>
+  <item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> в Visual Basic)</item>
+  <item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> в Visual Basic)</item>
+  <item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> в Visual Basic)</item>
+  <item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> в Visual Basic)</item>
+  <item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> в Visual Basic)</item>
+  <item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> в Visual Basic)</item>
+  <item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> в Visual Basic)</item>
+  <item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> в Visual Basic)</item>
+  
+  <!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+  <item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+  <item id="top">В начало страницы</item>
+
+  <!-- Copyright -->	
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; Корпорация Майкрософт (Microsoft Corporation), 2005 г. Все права защищены.</item> 
+
+  <!-- Bibliography -->
+  <item id="bibliographyTitle">Библиография</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Копировать</item>
+  
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2378b97d8f201e02781eb1ae8327ecbb12edffd8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/ru-RU/shared_content_mshc.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..72d1e5a71c92560b1a4071158b0894d2672419bf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/shared_content.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-en-US.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Tip</item>
+	<item id="alert_title_caution">Caution</item>
+	<item id="alert_title_security">Security Note</item>
+	<item id="alert_title_note">Note</item>
+	<item id="alert_title_important">Important</item>
+	<item id="alert_title_visualBasic">Visual Basic Note</item>
+	<item id="alert_title_visualC#">C# Note</item>
+	<item id="alert_title_visualC++">C++ Note</item>
+	<item id="alert_title_visualJ#">J# Note</item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Tip</item>
+	<item id="alert_altText_caution">Caution note</item>
+	<item id="alert_altText_security">Security note</item>
+	<item id="alert_altText_note">Note</item>
+	<item id="alert_altText_important">Important note</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">Remarks</item>
+	<item id="title_changeHistory">Change History</item>
+	<item id="title_events">Events</item>
+	<item id="title_exceptions">Exceptions</item>
+	<item id="title_contracts">Contracts</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tasks</item>
+	<item id="title_seeAlso_reference">Reference</item>
+	<item id="title_seeAlso_concepts">Concepts</item>
+	<item id="title_seeAlso_otherResources">Other Resources</item>
+	<item id="title_revisionHistory">Revision History</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">For more information, see </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> and </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic and C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>No code example is currently available or this language may not be supported.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">a null reference (<span class="keyword">Nothing</span> in Visual Basic)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> in Visual Basic)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> in Visual Basic)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> in Visual Basic)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> in Visual Basic)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> in Visual Basic)</item>
+	<item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> in Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> in Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> in Visual Basic)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Top</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">Bibliography</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copy</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3d8ebe079d395fd9c070ba13d079c9a40fbb3c98
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+    <!-- main window stuff -->
+    <item id="productTitle">.NET框架指南</item>
+
+    <!-- body -->
+
+    <!-- section titles -->
+    <item id="title_inThisSection">此节中</item>
+    <item id="title_buildInstructions">编译代码</item>
+    <item id="title_nextSteps">下一步</item>
+    <item id="title_requirements">要求</item>
+    <item id="title_relatedSections">相关内容</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_syntax">语法</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_returnValue">返回值</item>
+    <item id="title_attributesAndElements">特性和元素</item>
+    <item id="title_attributes">特性</item>
+    <item id="title_childElement">子元素</item>
+    <item id="title_parentElement">父元素</item>
+    <item id="title_elementInformation">元素信息</item>
+    <item id="title_textValue">文本值</item>
+    <item id="title_dotNetFrameworkEquivalent">.NET框架等价项</item>
+    <item id="title_prerequisites">必备条件</item>
+    <item id="title_robustProgramming">鲁棒编程</item>
+    <item id="title_securitySection">安全性</item>
+    <item id="title_externalResources">外部资源</item>
+    <item id="title_demonstrates">演示</item>
+    <item id="title_appliesTo">应用到</item>
+    <item id="title_conclusion">结论</item>
+    <item id="title_background">背景资料</item>
+    <item id="title_whatsNew">新特性</item>
+    <item id="title_reference">参考</item>
+    <item id="title_errorMessage">错误消息</item>
+    <item id="title_example">示例</item>
+
+    <!-- autoOutline boilerplate -->
+    <item id="boilerplate_autoOutlineTopLevelIntro">本页包含以下内容:</item>
+    <item id="boilerplate_autoOutlineSubsectionIntro">本节包含以下子节内容:</item>
+
+    <!-- resolve the autoOutline token -->
+    <item id="autoOutline">
+        <autoOutline/>
+    </item>
+
+    <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+    <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}。保留所有权力</p></item>
+
+    <!-- Glossary related entries -->
+    <item id="text_relatedEntries">参见:</item>
+
+    <!-- Legacy content -->
+
+    <!-- values for MSHelp:Attr Name="TopicType" -->
+    <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+    <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+    <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+    <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+    <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+    <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fa2e1c1bf50d8f598c02a746dd74f084336ee86d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/reference_content.xml
@@ -0,0 +1,639 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+    <!-- note text -->
+    <item id="notDocumented">此 API 没有对应的文档。</item>
+    <item id="preliminaryText">此 API 尚未最终确定,随时可能调整。</item>
+
+    <!-- main window stuff -->
+    <item id="productTitle">.NET 框架类库</item>
+
+    <!-- inserted boilerplate -->
+    <item id="runningHeaderText">.NET 框架类库</item>
+    <item id="rootLink"><referenceLink target="R:Project">命名空间</referenceLink></item>
+    <item id="definedBy">(由 {0} 定义。)</item>
+    <item id="inheritedFrom">(继承自 {0}。)</item>
+    <item id="overridesMember">(重写 {0}.)</item>
+    <item id="locationInformation">程序集:{0} (模块:{1})</item>
+
+    <item id="derivedClasses">派生类</item>
+    <item id="explicitInterfaceImplementation">显式的接口实现</item>
+    <item id="returnValue">返回值</item>
+    <item id="propertyValue">属性值</item>
+    <item id="fieldValue">字段值</item>
+    <item id="example">示例</item>
+
+    <!-- topic titles -->
+    <item id="meta_mshelp_tocTitle">{0}</item>
+    <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+    <item id="topicTitle_root">命名空间</item>
+    <item id="topicTitle_namespace">{0} 命名空间</item>
+    <item id="topicTitle_namespaceGroup">{0} 命名空间</item>
+    <item id="topicTitle_class">{0} ç±»</item>
+    <item id="topicTitle_structure">{0} 结构</item>
+    <item id="topicTitle_interface">{0} 接口</item>
+    <item id="topicTitle_derivedTypeList">{0} 派生类</item>
+
+    <item id="topicTitle_delegate">{0} 委托</item>
+    <item id="topicTitle_enumeration">{0} 枚举</item>
+    <item id="topicTitle_field">{0} 字段</item>
+    <item id="topicTitle_method">{0} 方法 {1}</item>
+    <item id="topicTitle_constructor">{0} 构造函数 {1}</item>
+    <item id="topicTitle_property">{0} 属性 {1}</item>
+    <item id="topicTitle_event">{0} 事件</item>
+
+    <!-- title for operator members -->
+    <item id="topicTitle_operator">{0} 运算符 {1}</item>
+
+    <!-- title for op_explicit and op_implicit members -->
+    <item id="topicTitle_typeConversion">{0} 转换 {1}</item>
+    <!-- title for overload op_explicit and op_implicit topics -->
+    <item id="topicTitle_conversionOperator">{0} 转换运算符</item>
+
+    <item id="topicTitle_attachedProperty">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvent">{0} 附加事件</item>
+
+    <item id="generic"> 泛型</item>
+    <item id="topicTitle_generic_class">{0} 泛型类</item>
+    <item id="topicTitle_generic_structure">{0} 泛型结构</item>
+    <item id="topicTitle_generic_interface">{0} 泛型接口</item>
+    <item id="topicTitle_generic_delegate">{0} 泛型委托</item>
+    <item id="topicTitle_generic_method">{0} 泛型方法 {1}</item>
+
+    <!-- list topic titles -->
+    <item id="topicTitle_fields">{0} 字段</item>
+    <item id="topicTitle_methods">{0} 方法</item>
+    <item id="topicTitle_enumMembers">成员</item>
+
+    <!-- title for operator list topic that has [operators + no type conversions] -->
+    <item id="topicTitle_operators">{0} 运算符</item>
+    <!-- title for operator list topic that has [operators + type conversions] -->
+    <item id="topicTitle_operatorsAndTypeConversions">{0} 运算符与类型转换</item>
+    <!-- title for operator list topic that has [no operators + type conversions] -->
+    <item id="topicTitle_typeConversions">{0} 类型转换</item>
+
+    <item id="topicTitle_constructors">{0} 构造函数</item>
+    <item id="topicTitle_properties">{0} 属性</item>
+    <item id="topicTitle_events">{0} 事件</item>
+    <item id="topicTitle_attachedProperties">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvents">{0} 附加事件</item>
+    <item id="topicTitle_members">{0} 成员</item>
+
+    <!-- index entries -->
+    <item id="indexEntry_root">命名空间</item>
+    <item id="indexEntry_namespace">{0} 命名空间</item>
+    <item id="indexEntry_class">{0} ç±»</item>
+    <item id="indexEntry_structure">{0} 结构</item>
+    <item id="indexEntry_interface">{0} 接口</item>
+    <item id="indexEntry_delegate">{0} 委托</item>
+    <item id="indexEntry_enumeration">{0} 枚举</item>
+    <item id="indexEntry_enumerationMember">{0} 枚举成员</item>
+    <item id="indexEntry_members">{0}, 所有成员</item>
+    <item id="indexEntry_methods">{0}, 方法</item>
+    <!-- index entry for operator list topic that has [operators + no type conversions] -->
+    <item id="indexEntry_operators">{0}, 运算符</item>
+    <!-- index entry for operator list topic that has [operators + type conversions] -->
+    <item id="indexEntry_operatorsAndTypeConversions">{0},运算符与类型转换</item>
+    <!-- index entry for operator list topic that has [no operators + type conversions] -->
+    <item id="indexEntry_typeConversions">{0},类型转换</item>
+    <!-- index entries for op_explicit and op_implicit members -->
+    <item id="indexEntry_conversionOperator">{0} 转换</item>
+    <item id="indexEntry_properties">{0}, 属性</item>
+    <item id="indexEntry_fields">{0}, 字段</item>
+    <item id="indexEntry_events">{0}, 事件</item>
+    <item id="indexEntry_attachedProperties">{0}, 附加属性</item>
+    <item id="indexEntry_attachedEvents">{0}, 附加事件</item>
+    <item id="indexEntry_constructors">{0}, 构造函数</item>
+    <item id="indexEntry_constructor">{0}, 构造函数</item>
+    <item id="indexEntry_constructorType">{0} 构造函数</item>
+    <item id="indexEntry_method">{0} 方法</item>
+    <item id="indexEntry_property">{0} 属性</item>
+    <item id="indexEntry_event">{0} 事件</item>
+    <item id="indexEntry_field">{0} 字段</item>
+    <item id="indexEntry_operator">{0} 运算符</item>
+    <item id="indexEntry_attachedProperty">{0} 附加属性</item>
+    <item id="indexEntry_attachedEvent">{0} 附加事件</item>
+    <item id="indexEntry_methodExplicit">{0} 显式实现的方法</item>
+    <item id="indexEntry_propertyExplicit">{0} 显式实现的属性</item>
+    <item id="indexEntry_eventExplicit">{0} 显式实现的事件</item>
+    <item id="indexEntry_fieldExplicit">{0} 显式实现的字段</item>
+
+    <!-- section titles -->
+    <item id="title_syntax">语法</item>
+    <item id="title_templates">类型参数</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_value">值</item>
+    <item id="title_delegateValue">返回值</item>
+    <item id="title_methodValue">返回值</item>
+    <item id="title_propertyValue">属性值</item>
+    <item id="title_fieldValue">字段值</item>
+    <item id="title_implements">实现</item>
+    <item id="title_examples">示例</item>
+    <item id="title_threadSafety">线程安全性</item>
+    <item id="title_permissions">权限</item>
+    <item id="title_namespaces">命名空间</item>
+    <item id="title_types">类型</item>
+    <item id="title_family">继承层次</item>
+    <item id="title_versions">版本信息</item>
+    <item id="title_platforms">平台</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_extensionUsage">备注</item>
+    <item id="text_extensionUsage">在 Visual Basic 和 C# 中,这个方法可以当成为类型{0}的实例方法来调用。在采用实例方法语法调用这个方法时,请省略第一个参数。请参考 <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (Visual Basic)</a> 或 <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (C# 编程指南)</a> 获取更多信息。</item>
+    <item id="text_moreInheritance">更多...</item>
+
+    <!-- table headers -->
+    <item id="header_namespaceName">命名空间</item>
+    <item id="header_namespaceDescription">说明</item>
+    <item id="header_typeIcon">图标</item>
+    <item id="header_className">ç±»</item>
+    <item id="header_structureName">结构</item>
+    <item id="header_interfaceName">接口</item>
+    <item id="header_delegateName">委托</item>
+    <item id="header_enumerationName">枚举</item>
+
+    <item id="header_typeName">名称</item>
+    <item id="header_typeDescription">说明</item>
+    <item id="header_memberIcon">图标</item>
+    <item id="header_memberName">成员名称</item>
+    <item id="header_memberValue">值</item>
+    <item id="header_memberDescription">说明</item>
+    <item id="header_eventType">事件类型</item>
+    <item id="header_eventReason">原因</item>
+    <item id="header_exceptionName">异常</item>
+    <item id="header_exceptionCondition">条件</item>
+    <item id="header_permissionName">权限</item>
+    <item id="header_permissionDescription">说明</item>
+    <item id="header_requiresName">Requires</item>
+    <item id="header_ensuresName">Ensures</item>
+    <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+    <item id="header_invariantsName">Invariants</item>
+
+    <item id="header_revHistoryDate">日期</item>
+    <item id="header_revHistoryVersion">版本</item>
+    <item id="header_revHistoryDescription">说明</item>
+
+    <!-- member list table titles -->
+    <item id="tableTitle_namespace">命名空间</item>
+    <item id="tableTitle_class">ç±»</item>
+    <item id="tableTitle_structure">结构</item>
+    <item id="tableTitle_interface">接口</item>
+    <item id="tableTitle_delegate">委托</item>
+    <item id="tableTitle_enumeration">枚举</item>
+    <item id="tableTitle_constructor">构造函数</item>
+    <item id="tableTitle_method">方法</item>
+    <item id="tableTitle_operator">运算符</item>
+    <item id="tableTitle_field">字段</item>
+    <item id="tableTitle_property">属性</item>
+    <item id="tableTitle_event">事件</item>
+    <item id="tableTitle_attachedEvent">附加事件</item>
+    <item id="tableTitle_attachedProperty">附加属性</item>
+    <item id="tableTitle_explicitInterfaceImplementation">显式接口实现</item>
+    <item id="tableTitle_overloadMembers">重载列表</item>
+    <item id="tableTitle_extensionMethod">扩展方法</item>
+
+    <!-- Thread Safety -->
+    <item id="text_threadSafety">线程安全</item>
+    <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/> members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+    <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+    <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+    <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+    <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+
+    <!-- boilerplate intro to member list tables -->
+    <item id="genericExposedMembersTableText">The {0} generic type exposes the following members.</item>
+    <item id="exposedMembersTableText">The {0} type exposes the following members.</item>	
+
+    <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+    <item id="routedEventInfoHeading">Routed Event Information</item>
+    <item id="mrefTaskMoreCodeHeading">更多代码</item>
+
+    <item id="Overloaded">已重载。</item>	
+    <item id="defaultNamespace">( 默认命名空间 )</item>
+
+    <item id="typeLink">类型:{0}</item>
+    <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+    <item id="typeLinkToTypeParameter">
+        <strong>{0}</strong> {1} 的类型参数。</item>
+
+    <!-- Host protection boilerplate text -->
+    <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+    <item id="boilerplate_hostProtectionAttribute">The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> attribute applied to this type or member has the following <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> property value: {1}. The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> class or <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server Programming and Host Protection Attributes</a>.</item>
+
+    <!-- Obsolete boilerplate text -->
+    <item id="boilerplate_obsoleteShort">
+        <span style="color: red;"><strong>已过时。</strong></span>
+    </item>
+    <item id="boilerplate_obsoleteLong">
+        <span style="color: red;"><strong>注意:此 API 现在已过时。</strong></span>
+    </item>
+
+    <!-- Group and SubGroup text -->
+    <item id="text_classLower">ç±»</item>
+    <item id="text_delegateLower">委托</item>
+    <item id="text_structureLower">结构</item>
+    <item id="text_interfaceLower">接口</item>
+    <item id="text_enumerationLower">枚举</item>
+
+    <item id="text_classUpper">ç±»</item>
+    <item id="text_structureUpper">结构</item>
+    <item id="text_interfaceUpper">接口</item>
+    <item id="text_delegateUpper">委托</item>
+    <item id="text_enumerationUpper">枚举</item>
+
+    <item id="text_classTypesLower">ç±»</item>
+    <item id="text_structureTypesLower">结构</item>
+    <item id="text_interfaceTypesLower">接口</item>
+    <item id="text_delegateTypesLower">委托</item>
+    <item id="text_enumerationTypesLower">枚举</item>
+
+    <item id="text_classTypesUpper">ç±»</item>
+    <item id="text_structureTypesUpper">结构</item>
+    <item id="text_interfaceTypesUpper">接口</item>
+    <item id="text_delegateTypesUpper">委托</item>
+    <item id="text_enumerationTypesUpper">枚举</item>
+
+    <item id="text_membersLower">成员</item>
+    <item id="text_methodsLower">方法</item>
+    <item id="text_propertiesLower">属性</item>
+    <item id="text_eventsLower">事件</item>
+    <item id="text_fieldsLower">字段</item>
+    <item id="text_operatorsLower">运算符</item>
+    <item id="text_attachedPropertiesLower">附加属性</item>
+    <item id="text_attachedEventsLower">附加事件</item>
+
+    <item id="text_membersUpper">成员</item>
+    <item id="text_methodsUpper">方法</item>
+    <item id="text_propertiesUpper">属性</item>
+    <item id="text_eventsUpper">事件</item>
+    <item id="text_fieldsUpper">字段</item>
+    <item id="text_operatorsUpper">运算符</item>
+    <item id="text_attachedPropertiesUpper">附加属性</item>
+    <item id="text_attachedEventsUpper">附加事件</item>
+
+    <!-- alt text for images -->
+    <item id="altText_pubClass">公共类</item>
+    <item id="altText_pubStructure">公共结构</item>
+    <item id="altText_pubInterface">公共接口</item>
+    <item id="altText_pubDelegate">公共委托</item>
+    <item id="altText_pubEnumeration">公共枚举</item>
+    <item id="altText_protClass">受保护的类</item>
+    <item id="altText_protStructure">受保护的结构</item>
+    <item id="altText_protInterface">受保护的接口</item>
+    <item id="altText_protDelegate">受保护的委托</item>
+    <item id="altText_protEnumeration">受保护的枚举</item>
+    <item id="altText_privClass">私有类</item>
+    <item id="altText_privStructure">私有结构</item>
+    <item id="altText_privInterface">私有接口</item>
+    <item id="altText_privDelegate">私有委托</item>
+    <item id="altText_privEnumeration">私有枚举</item>
+
+    <item id="altText_pubConstructor">公共构造函数</item>
+    <item id="altText_pubMethod">公共方法</item>
+    <item id="altText_pubField">公共字段</item>
+    <item id="altText_pubProperty">公共属性</item>
+    <item id="altText_pubEvent">公共事件</item>
+    <item id="altText_pubOperator">公共运算符</item>
+    <item id="altText_pubAttachedProperty">公共的附加属性</item>
+    <item id="altText_pubAttachedEvent">公共的附加事件</item>
+    <item id="altText_protConstructor">受保护的构造函数</item>
+    <item id="altText_protMethod">受保护的方法</item>
+    <item id="altText_protField">受保护的字段</item>
+    <item id="altText_protProperty">受保护的属性</item>
+    <item id="altText_protEvent">受保护的事件</item>
+    <item id="altText_protOperator">受保护的运算符</item>
+    <item id="altText_protAttachedProperty">受保护的附加属性</item>
+    <item id="altText_protAttachedEvent">受保护的附加事件</item>
+    <item id="altText_privConstructor">私有构造函数</item>
+    <item id="altText_privMethod">私有方法</item>
+    <item id="altText_privField">私有字段</item>
+    <item id="altText_privProperty">私有属性</item>
+    <item id="altText_privEvent">私有事件</item>
+    <item id="altText_privOperator">私有运算符</item>
+    <item id="altText_privtAttachedProperty">私有附加属性</item>
+    <item id="altText_privAttachedEvent">私有附加事件</item>
+    <item id="altText_static">静态成员</item>
+    <item id="altText_pubextension">公共扩展器方法</item>
+    <item id="altText_protextension">受保护的扩展器方法</item>
+    <item id="altText_privextension">私有扩展器方法</item>
+
+    <item id="altText_CompactFramework">支持 .NET Compact Framework</item>
+    <item id="altText_XNAFramework">支持 XNA Framework</item>
+    <item id="altText_SilverlightMobile">支持 <include item="silverlight_mobile"/>
+    </item>
+    <item id="altText_ExplicitInterface">显式接口实现</item>
+    <item id="altText_CodeExample">代码示例</item>
+
+    <item id="boilerplate_seeAlsoNamespaceLink">{0} 命名空间</item>
+    <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/>
+    </item>
+    <item id="boilerplate_seeAlsoMembersLink">{0} 成员</item>
+    <item id="boilerplate_seeAlsoOverloadLink">{0} 重载</item>
+
+    <item id="boilerplate_requirementsNamespace">
+        <strong>命名空间:</strong> 
+    </item>
+
+    <item id="boilerplate_requirementsPlatforms">
+        <strong>平台:</strong>{0}
+    </item>
+
+    <item id="boilerplate_requirementsAssemblies">
+        <strong>程序集:</strong>
+    </item>
+
+    <item id="boilerplate_requirementsAssemblyLabel">
+        <strong>程序集:</strong>
+    </item>
+
+    <item id="assemblyNameAndModule">{0} (在 {1}.{2} 中) 版本:{3}</item>
+
+    <item id="boilerplate_requirementsAssembly">
+        <strong>程序集:</strong> {0} (在 {1}.dll 中)
+    </item>
+
+    <!-- Used for Version Information Section -->
+    <item id="supportedIn_1">支持版本:{0}</item>
+    <item id="supportedIn_2">支持版本:{0}, {1}</item>
+    <item id="supportedIn_3">支持版本:{0}, {1}, {2}</item>
+    <item id="supportedIn_4">支持版本:{0}, {1}, {2}, {3}</item>
+    <item id="supportedIn_5">支持版本:{0}, {1}, {2}, {3}, {4}</item>
+    <item id="supportedIn_6">支持版本:{0}, {1}, {2}, {3}, {4}, {5}</item>
+    <item id="supportedIn_7">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+    <item id="supportedIn_8">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+    <item id="supportedIn_9">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+    <item id="supportedIn_10">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+    <item id="supportedIn_11">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+    <item id="supportedIn_12">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+    <item id="supportedIn_13">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+    <item id="supportedIn_14">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+    <item id="supportedIn_15">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+    <item id="supportedIn_16">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+    <item id="obsoleteWarning">已在 {0} 中过时 (编译器警告)</item>
+    <item id="obsoleteError">已在 {0} 及后续版本中过时 (无法编译)</item>
+
+    <!-- APTCA Boilerplate text -->
+    <item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+    <!-- Variance boilerplate text -->
+    <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+    <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+    <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+    <!-- Non-CLS Compliant boilerplate text-->
+    <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+    <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+
+    <!-- Security Critical Boilerplate text-->
+    <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+    <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+    <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+
+    <!-- Overload page boilerplate -->
+    <item id="boilerplate_overloadSummary">此方法已被重载。请点击重载列表中的名称以获取该成员的完整信息,包括语法、使用方法以及示例。</item>
+
+    <!-- Platforms Information and Platform Notes --> 
+    <item id="boilerplate_PlatformNote">
+        <strong>{0} 平台备注:</strong> {1}
+    </item>
+    <item id="boilerplate_systemRequirementsLink">
+        <p>“<include item="netfw"/> and <include item="netcfw"/>”不被所有的平台和版本支持。请参阅 <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET 框架系统需求</a> 以了解所有支持的平台和版本。</p>
+    </item>
+
+    <!-- Platforms boilerplate for Silverlight mref builds --> 
+    <item id="boilerplate_silverlightPlatforms">
+    要获取 <include item="silverlight"/> 所支持的操作系统和浏览器,请参见<a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">支持的操作系统和浏览器</a>。
+    </item>
+
+    <item id="Win95">Windows 95</item>
+    <item id="Win98Se">Windows 98 Second Edition</item>
+
+    <item id="WinNT4">Windows NT 4.0</item>
+    <item id="WinNT4Svr">Windows NT Server 4.0</item>
+    <item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+
+    <item id="Win2kFamily">Windows 2000</item>
+    <item id="Win2kProfessional">Windows 2000 Professional</item>
+    <item id="Win2kServer">Windows 2000 Server</item>
+    <item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+
+    <item id="WinXPPersonal">Windows XP Home Edition</item>
+    <item id="WinXPPro">Windows XP Professional x64 Edition</item>
+    <item id="WinXPSvr">
+        <include item="WinSvr2003"/>
+    </item>
+    <item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+    <item id="WinXpEmbedded">Windows XP Embedded</item>
+
+    <item id="ECMACLI">通用语言架构 (CLI) 标准</item>
+
+    <item id="MSTV">Microsoft TV</item>
+
+    <item id="Win9xFamily">
+        <include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/>
+    </item>
+    <item id="WinNt4Family">
+        <include item="WinNT4"/>
+    </item>
+    <item id="WinXpFamily">
+        <include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/>
+    </item>
+    <item id="WinCE">
+        <include item="WindowsCE"/>
+    </item>
+    <item id="Win2K">
+        <include item="WinSvr2000"/>
+    </item>
+    <item id="Win2KSvr">
+        <include item="Win2kServer"/>
+    </item>
+    <item id="Win2KADC">
+        <include item="Win2kDatacenter"/>
+    </item>
+
+    <item id="WinNt4Server">
+        <include item="WinNT4Svr"/>
+    </item>
+    <item id="WinNt4Workstation">
+        <include item="WinNT4Wks"/>
+    </item>
+    <item id="Win2kAdvanced">
+        <include item="Win2kDatacenter"/>
+    </item>
+    <item id="Win2kServerApplianceKit"/>
+    <item id="WinXpHome">
+        <include item="WinXPPersonal"/>
+    </item>
+    <item id="WinXpProfessional">
+        <include item="WinXPPro"/>
+    </item>
+    <item id="Win2003Server">
+        <include item="WinXPSvr"/>
+    </item>
+    <item id="NETCF">
+        <include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/>
+    </item>
+
+    <item id="XNA">
+        <include item="Xbox360"/>, <include item="Zune" />
+    </item>
+
+    <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+    <item id="Win98">Windows 98</item>
+    <item id="WinME">Windows Millennium Edition</item>
+    <item id="WinSvr2000">Windows Server 2000 SP4</item>
+    <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+    <item id="WinXP">Windows XP SP3</item>
+    <item id="WindowsCE">Windows CE</item>
+    <item id="PocketPC">Windows Mobile for Pocket PC</item>
+    <item id="SmartPhone">Windows Mobile for Smartphone</item>
+    <item id="WinSvr2003">Windows Server 2003</item>
+    <item id="WinSvr2008">Windows Server 2008</item>
+    <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+    <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+    <item id="WinXPSE">Windows XP Starter Edition</item>
+    <item id="WinVista">Windows Vista</item>
+    <item id="Win7">Windows 7</item>
+    <item id="Xbox360">Xbox 360</item>
+    <item id="Zune">Zune</item>
+
+    <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+    <item id="netfw">.NET Framework</item>
+    <item id="netcfw">.NET Compact Framework</item>
+    <item id="xnafw">XNA Framework</item>
+    <item id="silverlight">Silverlight</item>
+    <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+
+    <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+    <item id="netfw40">4.0</item>
+    <item id="netfw35_1">3.5 SP1</item>
+    <item id="netfw35">3.5</item>
+    <item id="netfw30_1">3.0 SP1</item>
+    <item id="netfw30">3.0</item>
+    <item id="netfw20_1">2.0 SP1</item>
+    <item id="netfw20">2.0</item>
+    <item id="netfw11">1.1</item>
+    <item id="netfw10">1.0</item>
+
+    <item id="netcfw37">3.7</item>
+    <item id="netcfw35">3.5</item>
+    <item id="netcfw20">2.0</item>
+    <item id="netcfw10">1.0</item>
+
+    <item id="xnafw10">1.0</item>
+
+    <!-- silverlight version ids used in Version Information section. -->
+    <item id="silverlight10">1.0</item>
+    <item id="silverlight20">2.0</item>
+    <item id="silverlight_v3">3.0</item>
+    <item id="silverlight_v4">4.0</item>
+    <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+    <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+    <item id="boilerplate_xamlXmlnsRequirements">
+        <strong>XMLNS for XAML:</strong> {0}</item>
+    <item id="boilerplate_unmappedXamlXmlns">未映射到一个 xmlns.</item>
+
+    <item id="boilerplate_secondaryFrameworkOverride">
+        <br/>
+        <br/>在 <include item="{0}"/> 中,此成员被 {1} 重写。</item>
+    <item id="boilerplate_secondaryFrameworkInherited">
+        <br/>
+        <br/>在 <include item="{0}"/><include item="{1}"/>,此成员继承自 {2}{3}{4}。</item>
+    <item id="boilerplate_secondaryFrameworkMember">
+        <br/>
+        <br/>在 <include item="{0}"/><include item="{1}"/>,此成员为 {2}.</item>
+
+    <item id="boilerplate_useBaseSummary">此成员重写了 {0}。</item>
+    <item id="boilerplate_useBaseSee">参见 {0}.</item>
+    <item id="boilerplate_useBase">此成员重写了 {0},在此主题下应该可以找到更完整的文档。</item>
+
+    <item id="boilerplate_flagsSummary">此枚举以 {0} 特性标记,表示该枚举可以对其成员值按位绑定。</item>
+
+    <!-- Legacy content -->
+    <item id="familyTitle">
+        <include item="title_family"/>
+    </item>
+    <item id="allMembersTitle">成员</item>
+    <item id="membersTitle">重载列表</item>
+    <item id="hostProtectionAttributeShort">
+        <include item="text_hostProtectionAttribute"/>
+    </item>
+    <item id="classLower">
+        <include item="text_classLower"/>
+    </item>
+    <item id="delegateLower">
+        <include item="text_delegateLower"/>
+    </item>
+    <item id="structureLower">
+        <include item="text_structureLower"/>
+    </item>
+    <item id="interfaceLower">
+        <include item="text_interfaceLower"/>
+    </item>
+    <item id="enumerationLower">
+        <include item="text_enumerationLower"/>
+    </item>
+    <item id="SeeAlsoNamespaceLinkText">
+        <include item="boilerplate_seeAlsoNamespaceLink">
+            <parameter>{0}</parameter>
+        </include>
+    </item>
+    <item id="SeeAlsoTypeLinkText">
+        <include item="boilerplate_seeAlsoTypeLink">
+            <parameter>{0}</parameter>
+            <parameter>{1}</parameter>
+        </include>
+    </item>
+    <item id="SeeAlsoMembersLinkText">
+        <include item="boilerplate_seeAlsoMembersLink">
+            <parameter>{0}</parameter>
+        </include>
+    </item>
+    <item id="SeeAlsoOverloadLinkText">
+        <include item="boilerplate_seeAlsoOverloadLink">
+            <parameter>{0}</parameter>
+        </include>
+    </item>
+    <item id="nonScrollingTypeLinkText">
+        <include item="boilerplate_seeAlsoTypeLink">
+            <parameter>{0}</parameter>
+            <parameter>{1}</parameter>
+        </include>
+    </item>
+
+    <!-- Show Missing Component messages -->
+    <item id="SMCAutoDocConstructor">初始化 <referenceLink target="T:{0}" /> 类的一个新实例</item>
+    <item id="SMCAutoDocStaticConstructor">初始化 <referenceLink target="T:{0}" /> 类的静态字段</item>
+    <item id="SMCAutoDocDispose">释放被 <referenceLink target="T:{0}" /> 使用的所有资源</item>
+    <item id="SMCAutoDocDisposeBool">释放被 <referenceLink target="T:{0}" /> 使用的非托管资源,并且是否托管资源(可选)</item>
+    <item id="SMCAutoDocDisposeParam">为 true 则同时释放托管资源和非托管资源;为 false 则只释放非托管资源</item>
+    <item id="SMCMissingTag">
+        <p style="color: #dc143c; font-size: 9pt; font-weight: bold;">[缺少 "{1}" 的 &lt;{0}&gt; 文档]</p>
+    </item>
+    <item id="SMCMissingParamTag">
+        <p style="color: #dc143c; font-size: 9pt; font-weight: bold;">[缺少 "{2}" 的 &lt;{0} name="{1}"/&gt; 文档]</p>
+    </item>
+    <item id="SMCMissingIncludeTarget">
+        <p style="color: #dc143c; font-size: 9pt; font-weight: bold;">[在 “{0}” 中缺少 &lt;include&gt; 目标文档。文件:“{1}” 路径:“{2}”]</p>
+    </item>
+
+    <!-- View Source link text -->
+    <item id="sourceCodeLinkText">查看代码</item>
+    <item id="sourceCodeLinkTitle">查看源代码</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4c05cdfed3aad535e1d55116519d790038ccd427
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/shared_content.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-zh-CN.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip"><b>提示:</b></item>
+	<item id="alert_title_caution"><b>警告:</b></item>
+	<item id="alert_title_security"><b>安全性事项:</b></item>
+	<item id="alert_title_note"><b>备注:</b></item>
+	<item id="alert_title_important"><b>重要事项</b></item>
+	<item id="alert_title_visualBasic"><b>Visual Basic备注:</b></item>
+	<item id="alert_title_visualC#"><b>C# 备注:</b></item>
+	<item id="alert_title_visualC++"><b>C++ 备注:</b></item>
+	<item id="alert_title_visualJ#"><b>J# 备注:</b></item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">提示</item>
+	<item id="alert_altText_caution">警告</item>
+	<item id="alert_altText_security">安全性事项</item>
+	<item id="alert_altText_note">备注</item>
+	<item id="alert_altText_important">重要事项</item>
+	<item id="alert_altText_visualBasic">Visual Basic备注</item>
+	<item id="alert_altText_visualC#">C#备注</item>
+	<item id="alert_altText_visualC++">C++备注</item>
+	<item id="alert_altText_visualJ#">J#备注</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">备注</item>
+	<item id="title_changeHistory">修订历史</item>
+	<item id="title_events">事件</item>
+	<item id="title_exceptions">异常</item>
+	<item id="title_contracts">约定</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">任务</item>
+	<item id="title_seeAlso_reference">引用</item>
+	<item id="title_seeAlso_concepts">概念</item>
+	<item id="title_seeAlso_otherResources">其他资源</item>
+	<item id="title_revisionHistory">版本历史</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">要获取更多信息,请参考 </item>
+	<item id="inline_dynamicLink_postfixText">。</item>
+	<item id="inline_dynamicLink_separatorText"> 和 </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic 和 C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>当前没有可用的代码示例,或者可能不支持该语言。</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB 和 C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword"><span class="keyword">null</span> (在 Visual Basic 中为 <span class="keyword">Nothing</span>)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (在 Visual Basic 中为 <span class="keyword">Shared</span>)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (在 Visual Basic 中为 <span class="keyword">Overridable</span>)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (在 Visual Basic 中为 <span class="keyword">True</span>)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (在 Visual Basic 中为 <span class="keyword">False</span>)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (在 Visual Basic 中为 <span class="keyword">MustInherit</span>)</item>
+	<item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (在 Visual Basic 中为 <span class="keyword">NotInheritable</span>)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (在 Visual Basic 中为 <span class="keyword">Async</span>)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (在 Visual Basic 中为 <span class="keyword">Await</span>)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (在 Visual Basic 中为 <span class="keyword">Async</span>/<span class="keyword">Await</span>)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Top</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">参考书目</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">复制</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Content/zh-CN/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Data/bibliography.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Data/bibliography.xml
new file mode 100644
index 0000000000000000000000000000000000000000..48792b15cd83df0ea07c0dd986e2a7b7dbce272c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Data/bibliography.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  The bibliography feature looks for <cite>name</cite> elements in XML documentation
+  and <ddue:cite>name</ddue:cite> elements in MAML and automatically generates links
+  to a bibliography section, which is generated at the bottom of each topic.
+
+  To use this feature in MAML you must also add the <ddue:bibliography/> element
+  somewhere in your topics; preferably, right before the <ddue:relatedTopics> section.
+
+  This file is used to describe the entries in the bibliographies for every topic
+  that is generated.  For example, add a remarks section such as the following to
+  the XMl documentation comments in one of your APIs.
+
+  <remarks>
+    <para>
+      Sandcastle is a popular download<cite>sandcastle activity</cite>.
+    </para>
+    <para>
+      I expect Sandcastle's popularity<cite>sandcastle activity</cite> to increase
+      as more community members become aware of its usefulness.
+    </para>
+  </remarks>
+
+  Then add the following reference element along with any others to this file to
+  describe those citations.
+
+  <reference name="sandcastle activity">
+    <title>Sandcastle Help File Builder Activity Statistics</title>
+    <author>Eric Woodruff</author>
+    <publisher>GitHub.com</publisher>
+    <link>https://GitHub.com/EWSoftware/SHFB/pulse/monthly</link>
+  </reference>
+
+  Building documentation now will produce your auto-generated reference topic with a
+  bibliography section near the bottom.  Each <cite>name</cite> is replaced in-line
+  with a hyperlink such as [1], [2], [3], [n]..., linking to the corresponding
+  entries in the bibliography section.
+
+  - The title element is required.
+  - The author element is required.
+  - The publisher element is optional.
+  - The link element is optional.
+  - Reference names are case-sensitive.
+  - If a matching reference is not found, the cite element is processed as regular
+    markup.  Currently, the transformations will remove the outer <cite> element but 
+    inner text and content may pass through to the topic.
+  -->
+<bibliography>
+  <!-- Add <reference> elements here -->
+</bibliography>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/WebsiteContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/WebsiteContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..383b8e1bc897ce94405fd12c9ed6348a525e0e97
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/WebsiteContent.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!--	This file is specific to website output.
+
+				NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the files before it! -->
+	
+		<item id="websiteAdContent">{@WebsiteAdContent}</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/de-DE.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/de-DE.xml
new file mode 100644
index 0000000000000000000000000000000000000000..16f34eccc7c0669316bb55fee4339f9417d605fe
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/de-DE.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+			 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Ihre Rückmeldung wird für die Verbesserung der Dokumentation und des Produktes genutzt. Ihre Email-Adresse wird zu keinem anderen Zweck benutzt und wird nach der Behebung des gemeldeten Problems gelöscht. Während der Arbeit an dem Problem kann es sein dass Sie per Email kontaktiert werden für weitergehende Details oder Abklärung zur Rückmeldung von Ihnen. Nachdem das Problem eingegrenzt worden ist kann es sein dass Sie eine Email erhalten zur Problembehebung.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Namensräume</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Diese Seite ist eine Vorabausgabe der Dokumentation und kann in zukünftigen Ausgaben geändert werden. Leere Seiten sind als Platzhalter eingefügt.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">Senden Sie Kommentare zu diesem Feature an
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Beispiel für dieses Thema anfordern">Beispiel anfordern</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/en-US.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/en-US.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8eb7c47ab84edc40e027a7ff8dcc88d868e380b8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/en-US.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Namespaces</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">Send comments on this topic to
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/es-ES.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/es-ES.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d27c8e6d5be0a02143f1820c19545997d07cbc48
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/es-ES.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Espacio de nombres</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Ésta es documentación preliminar y está sujeta a cambios.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">Enviar los comentarios sobre este asunto a
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/fr-FR.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/fr-FR.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a68884264d3e0bae8a9b1445eef581ddaf1e4c33
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/fr-FR.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Vos remarques sont utilisées pour améliorer la documentation et le produit. Votre addresse e-mail ne sera pas utilisé à d'autres fins, et sera supprimée une fois que le problème que vous signalez sera résolu. Pendant la résolution du problème que vous signalez, il est possible que vous soyez contacté par e-mail pour obtenir des précisions ou des clarifications sur vos remarques. Une fois que le problème que vois signalez sera résolu, il est possible que vous receviez un e-mail pour vous en informer.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Espaces de noms</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Ceci est une documentation préliminaire, sous réserve de modification.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">Envoyez vos commentaires sur cette documentation à
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/it-IT.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/it-IT.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6d38023ec2e7b996105bb094c2278c35bdf81123
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/it-IT.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Spazio dei nomi</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Documentazione preliminare soggetta a variazioni.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">Inviare suggerimenti o segnalare errori relativi a questo argomento a
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ja-JP.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ja-JP.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ecfe464bfcf12f6e31fb3a251ddfed3a7584aa11
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ja-JP.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Translations provided by TimberLandChapel -->
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">ドキュメント開発チームはドキュメントの品質向上にあなたのフィードバックを使用いたします。送信いただいたメールアドレスは他の用途に使用いたしません。問題が解決した後送信されたメールアドレスを破棄いたします。送信いただいた問題の処理において,詳細をお伺いする場合や問題の切り分けのためにコンタクトをとらせていただく場合がございます。</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">名前空間</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[これは仮のドキュメントであり、予告なく変更されます。]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">このトピックに対してコメントを送信
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ko-KR.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ko-KR.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d815236ca3623669f3c315687bef1919edd3590e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ko-KR.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">네임스페이스</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">내용에 문의사항이 있는 경우 우측의 메일 주소로 연락 바랍니다.
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/pt-BR.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/pt-BR.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3d1229fd4dbaf9061290f97beee9a540bde36fc7
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/pt-BR.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Espaços de Nome</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Esta é uma documentação preliminar e está sujeita a alterações.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">Envie comentários sobre este tópico para
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ru-RU.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ru-RU.xml
new file mode 100644
index 0000000000000000000000000000000000000000..66ff1c2a473335115ee32ec3f7c7754e447f2cdd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/ru-RU.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Ваш отзыв будет использован для улучшения качества документации и продукта в целом. Адрес вашей электронной почты не будет использован для других целей и будет удалён, после того как ваш отзыв будет обработан. До окончания работ по обработке вашего отзыва, вы можете связаться с автором для получения дополнительной информации. После его обработки, вы можете получить сообщение об окончании работ по вашему отзыву на указанный адрес электронной почты.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Пространства имен</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Это предварительная версия документации. API может измениться в будущем.]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">Отправить комментарий по этой теме в
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/zh-CHS.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/zh-CHS.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cd171ed8424a2fe60481c3382bb3ac9054dec9cd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/zh-CHS.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">命名空间</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[这是一个初步的说明文档有待于进一步改进。]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">如果您对本产品的帮助或其他功能有任何建议或需要报告 Bug,请发送邮件到
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/zh-CN.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/zh-CN.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5be1a53321f4341ebc04ed2e3e1fca4633af1d5b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/SHFBContent/zh-CN.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">命名空间</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[本文档仅为初稿,以后可能会有变更。]</p></item>
+
+	<item id="comments"><div class="OH_feedbacklink">有关这个主题的评论请发邮件到
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/codeTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/codeTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..d5ae6c0f46044a78f9771b34a67e5ca11ee38a84
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/codeTemplates.xsl
@@ -0,0 +1,458 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+	>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	Code languages
+	============================================================================================= -->
+
+	<!-- This gets the language ID for syntax section and code example titles -->
+	<xsl:template name="t_codeLang">
+		<xsl:param name="p_codeLang"/>
+		<xsl:variable name="v_codeLangLC" select="translate($p_codeLang,$g_allUpperCaseLetters,$g_allLowerCaseLetters)"/>
+		<xsl:choose>
+			<!-- Languages without a syntax generator.  The presentation style content files will contain any required
+					 resource items for these (i.e. devlang_HTML). -->
+			<xsl:when test="$v_codeLangLC = 'html' or $v_codeLangLC = 'htm'">
+				<xsl:text>HTML</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'bat' or $v_codeLangLC = 'batch'">
+				<xsl:text>batch</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'pshell' or $v_codeLangLC = 'powershell' or $v_codeLangLC = 'ps1'">
+				<xsl:text>PShell</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'py'">
+				<xsl:text>Python</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'sql' or $v_codeLangLC = 'sqlserver' or $v_codeLangLC = 'sql server'">
+				<xsl:text>SQL</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vbs' or $v_codeLangLC = 'vbscript'">
+				<xsl:text>VBScript</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vb-c#' or $v_codeLangLC = 'visualbasicandcsharp'">
+				<xsl:text>VisualBasicAndCSharp</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'xml' or $v_codeLangLC = 'xmllang' or $v_codeLangLC = 'xsl'">
+				<xsl:text>XML</xsl:text>
+			</xsl:when>
+			<!-- Special case for XAML.  It has a syntax generator but we treat the code elements differently and must
+					 use a common ID. -->
+			<xsl:when test="$v_codeLangLC = 'xaml' or $v_codeLangLC = 'xamlusage'">
+				<xsl:text>XAML</xsl:text>
+			</xsl:when>
+			<!-- None/other.  No resource items are needed for these. -->
+			<xsl:when test="$v_codeLangLC = 'none' or $v_codeLangLC = 'other'">
+				<xsl:value-of select="$v_codeLangLC"/>
+			</xsl:when>
+			<!-- If none of the above, assume it is a language with a syntax generator.  The syntax generator content
+					 files will contain any required resource items for the language. -->
+			<xsl:otherwise>
+				<xsl:value-of select="$p_codeLang"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- This gets the language name for metadata -->
+	<xsl:template name="t_codeLangName">
+		<xsl:param name="p_codeLang"/>
+		<xsl:variable name="v_codeLangUnique">
+			<xsl:call-template name="t_codeLang">
+				<xsl:with-param name="p_codeLang" select="$p_codeLang"/>
+			</xsl:call-template>
+		</xsl:variable>
+		<xsl:choose>
+			<xsl:when test="$v_codeLangUnique = 'none' or $v_codeLangUnique = 'other'" />
+			<xsl:otherwise>
+				<xsl:value-of select="$v_codeLangUnique"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Syntax and Code sections
+	============================================================================================= -->
+
+	<xsl:template name="t_putSyntaxSections">
+		<xsl:param name="p_nodes"/>
+
+		<xsl:variable name="v_id" select="generate-id(msxsl:node-set($p_nodes))" />
+
+		<!-- Count non-XAML snippets and XAML snippets with something other than boilerplate content -->
+		<xsl:variable name="v_nodeCount" select="count(msxsl:node-set($p_nodes)/self::node()[@codeLanguage != 'XAML' or
+			(@codeLanguage = 'XAML' and boolean(./div[@class='xamlAttributeUsageHeading' or
+			@class='xamlObjectElementUsageHeading' or @class='xamlContentElementUsageHeading' or
+			@class='xamlPropertyElementUsageHeading']))])" />
+
+		<div class="OH_CodeSnippetContainer">
+			<div class="OH_CodeSnippetContainerTabs">
+				<xsl:choose>
+					<xsl:when test="$v_nodeCount = 1">
+						<div class="OH_CodeSnippetContainerTabLeftActive" id="{$v_id}_tabimgleft"><xsl:text> </xsl:text></div>
+					</xsl:when>
+					<xsl:otherwise>
+						<div class="OH_CodeSnippetContainerTabLeft" id="{$v_id}_tabimgleft"><xsl:text> </xsl:text></div>
+					</xsl:otherwise>
+				</xsl:choose>
+
+				<xsl:for-each select="msxsl:node-set($p_nodes)">
+					<xsl:choose>
+						<!-- Suppress tabs for boilerplate XAML which isn't currently shown -->
+						<xsl:when test="@codeLanguage='XAML' and not(boolean(./div[
+										@class='xamlAttributeUsageHeading' or @class='xamlObjectElementUsageHeading' or
+										@class='xamlContentElementUsageHeading' or @class='xamlPropertyElementUsageHeading']))" />
+						<xsl:otherwise>
+							<div id="{$v_id}_tab{position()}">
+								<xsl:attribute name="class">
+									<xsl:choose>
+										<xsl:when test="$v_nodeCount = 1">
+											<xsl:text>OH_CodeSnippetContainerTabSolo</xsl:text>
+										</xsl:when>
+										<xsl:when test="position() = 1">
+											<xsl:text>OH_CodeSnippetContainerTabFirst</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:text>OH_CodeSnippetContainerTab</xsl:text>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:attribute>
+								<xsl:choose>
+									<xsl:when test="$v_nodeCount = 1">
+										<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<!-- Use onclick rather than href or HV 2.0 messes up the link -->
+										<a href="#" onclick="javascript:ChangeTab('{$v_id}','{@style}','{position()}','{$v_nodeCount}');return false;">
+											<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+										</a>
+									</xsl:otherwise>
+								</xsl:choose>
+							</div>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:for-each>
+
+				<xsl:choose>
+					<xsl:when test="$v_nodeCount = 1">
+						<div class="OH_CodeSnippetContainerTabRightActive" id="{$v_id}_tabimgright"><xsl:text> </xsl:text></div>
+					</xsl:when>
+					<xsl:otherwise>
+						<div class="OH_CodeSnippetContainerTabRight" id="{$v_id}_tabimgright"><xsl:text> </xsl:text></div>
+					</xsl:otherwise>
+				</xsl:choose>
+			</div>
+
+			<div class="OH_CodeSnippetContainerCodeCollection">
+				<div class="OH_CodeSnippetToolBar">
+					<div class="OH_CodeSnippetToolBarText">
+						<a id="{$v_id}_copyCode" href="#" class="OH_copyCodeSnippet" onclick="javascript:CopyToClipboard('{$v_id}');return false;">
+							<includeAttribute name="title" item="copyCode" />
+							<include item="copyCode" />
+						</a>
+					</div>
+				</div>
+
+				<xsl:for-each select="msxsl:node-set($p_nodes)">
+					<xsl:choose>
+						<!-- Suppress snippets for boilerplate XAML which isn't currently shown -->
+						<xsl:when test="@codeLanguage='XAML' and not(boolean(./div[
+										@class='xamlAttributeUsageHeading' or @class='xamlObjectElementUsageHeading' or
+										@class='xamlContentElementUsageHeading' or @class='xamlPropertyElementUsageHeading']))" />
+						<xsl:otherwise>
+							<div id="{$v_id}_code_Div{position()}" class="OH_CodeSnippetContainerCode">
+								<xsl:attribute name="style">
+									<xsl:choose>
+										<xsl:when test="$v_nodeCount = 1 or position() = 1">
+											<xsl:text>display: block</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:text>display: none</xsl:text>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:attribute>
+								<xsl:choose>
+									<xsl:when test="@codeLanguage='XAML'">
+										<xsl:call-template name="XamlSyntaxBlock" />
+									</xsl:when>
+									<xsl:otherwise>
+										<pre xml:space="preserve"><xsl:copy-of select="node()"/></pre>
+									</xsl:otherwise>
+								</xsl:choose>
+							</div>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:for-each>
+			</div>
+		</div>
+
+		<!-- Register the tab set even for single tabs as we may need to hide the Copy link -->
+		<script type="text/javascript">AddLanguageTabSet("<xsl:value-of select="$v_id" />");</script>
+	</xsl:template>
+
+	<xsl:template name="t_putCodeSections">
+		<xsl:param name="p_nodes"/>
+
+		<xsl:variable name="v_id" select="generate-id(msxsl:node-set($p_nodes))" />
+		<xsl:variable name="v_nodeCount" select="count(msxsl:node-set($p_nodes))" />
+
+		<div class="OH_CodeSnippetContainer">
+			<xsl:choose>
+				<!-- Omit the tab if there is a title attribute with a single space -->
+				<xsl:when test="$v_nodeCount = 1 and msxsl:node-set($p_nodes)//@title = ' '" />
+				<xsl:otherwise>
+					<div class="OH_CodeSnippetContainerTabs">
+						<xsl:choose>
+							<xsl:when test="$v_nodeCount = 1">
+								<div class="OH_CodeSnippetContainerTabLeftActive" id="{$v_id}_tabimgleft">
+									<xsl:text> </xsl:text>
+								</div>
+							</xsl:when>
+							<xsl:otherwise>
+								<div class="OH_CodeSnippetContainerTabLeft" id="{$v_id}_tabimgleft">
+									<xsl:text> </xsl:text>
+								</div>
+							</xsl:otherwise>
+						</xsl:choose>
+
+						<xsl:for-each select="msxsl:node-set($p_nodes)">
+							<div id="{$v_id}_tab{position()}">
+								<xsl:attribute name="class">
+									<xsl:choose>
+										<xsl:when test="$v_nodeCount = 1">
+											<xsl:text>OH_CodeSnippetContainerTabSolo</xsl:text>
+										</xsl:when>
+										<xsl:when test="@phantom and position() = 1">
+											<xsl:text>OH_CodeSnippetContainerTabDisabled</xsl:text>
+										</xsl:when>
+										<xsl:when test="@phantom">
+											<xsl:text>OH_CodeSnippetContainerTabDisabledNotFirst</xsl:text>
+										</xsl:when>
+										<xsl:when test="position() = 1">
+											<xsl:text>OH_CodeSnippetContainerTabFirst</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:text>OH_CodeSnippetContainerTab</xsl:text>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:attribute>
+								<xsl:choose>
+									<xsl:when test="$v_nodeCount = 1">
+										<xsl:choose>
+											<xsl:when test="@title">
+												<xsl:value-of select="@title" />
+											</xsl:when>
+											<xsl:otherwise>
+												<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+											</xsl:otherwise>
+										</xsl:choose>
+									</xsl:when>
+									<xsl:otherwise>
+										<!-- Use onclick rather than href or HV 2.0 messes up the link -->
+										<a href="#" onclick="javascript:ChangeTab('{$v_id}','{@style}','{position()}','{$v_nodeCount}');return false;">
+											<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+										</a>
+									</xsl:otherwise>
+								</xsl:choose>
+							</div>
+						</xsl:for-each>
+
+						<xsl:choose>
+							<xsl:when test="$v_nodeCount = 1">
+								<div class="OH_CodeSnippetContainerTabRightActive" id="{$v_id}_tabimgright">
+									<xsl:text> </xsl:text>
+								</div>
+							</xsl:when>
+							<xsl:otherwise>
+								<div class="OH_CodeSnippetContainerTabRight" id="{$v_id}_tabimgright">
+									<xsl:text> </xsl:text>
+								</div>
+							</xsl:otherwise>
+						</xsl:choose>
+					</div>
+				</xsl:otherwise>
+			</xsl:choose>
+
+			<div class="OH_CodeSnippetContainerCodeCollection">
+				<div class="OH_CodeSnippetToolBar">
+					<div class="OH_CodeSnippetToolBarText">
+						<a id="{$v_id}_copyCode" href="#" class="OH_copyCodeSnippet" onclick="javascript:CopyToClipboard('{$v_id}');return false;">
+							<includeAttribute name="title" item="copyCode" />
+							<include item="copyCode" />
+						</a>
+					</div>
+				</div>
+
+				<xsl:for-each select="msxsl:node-set($p_nodes)">
+					<div id="{$v_id}_code_Div{position()}" class="OH_CodeSnippetContainerCode">
+						<xsl:attribute name="style">
+							<xsl:choose>
+								<xsl:when test="$v_nodeCount = 1 or position() = 1">
+									<xsl:text>display: block</xsl:text>
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:text>display: none</xsl:text>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:attribute>
+						<xsl:choose>
+							<xsl:when test="@phantom">
+								<include item="noCodeExample" />
+							</xsl:when>
+							<xsl:otherwise>
+								<pre xml:space="preserve"><xsl:copy-of select="node()"/></pre>
+							</xsl:otherwise>
+						</xsl:choose>
+					</div>
+				</xsl:for-each>
+			</div>
+		</div>
+
+		<!-- Register the tab set even for single tabs as we may need to hide the Copy link -->
+		<script type="text/javascript">AddLanguageTabSet("<xsl:value-of select="$v_id" />");</script>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	XAML Syntax
+	============================================================================================= -->
+
+	<xsl:template name="XamlSyntaxBlock">
+		<!-- Branch based on page type -->
+		<xsl:choose>
+			<!-- Display boilerplate for page types that cannot be used in XAML -->
+			<xsl:when test="$g_apiTopicSubGroup='method' or $g_apiTopicSubGroup='constructor' or
+                      $g_apiTopicSubGroup='interface' or $g_apiTopicSubGroup='delegate' or
+                      $g_apiTopicSubGroup='field'">
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate"/>
+			</xsl:when>
+
+			<!-- Class and structure -->
+			<xsl:when test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='structure'">
+				<xsl:choose>
+					<xsl:when test="div[@class='xamlObjectElementUsageHeading']">
+						<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+							<xsl:with-param name="autogenContent">
+								<xsl:copy-of select="div[@class='xamlObjectElementUsageHeading']"/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+							<xsl:with-param name="p_messageId">
+								<xsl:copy-of select="."/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Enumeration -->
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:choose>
+					<xsl:when test="div[@class='nonXamlAssemblyBoilerplate']"/>
+					<xsl:otherwise>
+						<pre xml:space="preserve"><include item="enumerationOverviewXamlSyntax"/><xsl:text/></pre>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Property -->
+			<xsl:when test="$g_apiTopicSubGroup='property' or $g_apiTopicSubSubGroup='attachedProperty'">
+				<!-- Property Element Usage -->
+				<xsl:if test="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Attribute Usage -->
+				<xsl:if test="div[@class='xamlAttributeUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Show auto-generated boilerplate if no other content to override it -->
+				<xsl:if test="not(div[@class='xamlPropertyElementUsageHeading' or
+								@class='xamlContentElementUsageHeading' or @class='xamlAttributeUsageHeading'])">
+					<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+						<xsl:with-param name="p_messageId">
+							<xsl:copy-of select="div/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+			</xsl:when>
+
+			<!-- Event -->
+			<xsl:when test="$g_apiTopicSubGroup='event' or $g_apiTopicSubSubGroup='attachedEvent'">
+				<!-- If XamlSyntaxUsage component generated an Attribute Usage block, this template will show it -->
+				<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+					<xsl:with-param name="autogenContent">
+						<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+					</xsl:with-param>
+				</xsl:call-template>
+				<!-- If XamlSyntaxUsage component generated a boilerplate block, this template will show it -->
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+					<xsl:with-param name="p_messageId">
+						<xsl:copy-of select="div/*"/>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:when>
+
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- Displays one of the standard XAML boilerplate strings. -->
+	<xsl:template name="ShowXamlSyntaxBoilerplate">
+		<xsl:param name="p_messageId"/>
+
+		<!-- Do not show any XAML syntax boilerplate strings -->
+		<xsl:variable name="boilerplateId"/>
+
+		<!-- If future requirements call for showing one or more boilerplate strings for XAML, use the commented out
+				 code to specify the ids of the shared content items to include.
+         NOTE: The markup like div/@class='interfaceOverviewXamlSyntax' is added by XamlUsageSyntax.cs in
+				 BuildAssembler. -->
+		<!--
+    <xsl:variable name="boilerplateId">
+      <xsl:value-of select="div/@class[.='interfaceOverviewXamlSyntax' or
+                    .='propertyXamlSyntax_abstractType' or                    
+                    .='classXamlSyntax_abstract']"/>
+    </xsl:variable>
+    -->
+
+		<xsl:if test="$boilerplateId != ''">
+			<pre xml:space="preserve"><include item="{$boilerplateId}">
+          <xsl:choose>
+            <xsl:when test="$p_messageId !='' or (count(msxsl:node-set($p_messageId)/*) &gt; 0)">
+              <parameter><xsl:copy-of select="msxsl:node-set($p_messageId)"/></parameter>
+            </xsl:when>
+            <!-- Make sure we at least pass in an empty param because some boilerplates expect them -->
+            <xsl:otherwise>
+              <parameter/>
+            </xsl:otherwise>
+          </xsl:choose>
+        </include><xsl:text/></pre>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Displays the auto-generated XAML syntax for page types other than enumerations -->
+	<xsl:template name="ShowAutogeneratedXamlSyntax">
+		<xsl:param name="autogenContent"/>
+		<xsl:if test="count(msxsl:node-set($autogenContent))>0">
+			<xsl:for-each select="msxsl:node-set($autogenContent)/div">
+				<pre xml:space="preserve"><xsl:copy-of select="node()"/><xsl:text/></pre>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualMetadataHelp20.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualMetadataHelp20.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..d146cdae34245b59fab3f3b49476ec1cefe1ae0a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualMetadataHelp20.xsl
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp20">
+		<xsl:if test="$metadata='true'">
+			<xml>
+				<!-- mshelp metadata -->
+
+				<!-- insert toctitle -->
+				<xsl:if test="normalize-space(/document/metadata/tableOfContentsTitle) and (/document/metadata/tableOfContentsTitle != /document/metadata/title)">
+					<MSHelp:TOCTitle Title="{/document/metadata/tableOfContentsTitle}" />
+				</xsl:if>
+
+				<!-- link index -->
+				<MSHelp:Keyword Index="A"
+												Term="{$key}" />
+
+				<!-- authored NamedUrlIndex -->
+				<xsl:for-each select="/document/metadata/keyword[@index='NamedUrlIndex']">
+					<MSHelp:Keyword Index="NamedUrlIndex">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- authored K -->
+				<xsl:variable name="v_docset"
+											select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),$g_allUpperCaseLetters,'abcdefghijklmnopqrstuvwxyz ')"/>
+				<xsl:for-each select="/document/metadata/keyword[@index='K']">
+					<xsl:variable name="v_nestedKeywordText">
+						<xsl:call-template name="t_nestedKeywordText"/>
+					</xsl:variable>
+					<xsl:choose>
+						<xsl:when test="not(contains(text(),'[')) and ($v_docset='avalon' or $v_docset='wpf' or $v_docset='wcf' or $v_docset='windowsforms')">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="meta_kIndexTermWithTechQualifier">
+									<parameter>
+										<xsl:value-of select="text()"/>
+									</parameter>
+									<parameter>
+										<xsl:value-of select="$v_docset"/>
+									</parameter>
+									<parameter>
+										<xsl:value-of select="$v_nestedKeywordText"/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:when>
+						<xsl:otherwise>
+							<MSHelp:Keyword Index="K"
+															Term="{concat(text(),$v_nestedKeywordText)}" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:for-each>
+
+				<!-- authored S -->
+				<xsl:for-each select="/document/metadata/keyword[@index='S']">
+					<MSHelp:Keyword Index="S">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='S']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+					<!-- S index keywords need to be converted to F index keywords -->
+					<MSHelp:Keyword Index="F">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='S']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- authored F -->
+				<xsl:for-each select="/document/metadata/keyword[@index='F']">
+					<MSHelp:Keyword Index="F">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='F']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- authored B -->
+				<xsl:for-each select="/document/metadata/keyword[@index='B']">
+					<MSHelp:Keyword Index="B">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='B']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- Topic version -->
+				<MSHelp:Attr Name="RevisionNumber"
+										 Value="{/document/topic/@revisionNumber}" />
+
+				<!-- Asset ID -->
+				<MSHelp:Attr Name="AssetID"
+										 Value="{/document/topic/@id}" />
+
+				<!-- Abstract -->
+				<xsl:variable name="v_abstract" select="normalize-space(string(/document/topic//ddue:para[1]))" />
+				<xsl:choose>
+					<xsl:when test="string-length($v_abstract) &gt; 254">
+						<MSHelp:Attr Name="Abstract" Value="{concat(substring($v_abstract,1,250), ' ...')}" />
+					</xsl:when>
+					<xsl:when test="string-length($v_abstract) &gt; 0 and $v_abstract != '&#160;'">
+						<MSHelp:Attr Name="Abstract" Value="{$v_abstract}" />
+					</xsl:when>
+				</xsl:choose>
+
+				<!-- Auto-generate DevLang attributes based on the snippets -->
+				<xsl:for-each select="//*[@language]">
+					<xsl:if test="not(@language=preceding::*/@language)">
+						<xsl:variable name="v_codeLang">
+							<xsl:call-template name="t_codeLang">
+								<xsl:with-param name="p_codeLang" select="@language"/>
+							</xsl:call-template>
+						</xsl:variable>
+						<xsl:choose>
+							<xsl:when test="$v_codeLang='none' or $v_codeLang='other'"/>
+							<!-- If $v_codeLang is already authored, then do nothing -->
+							<xsl:when test="/document/metadata/attribute[@name='codelang']/text() = $v_codeLang"/>
+							<xsl:otherwise>
+								<MSHelp:Attr Name="DevLang">
+									<includeAttribute name="Value" item="metaLang_{$v_codeLang}" undefined="{$v_codeLang}"/>
+								</MSHelp:Attr>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:if>
+				</xsl:for-each>
+
+				<!-- authored attributes -->
+				<xsl:for-each select="/document/metadata/attribute">
+					<MSHelp:Attr Name="{@name}" Value="{text()}" />
+				</xsl:for-each>
+
+				<!-- TopicType attribute -->
+				<xsl:for-each select="/document/topic/*[1]">
+					<MSHelp:Attr Name="TopicType">
+						<includeAttribute name="Value" item="meta_mshelp_topicType_{local-name()}"/>
+					</MSHelp:Attr>
+				</xsl:for-each>
+
+				<!-- Locale attribute -->
+				<MSHelp:Attr Name="Locale">
+					<includeAttribute name="Value" item="locale"/>
+				</MSHelp:Attr>
+
+			</xml>
+		</xsl:if>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualMetadataHelp30.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualMetadataHelp30.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..adaabee08a6bdb4c6d0206d7786a137c3cc34f0e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualMetadataHelp30.xsl
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+	>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="conceptualTopicTypes.xsl"/>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp30">
+
+		<!-- System.Language -->
+		<meta name="Language">
+			<includeAttribute name="content" item="locale" />
+		</meta>
+
+		<!-- System.Title -->
+		<!-- <title> is set elsewhere -->
+
+		<!-- System.Keywords -->
+		<xsl:call-template name="t_insertKeywordsF1Metadata" />
+
+		<!-- Microsoft.Help.Id -->
+		<meta name="Microsoft.Help.Id" content="{/document/topic/@id}" />
+
+		<!-- Microsoft.Help.Description -->
+		<xsl:variable name="v_abstract" select="normalize-space(string(/document/topic//ddue:para[1]))" />
+		<xsl:variable name="v_description">
+			<xsl:call-template name="t_getTrimmedAtPeriod">
+				<xsl:with-param name="p_string" select="$v_abstract" />
+			</xsl:call-template>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_description)">
+			<meta name="Description">
+				<xsl:attribute name="content">
+					<xsl:value-of select="normalize-space($v_description)"/>
+				</xsl:attribute>
+			</meta>
+		</xsl:if>
+
+		<!-- Microsoft.Help.TocParent -->
+		<xsl:if test="/document/metadata/attribute[@name='TOCParent']">
+			<meta name="Microsoft.Help.TocParent" content="{/document/metadata/attribute[@name='TOCParent']}" />
+		</xsl:if>
+		<xsl:if test="/document/metadata/attribute[@name='TOCOrder']">
+			<meta name="Microsoft.Help.TocOrder" content="{/document/metadata/attribute[@name='TOCOrder']}" />
+		</xsl:if>
+
+		<!-- Microsoft.Help.Category -->
+		<xsl:for-each select="/document/metadata/attribute[@name='Category']">
+			<meta name="Microsoft.Help.Category" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentFilter -->
+		<xsl:for-each select="/document/metadata/attribute[@name='ContentFilter']">
+			<meta name="Microsoft.Help.ContentFilter" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentType -->
+		<xsl:variable name="v_contentTypeDocStudio">
+			<xsl:variable name="v_lookupValue">
+				<xsl:value-of select="local-name(/document/topic/*[1])"/>
+			</xsl:variable>
+			<xsl:value-of select="msxsl:node-set($g_topicTypes)/topic[@name = $v_lookupValue]/@contentType"/>
+		</xsl:variable>
+
+		<xsl:variable name="v_contentTypeTopicType">
+			<xsl:variable name="v_lookupValue">
+				<xsl:value-of select="translate(/document/metadata/topicType/@id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+			</xsl:variable>
+			<xsl:value-of select="msxsl:node-set($g_topicTypes)/topic[@guid = $v_lookupValue]/@contentType"/>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="$v_contentTypeDocStudio">
+				<meta name="Microsoft.Help.ContentType" content="{$v_contentTypeDocStudio}" />
+			</xsl:when>
+			<xsl:when test="$v_contentTypeTopicType">
+				<meta name="Microsoft.Help.ContentType" content="{$v_contentTypeTopicType}" />
+			</xsl:when>
+		</xsl:choose>
+
+		<!-- Microsoft.Package.Book -->
+		<xsl:variable name="Book" select="/document/metadata/attribute[@name='Book']/text()" />
+		<xsl:if test="$Book">
+			<meta name="Microsoft.Package.Book" content="{$Book}" />
+		</xsl:if>
+
+		<!-- Source -->
+		<xsl:for-each select="/document/metadata/attribute[@name='Source']">
+			<meta name="Source" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Branding aware.  This prevents the MSHC Component from changing a couple of CSS style names. -->
+		<meta name="BrandingAware" content="true"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertKeywordsF1Metadata">
+
+		<!-- authored K -->
+		<xsl:variable name="v_docset"
+									select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),$g_allUpperCaseLetters,'abcdefghijklmnopqrstuvwxyz ')"/>
+		<xsl:for-each select="/document/metadata/keyword[@index='K']">
+			<xsl:variable name="v_nestedKeywordText">
+				<xsl:call-template name="t_nestedKeywordText"/>
+			</xsl:variable>
+			<xsl:choose>
+				<xsl:when test="not(contains(text(),'[')) and ($v_docset='avalon' or $v_docset='wpf' or $v_docset='wcf' or $v_docset='windowsforms')">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="meta_kIndexTermWithTechQualifier">
+							<parameter>
+								<xsl:value-of select="text()"/>
+							</parameter>
+							<parameter>
+								<xsl:value-of select="$v_docset"/>
+							</parameter>
+							<parameter>
+								<xsl:value-of select="$v_nestedKeywordText"/>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:when>
+				<xsl:otherwise>
+					<meta name="System.Keywords"
+								content="{concat(text(),$v_nestedKeywordText)}" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+		<!-- authored F -->
+		<xsl:for-each select="/document/metadata/keyword[@index='F']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='F']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+		<!-- authored B -->
+		<xsl:for-each select="/document/metadata/keyword[@index='B']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='B']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualTopicTypes.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualTopicTypes.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..32effac2e6940a26d7c4ef1e85adb0a539cb838e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/conceptualTopicTypes.xsl
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+>
+	<xsl:variable name="g_topicTypes">
+		<topic guid="EF7DDB37-8ED3-4DFA-B38D-5A3CC1906034"
+					 name=""
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="1FE70836-AA7D-4515-B54B-E10C4B516E50"
+					 name="developerConceptualDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="68F07632-C4C5-4645-8DFA-AC87DCB4BD54"
+					 name="developerSDKTechnologyOverviewArchitectureDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="CDB8C120-888F-447B-8AF8-F9540562E7CA"
+					 name="developerSDKTechnologyOverviewOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="356C57C4-384D-4AF2-A637-FDD6F088A033"
+					 name="developerSDKTechnologyOverviewScenariosDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="19F1BB0E-F32A-4D5F-80A9-211D92A8A715"
+					 name="developerSDKTechnologyOverviewTechnologySummaryDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="56DB00EC-28BA-4C0D-8694-28E8B244E236"
+					 name="developerWhitePaperDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="DAC3A6A0-C863-4E5B-8F65-79EFC6A4BA09"
+					 name="developerHowToDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4779DD54-5D0C-4CC3-9DB3-BF1C90B721B3"
+					 name="developerWalkthroughDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+
+		<topic guid="A635375F-98C2-4241-94E7-E427B47C20B6"
+					 name="developerErrorMessageDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="95DADC4C-A2A6-447A-AA36-B6BE3A4F8DEC"
+					 name="developerReferenceWithSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="F9205737-4DEC-4A58-AA69-0E621B1236BD"
+					 name="developerReferenceWithoutSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="38C8E0D1-D601-4DBA-AE1B-5BEC16CD9B01"
+					 name="developerTroubleshootingDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="B8ED9F21-39A4-4967-928D-160CD2ED9DCE"
+					 name="developerUIReferenceDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="3272D745-2FFC-48C4-9E9D-CF2B2B784D5F"
+					 name="developerXmlReference"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="A689E19C-2687-4881-8CE1-652FF60CF46C"
+					 name="developerGlossaryDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="069EFD88-412D-4E2F-8848-2D5C3AD56BDE"
+					 name="developerSampleDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4BBAAF90-0E5F-4C86-9D31-A5CAEE35A416"
+					 name="developerSDKTechnologyOverviewCodeDirectoryDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="4A273212-0AC8-4D72-8349-EC11CD2FF8CD"
+					 name="codeEntityDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Other Resources"/>
+	</xsl:variable>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/globalTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/globalTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..223f9d570df7f262ccf1a15fbb9d26ab483cf3e3
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/globalTemplates.xsl
@@ -0,0 +1,844 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+	>
+	<!-- ============================================================================================
+	Parameters
+	============================================================================================= -->
+
+	<xsl:param name="metadata">false</xsl:param>
+	<xsl:param name="languages">false</xsl:param>
+
+	<!-- Topic header logo parameters -->
+	<xsl:param name="logoFile" />
+	<xsl:param name="logoHeight" />
+	<xsl:param name="logoWidth" />
+	<xsl:param name="logoAltText" />
+	<xsl:param name="logoPlacement" />
+	<xsl:param name="logoAlignment" />
+	<xsl:param name="logoUrl" />
+
+	<!-- Default language parameter -->
+	<xsl:param name="defaultLanguage" select="string('cs')" />
+
+	<!-- ============================================================================================
+	Globals
+	============================================================================================= -->
+
+	<xsl:variable name="g_allUpperCaseLetters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
+	<xsl:variable name="g_allLowerCaseLetters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
+
+	<!-- ============================================================================================
+	String formatting
+	============================================================================================= -->
+
+	<!-- Gets the substring after the last occurrence of a period in a given string -->
+	<xsl:template name="t_getTrimmedLastPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:choose>
+			<xsl:when test="contains($p_string, '.')">
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string"
+													select="substring-after($p_string, '.')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="$p_string" />
+			</xsl:otherwise>
+		</xsl:choose>
+
+	</xsl:template>
+
+	<xsl:template name="t_getTrimmedAtPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:variable name="v_trimmedString"
+									select="substring(normalize-space($p_string), 1, 256)" />
+		<xsl:choose>
+			<xsl:when test="normalize-space($p_string) != $v_trimmedString">
+				<xsl:choose>
+					<xsl:when test="not(contains($v_trimmedString, '.'))">
+						<xsl:value-of select="$v_trimmedString"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:call-template name="t_getSubstringAndLastPeriod">
+							<xsl:with-param name="p_string"
+															select="$v_trimmedString" />
+						</xsl:call-template>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="normalize-space($p_string)"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_getSubstringAndLastPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:if test="contains($p_string, '.')">
+			<xsl:variable name="v_after"
+										select="substring-after($p_string, '.')" />
+			<xsl:value-of select="concat(substring-before($p_string, '.'),'.')" />
+			<xsl:if test="contains($v_after, '.')">
+				<xsl:call-template name="t_getSubstringAndLastPeriod">
+					<xsl:with-param name="p_string"
+													select="$v_after" />
+				</xsl:call-template>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- indent by 2*n spaces -->
+	<xsl:template name="t_putIndent">
+		<xsl:param name="p_count" />
+		<xsl:if test="$p_count &gt; 1">
+			<xsl:text>&#160;&#160;</xsl:text>
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count"
+												select="$p_count - 1" />
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	LanguageSpecific text
+
+	NOTE - the MSHCComponent recognizes these bits and post-processes them into the format used
+	       by the MS Help Viewer.
+	============================================================================================= -->
+
+	<xsl:template name="t_decoratedNameSep">
+		<span class="languageSpecificText">
+			<span class="cpp">::</span>
+			<span class="nu">.</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template name="t_nullKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Nothing</span>
+						<span class="cpp">nullptr</span>
+						<span class="nu">null</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_nullKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_staticKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Shared</span>
+						<span class="nu">static</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_staticKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_virtualKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Overridable</span>
+						<span class="nu">virtual</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_virtualKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_trueKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">True</span>
+						<span class="nu">true</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_trueKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_falseKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">False</span>
+						<span class="nu">false</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_falseKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_abstractKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">MustInherit</span>
+						<span class="nu">abstract</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_abstractKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_sealedKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">NotInheritable</span>
+						<span class="nu">sealed</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_sealedKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_inKeyword">
+		<span class="keyword">
+			<span class="languageSpecificText">
+				<span class="vb">In</span>
+				<span class="fs"></span>
+				<span class="nu">in</span>
+			</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template name="t_outKeyword">
+		<span class="keyword">
+			<span class="languageSpecificText">
+				<span class="vb">Out</span>
+				<span class="fs"></span>
+				<span class="nu">out</span>
+			</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template name="t_asyncKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Async</span>
+						<span class="nu">async</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_asyncKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_awaitKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Await</span>
+						<span class="fs">let!</span>
+						<span class="nu">await</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_awaitKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_asyncAwaitKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Async</span>
+						<span class="nu">async</span>
+					</span>
+				</span>/<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Await</span>
+						<span class="fs">let!</span>
+						<span class="nu">await</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_asyncAwaitKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Common metadata
+	============================================================================================= -->
+
+	<xsl:template name="t_insertNoIndexNoFollow">
+		<xsl:if test="/document/metadata/attribute[@name='NoSearch']">
+			<meta name="robots" content="noindex, nofollow" />
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Running header
+	============================================================================================= -->
+
+	<xsl:template name="t_bodyTitle">
+		<xsl:variable name="placementLC" select="translate($logoPlacement, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
+		<xsl:variable name="alignmentLC" select="translate($logoAlignment, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
+		<table class="TitleTable">
+			<xsl:if test="normalize-space($logoFile) and $placementLC = 'above'">
+				<tr>
+					<td colspan="2" class="OH_tdLogoColumnAbove">
+						<xsl:attribute name="align">
+							<xsl:choose>
+								<xsl:when test="normalize-space($alignmentLC)">
+									<xsl:value-of select="$alignmentLC"/>
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:text>left</xsl:text>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:attribute>
+						<xsl:call-template name="logoImage" />
+					</td>
+				</tr>
+			</xsl:if>
+			<tr>
+				<xsl:if test="normalize-space($logoFile) and $placementLC = 'left'">
+					<td class="OH_tdLogoColumn">
+						<xsl:call-template name="logoImage" />
+					</td>
+				</xsl:if>
+				<td class="OH_tdTitleColumn">
+					<h1>
+						<include item="boilerplate_pageTitle">
+							<parameter>
+								<xsl:call-template name="t_topicTitleDecorated"/>
+							</parameter>
+						</include>
+					</h1>
+				</td>
+				<td class="OH_tdRunningTitleColumn">
+					<include item="runningHeaderText" />
+				</td>
+				<xsl:if test="normalize-space($logoFile) and $placementLC = 'right'">
+					<td class="OH_tdLogoColumn">
+						<xsl:call-template name="logoImage" />
+					</td>
+				</xsl:if>
+			</tr>
+		</table>
+	</xsl:template>
+
+	<xsl:template name="logoImage">
+		<xsl:choose>
+			<xsl:when test="normalize-space($logoUrl)">
+				<a target="_blank" rel="noopener noreferrer">
+					<xsl:attribute name="href">
+						<xsl:value-of select="$logoUrl"/>
+					</xsl:attribute>
+					<img>
+						<xsl:if test="normalize-space($logoAltText)">
+							<xsl:attribute name="alt">
+								<xsl:value-of select="$logoAltText" />
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:if test="normalize-space($logoWidth) and $logoWidth != '0'">
+							<xsl:attribute name="width">
+								<xsl:value-of select="$logoWidth" />
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:if test="normalize-space($logoHeight) and $logoHeight != '0'">
+							<xsl:attribute name="height">
+								<xsl:value-of select="$logoHeight" />
+							</xsl:attribute>
+						</xsl:if>
+						<includeAttribute name='src' item='iconPath'>
+							<parameter>
+								<xsl:value-of select="$logoFile"/>
+							</parameter>
+						</includeAttribute>
+					</img>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<img>
+					<xsl:if test="normalize-space($logoAltText)">
+						<xsl:attribute name="alt">
+							<xsl:value-of select="$logoAltText" />
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="normalize-space($logoWidth) and $logoWidth != '0'">
+						<xsl:attribute name="width">
+							<xsl:value-of select="$logoWidth" />
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="normalize-space($logoHeight) and $logoHeight != '0'">
+						<xsl:attribute name="height">
+							<xsl:value-of select="$logoHeight" />
+						</xsl:attribute>
+					</xsl:if>
+					<includeAttribute name='src' item='iconPath'>
+						<parameter>
+							<xsl:value-of select="$logoFile"/>
+						</parameter>
+					</includeAttribute>
+				</img>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	SeeAlso links
+	============================================================================================= -->
+
+	<xsl:template name="t_autogenSeeAlsoLinks">
+
+		<!-- a link to the containing type on all list and member topics -->
+		<xsl:if test="($g_apiTopicGroup='member' or $g_apiTopicGroup='list')">
+			<xsl:variable name="v_typeTopicId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/topicdata/@typeTopicId">
+						<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="/document/reference/containers/type/@api"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_typeTopicId}"
+											 display-target="format">
+					<include item="boilerplate_seeAlsoTypeLink">
+						<parameter>{0}</parameter>
+						<parameter>
+							<xsl:choose>
+								<xsl:when test="/document/reference/topicdata/@typeTopicId">
+									<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
+								</xsl:otherwise>
+							</xsl:choose>
+						</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+		<!-- a link to the type's All Members list -->
+		<xsl:variable name="v_allMembersId">
+			<xsl:choose>
+				<xsl:when test="/document/reference/topicdata/@allMembersTopicId">
+					<xsl:value-of select="/document/reference/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+				<xsl:when test="$g_apiTopicGroup='member' or ($g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload')">
+					<xsl:value-of select="/document/reference/containers/type/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_allMembersId) and not($v_allMembersId=$key)">
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_allMembersId}"
+											 display-target="format">
+					<include item="boilerplate_seeAlsoMembersLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+		<!-- a link to the overload topic -->
+		<xsl:variable name="v_overloadId">
+			<xsl:value-of select="/document/reference/memberdata/@overload"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_overloadId)">
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_overloadId}"
+											 display-target="format"
+											 show-parameters="false">
+					<include item="boilerplate_seeAlsoOverloadLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+		<!-- a link to the namespace topic -->
+		<xsl:variable name="v_namespaceId">
+			<xsl:value-of select="/document/reference/containers/namespace/@api"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_namespaceId)">
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_namespaceId}"
+											 display-target="format">
+					<include item="boilerplate_seeAlsoNamespaceLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Section headers
+	============================================================================================= -->
+
+	<xsl:template name="t_putSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+		<xsl:param name="p_toplink" select="false()" />
+		<xsl:param name="p_id" select="''" />
+
+		<xsl:if test="normalize-space($p_title)">
+			<div class="OH_CollapsibleAreaRegion">
+				<xsl:if test="normalize-space($p_id)">
+					<xsl:attribute name="id">
+						<xsl:value-of select="$p_id"/>
+					</xsl:attribute>
+				</xsl:if>
+				<div class="OH_regiontitle">
+					<xsl:copy-of select="$p_title" />
+				</div>
+				<div class="OH_CollapsibleArea_HrDiv">
+					<hr class="OH_CollapsibleArea_Hr" />
+				</div>
+			</div>
+			<div class="OH_clear">
+				<xsl:text> </xsl:text>
+			</div>
+		</xsl:if>
+
+		<xsl:copy-of select="$p_content" />
+
+		<xsl:if test="boolean($p_toplink)">
+			<a href="#mainBody">
+				<include item="top"/>
+			</a>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putSectionInclude">
+		<xsl:param name="p_titleInclude" />
+		<xsl:param name="p_content" />
+		<xsl:param name="p_toplink" select="false()" />
+		<xsl:param name="p_id" select="''" />
+
+		<xsl:if test="normalize-space($p_titleInclude)">
+			<div class="OH_CollapsibleAreaRegion">
+				<xsl:if test="normalize-space($p_id)">
+					<xsl:attribute name="id">
+						<xsl:value-of select="$p_id"/>
+					</xsl:attribute>
+				</xsl:if>
+				<div class="OH_regiontitle">
+					<include item="{$p_titleInclude}"/>
+				</div>
+				<div class="OH_CollapsibleArea_HrDiv">
+					<hr class="OH_CollapsibleArea_Hr" />
+				</div>
+			</div>
+			<div class="OH_clear">
+				<xsl:text> </xsl:text>
+			</div>
+		</xsl:if>
+
+		<xsl:copy-of select="$p_content" />
+
+		<xsl:if test="boolean($p_toplink)">
+			<a href="#mainBody">
+				<include item="top"/>
+			</a>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putSubSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+
+		<h4>
+			<xsl:attribute name="class">
+				<xsl:value-of select="'subHeading'"/>
+			</xsl:attribute>
+			<xsl:copy-of select="$p_title" />
+		</h4>
+		<xsl:copy-of select="$p_content" />
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template name="t_putAlert">
+		<xsl:param name="p_alertClass"
+							 select="@class"/>
+		<xsl:param name="p_alertContent"
+							 select="''"/>
+		<xsl:variable name="v_title">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note'">
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_title_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_title_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_title_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_title_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_title_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_title_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_title_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_title_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='implement'">
+					<xsl:text>text_NotesForImplementers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caller'">
+					<xsl:text>text_NotesForCallers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='inherit'">
+					<xsl:text>text_NotesForInheritors</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_altTitle">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_altText_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_altText_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_altText_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_altText_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_altText_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_altText_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_altText_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_altText_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_noteImg">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='tip' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_caution.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_security.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_caution.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_note.gif</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<div class="alert">
+			<table>
+				<tr>
+					<th>
+						<img>
+							<includeAttribute item="iconPath" name="src">
+								<parameter>
+									<xsl:value-of select="$v_noteImg"/>
+								</parameter>
+							</includeAttribute>
+							<includeAttribute name="alt" item="{$v_altTitle}"/>
+						</img>
+						<xsl:text>&#160;</xsl:text>
+						<include item="{$v_title}"/>
+					</th>
+				</tr>
+				<tr>
+					<td>
+						<xsl:choose>
+							<xsl:when test="$p_alertContent=''">
+								<xsl:apply-templates/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:copy-of select="$p_alertContent"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</td>
+				</tr>
+			</table>
+		</div>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Debugging template for showing an element in comments
+	============================================================================================= -->
+
+	<xsl:template name="t_dumpContent">
+		<xsl:param name="indent"
+							 select="''"/>
+		<xsl:param name="content"
+							 select="."/>
+		<xsl:for-each select="msxsl:node-set($content)">
+			<xsl:choose>
+				<xsl:when test="self::text()">
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="."/>
+					</xsl:comment>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="'«'"/>
+						<xsl:value-of select="name()"/>
+						<xsl:for-each select="@*">
+							<xsl:text xml:space="preserve"> </xsl:text>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'='"/>
+							<xsl:value-of select="."/>
+						</xsl:for-each>
+						<xsl:choose>
+							<xsl:when test="./node()">
+								<xsl:value-of select="'»'"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="'/»'"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:comment>
+					<xsl:for-each select="node()">
+						<xsl:call-template name="t_dumpContent">
+							<xsl:with-param name="indent"
+															select="concat($indent,'  ')"/>
+						</xsl:call-template>
+					</xsl:for-each>
+					<xsl:if test="./node()">
+						<xsl:comment>
+							<xsl:value-of select="$indent"/>
+							<xsl:value-of select="'«/'"/>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'»'"/>
+						</xsl:comment>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/main_conceptual.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/main_conceptual.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..417f92bbe70d5c39f592a48d5feb79e2e52d5b3b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/main_conceptual.xsl
@@ -0,0 +1,511 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="codeTemplates.xsl"/>
+	<xsl:import href="utilities_dduexml.xsl"/>
+	<xsl:import href="seealso_dduexml.xsl"/>
+	<xsl:import href="conceptualMetadataHelp30.xsl"/>
+	<xsl:import href="conceptualMetadataHelp20.xsl"/>
+	<xsl:import href="utilities_bibliography.xsl"/>
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the api identifier string - see globalTemplates for others
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+	<xsl:param name="bibliographyData" select="'../data/bibliography.xml'"/>
+	<xsl:param name="changeHistoryOptions"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_hasSeeAlsoSection"
+								select="boolean(count(/document/topic/*/ddue:relatedTopics/*[local-name()!='sampleRef']) > 0)"/>
+
+	<xsl:variable name="g_apiGroup" select="/document/reference/apidata/@group"/>
+	<xsl:variable name="g_apiSubGroup" select="/document/reference/apidata/@subgroup"/>
+	<xsl:variable name="g_apiSubSubGroup" select="/document/reference/apidata/@subsubgroup"/>
+	<xsl:variable name="g_topicGroup" select="$g_apiGroup"/>
+	<xsl:variable name="g_topicSubGroup" select="$g_apiSubGroup"/>
+	<xsl:variable name="g_apiTopicGroup" select="$g_apiGroup"/>
+	<xsl:variable name="g_apiTopicSubGroup" select="$g_apiSubGroup"/>
+	<xsl:variable name="g_apiTopicSubSubGroup" select="$g_apiSubSubGroup"/>
+	<xsl:variable name="pseudo" select="boolean(/document/reference/apidata[@pseudo='true'])"/>
+
+	<!-- ============================================================================================
+	Document
+	============================================================================================= -->
+
+	<xsl:template match="/document" name="t_document">
+		<html>
+			<head>
+				<link rel="shortcut icon">
+					<includeAttribute name="href" item="iconPath">
+						<parameter>
+							<xsl:value-of select="'favicon.ico'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<!-- Hack to fix up the background image URLs in Help Viewer 2.  See OnLoad() in branding.js.
+						 NOTE: These MUST appear INLINE and BEFORE the Branding.css file or the script will not find them. -->
+				<style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { }.OH_footer { }</style>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<xsl:value-of select="'branding.css'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<include item="brandingLocaleCss" />
+						</parameter>
+					</includeAttribute>
+				</link>
+				<script type="text/javascript">
+					<includeAttribute name="src" item="scriptPath">
+						<parameter>
+							<xsl:value-of select="'branding.js'"/>
+						</parameter>
+					</includeAttribute>
+					<xsl:text> </xsl:text>
+				</script>
+
+				<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+				<xsl:call-template name="t_insertNoIndexNoFollow"/>
+				<title>
+					<xsl:call-template name="t_topicTitlePlain"/>
+				</title>
+				<xsl:call-template name="t_insertMetadataHelp30"/>
+				<xsl:call-template name="t_insertMetadataHelp20"/>
+				<link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" />
+			</head>
+			<body onload="OnLoad('{$defaultLanguage}')">
+				<input type="hidden" id="userDataCache" class="userDataStyle" />
+
+				<div class="OH_outerDiv">
+					<div class="OH_outerContent">
+						<xsl:call-template name="t_bodyTitle"/>
+						<xsl:call-template name="t_bodyMain"/>
+					</div>
+				</div>
+				<div id="OH_footer" class="OH_footer">
+					<include item="footer_content" />
+				</div>
+        <include item="websiteAdContent" />
+			</body>
+		</html>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_nestedKeywordText">
+		<xsl:for-each select="keyword[@index='K']">
+			<xsl:text>, </xsl:text>
+			<xsl:value-of select="text()"/>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="t_topicTitlePlain">
+		<xsl:call-template name="t_topicTitle"/>
+	</xsl:template>
+
+	<xsl:template name="t_topicTitleDecorated">
+		<xsl:call-template name="t_topicTitle"/>
+	</xsl:template>
+
+	<xsl:template name="t_topicTitle">
+		<xsl:choose>
+			<xsl:when test="normalize-space(/document/metadata/title)">
+				<xsl:value-of select="normalize-space(/document/metadata/title)"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="normalize-space(/document/topic/*/ddue:title)"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Body
+	============================================================================================= -->
+
+	<xsl:template name="t_bodyMain">
+		<div id="mainSection">
+			<div id="mainBody">
+				<include item="header"/>
+				<xsl:call-template name="t_body"/>
+			</div>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_body">
+		<xsl:call-template name="t_writeFreshnessDate">
+			<xsl:with-param name="p_changedHistoryDate"
+											select="/document/topic/*//ddue:section[ddue:title = 'Change History']/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1] |
+                      /document/topic/*/ddue:changeHistory/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1]"/>
+		</xsl:call-template>
+
+		<xsl:apply-templates select="topic"/>
+
+		<xsl:call-template name="t_writeChangeHistorySection"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections that behave differently in conceptual and reference
+	============================================================================================= -->
+
+	<xsl:template match="ddue:title">
+		<!-- don't print title -->
+	</xsl:template>
+
+	<xsl:template match="ddue:introduction">
+		<!-- Display the introduction only if it has content -->
+		<xsl:if test="count(*) &gt; 0">
+			<div class="introduction">
+				<xsl:if test="@address">
+					<xsl:attribute name="id">
+						<xsl:value-of select="@address"/>
+					</xsl:attribute>
+				</xsl:if>
+				<xsl:apply-templates/>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameters">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_parameters'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:returnValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:choose>
+				<xsl:when test="(normalize-space(ddue:content)='') and ddue:sections/ddue:section[ddue:title='Property Value']">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_propertyValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:sections/ddue:section[ddue:title='Property Value']/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_returnValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:exceptions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedSections">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_relatedSections'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedTopics">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_id" select="'seeAlsoSection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates select="/document/topic/*/ddue:relatedTopics" mode="seeAlso"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeExample">
+		<!-- create Example section for the first codeExample node -->
+		<xsl:if test="not(preceding-sibling::ddue:codeExample) and ../ddue:codeExample[normalize-space(.)!='']">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_example'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+					<!-- if there are additional codeExample nodes, put them inside this section -->
+					<xsl:for-each select="following-sibling::ddue:codeExample">
+						<xsl:apply-templates/>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeReference">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	<autoOutline/> or <autoOutline>[#]</autoOutline>
+  
+	Inserts a bullet list of links to the topic's sections or a section's
+  sub-sections with optional support for limiting the expansion down to a
+  specific level.  Authors can use the tag directly or specify a token
+  (defined in a token file) in a topic's introduction to get a bullet list of
+  the sections; or in a ddue:section/ddue:content to get a bullet list of the
+  section's sub-sections.  If the token is used, the shared content component
+  replaces <token>autoOutline</token> with an <autoOutline/> node that you
+  specify.  This was the old way of doing it but this version allows it to
+  be specified directly like any other MAML tag. Examples:
+
+  <autoOutline/>                Show only top-level topic titles
+  <autoOutline>1</autoOutline>  Show top-level titles and titles for one level down
+  <autoOutline>3</autoOutline>  Show titles from the top down to three levels
+	============================================================================================= -->
+
+	<xsl:template match="autoOutline|ddue:autoOutline"
+								name="t_autoOutline">
+		<xsl:variable name="v_maxDepth">
+			<xsl:choose>
+				<xsl:when test="normalize-space(.)">
+					<xsl:value-of select="number(normalize-space(.))"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="number(0)"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_intro"
+									select="@lead"/>
+		<xsl:variable name="p_outlineType">
+			<xsl:choose>
+				<xsl:when test="@excludeRelatedTopics = 'true'">
+					<xsl:value-of select="string('topNoRelated')"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="string('toplevel')"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:choose>
+			<!--if <autoOutline/> is in introduction, it outlines the topic's toplevel sections-->
+			<xsl:when test="ancestor::ddue:introduction">
+				<xsl:for-each select="ancestor::ddue:introduction/parent::*">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">
+							<xsl:value-of select="$p_outlineType"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+			<!--if <autoOutline/> is in section/content, it outlines the section's subsections-->
+			<xsl:when test="ancestor::ddue:content[parent::ddue:section]">
+				<xsl:for-each select="ancestor::ddue:content/parent::ddue:section/ddue:sections">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">subsection</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_insertAutoOutline">
+		<xsl:param name="p_intro"/>
+		<xsl:param name="p_outlineType"/>
+		<xsl:param name="p_depth"/>
+		<xsl:param name="p_maxDepth"/>
+		<!--insert an outline if there are sections with title and address-->
+		<xsl:if test="ddue:section[ddue:title[normalize-space(.)!='']]">
+			<!--insert a boilerplate intro-->
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_intro) = 'none'">
+					<xsl:text></xsl:text>
+				</xsl:when>
+				<xsl:when test="normalize-space($p_intro)">
+					<p>
+						<xsl:value-of select="normalize-space($p_intro)"/>
+					</p>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='toplevel' or $p_outlineType='topNoRelated'">
+					<p>
+						<include item="boilerplate_autoOutlineTopLevelIntro"/>
+					</p>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='subsection'">
+					<p>
+						<include item="boilerplate_autoOutlineSubsectionIntro"/>
+					</p>
+				</xsl:when>
+			</xsl:choose>
+			<ul class="autoOutline">
+				<xsl:for-each select="ddue:section[ddue:title[normalize-space(.)!='']]">
+					<xsl:call-template name="t_outlineSectionEntry"/>
+
+					<!-- Expand sub-sections too if wanted -->
+					<xsl:if test="$p_depth &lt; $p_maxDepth">
+						<xsl:for-each select="ddue:sections">
+							<xsl:call-template name="t_insertAutoOutline">
+								<xsl:with-param name="p_outlineType">subsubsection</xsl:with-param>
+								<xsl:with-param name="p_depth">
+									<xsl:value-of select="$p_depth + 1"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_maxDepth">
+									<xsl:value-of select="$p_maxDepth"/>
+								</xsl:with-param>
+							</xsl:call-template>
+						</xsl:for-each>
+					</xsl:if>
+				</xsl:for-each>
+				<!-- For top level outlines include a link to See Also -->
+				<xsl:if test="starts-with($p_outlineType,'toplevel') and count(//ddue:relatedTopics/*) > 0">
+					<li class="outlineSectionEntry">
+						<a>
+							<xsl:attribute name="href">#seeAlsoSection</xsl:attribute>
+							<include item="title_relatedTopics"/>
+						</a>
+					</li>
+				</xsl:if>
+			</ul>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- A list item in the outline's bullet list -->
+	<xsl:template name="t_outlineSectionEntry">
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or count(ddue:content/*) &gt; 0">
+			<li class="outlineSectionEntry">
+				<xsl:choose>
+					<xsl:when test="@address">
+						<a href="#{@address}">
+							<xsl:value-of select="ddue:title"/>
+						</a>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="ddue:title"/>
+					</xsl:otherwise>
+				</xsl:choose>
+				<xsl:if test="normalize-space(ddue:summary)">
+					<div class="outlineSectionEntrySummary">
+						<xsl:apply-templates select="ddue:summary/node()"/>
+					</div>
+				</xsl:if>
+			</li>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Bibliography
+	============================================================================================= -->
+
+	<xsl:key name="k_citations"
+					 match="//ddue:cite"
+					 use="text()"/>
+
+	<xsl:variable name="g_hasCitations"
+								select="boolean(count(//ddue:cite) > 0)"/>
+
+	<xsl:template match="ddue:cite"
+								name="t_ddue_cite">
+		<xsl:variable name="v_currentCitation"
+									select="text()"/>
+		<xsl:for-each select="//ddue:cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:if test="$v_currentCitation=.">
+				<xsl:choose>
+					<xsl:when test="document($bibliographyData)/bibliography/reference[@name=$v_currentCitation]">
+						<sup class="citation">
+							<a>
+								<xsl:attribute name="href">
+									#cite<xsl:value-of select="position()"/>
+								</xsl:attribute>[<xsl:value-of select="position()"/>]
+							</a>
+						</sup>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:bibliography"
+								name="t_ddue_bibliography">
+		<xsl:if test="$g_hasCitations">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'bibliographyTitle'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_autogenBibliographyLinks"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_autogenBibliographyLinks">
+		<xsl:for-each select="//ddue:cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:variable name="v_citation"
+										select="."/>
+			<xsl:variable name="entry"
+										select="document($bibliographyData)/bibliography/reference[@name=$v_citation]"/>
+
+			<xsl:call-template name="bibliographyReference">
+				<xsl:with-param name="number"
+												select="position()"/>
+				<xsl:with-param name="data"
+												select="$entry"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/main_sandcastle.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/main_sandcastle.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..0991ef66a266ed5c07325b1ea2b3c3775d8db862
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/main_sandcastle.xsl
@@ -0,0 +1,1445 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="codeTemplates.xsl"/>
+	<xsl:import href="utilities_reference.xsl"/>
+	<xsl:import href="utilities_bibliography.xsl"/>
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters
+	============================================================================================= -->
+
+	<xsl:param name="bibliographyData" select="'../Data/bibliography.xml'"/>
+	<xsl:param name="omitXmlnsBoilerplate" select="'false'"/>
+	<xsl:param name="omitVersionInformation" select="'false'"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_abstractSummary" select="/document/comments/summary"/>
+	<xsl:variable name="g_hasSeeAlsoSection"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads)] |
+		/document/comments/conceptualLink | /document/reference/elements/element/overloads//seealso |
+		/document/reference/elements/element/overloads/conceptualLink) > 0) or
+		($g_apiTopicGroup='type' or $g_apiTopicGroup='member' or $g_apiTopicGroup='list'))"/>
+	<xsl:variable name="g_hasReferenceLinks"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads) and not(@href)] |
+		/document/reference/elements/element/overloads//seealso[not(@href)]) > 0) or
+		($g_apiTopicGroup='type' or $g_apiTopicGroup='member' or $g_apiTopicGroup='list'))"/>
+	<xsl:variable name="g_hasOtherResourcesLinks"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads) and @href] |
+		/document/comments/conceptualLink | /document/reference/elements/element/overloads//seealso[@href] |
+		/document/reference/elements/element/overloads/conceptualLink) > 0))"/>
+
+	<!-- ============================================================================================
+	Body
+	============================================================================================= -->
+
+	<xsl:template name="t_body">
+		<!-- auto-inserted info -->
+		<xsl:apply-templates select="/document/comments/preliminary"/>
+
+		<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+			<p>
+				<include item="boilerplate_obsoleteLong"/>
+			</p>
+		</xsl:if>
+
+		<xsl:apply-templates select="/document/comments/summary"/>
+
+		<xsl:if test="$g_apiTopicSubGroup='overload'">
+			<xsl:apply-templates select="/document/reference/elements" mode="overloadSummary"/>
+		</xsl:if>
+
+		<!-- inheritance -->
+		<xsl:apply-templates select="/document/reference/family"/>
+
+		<!-- assembly information -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:call-template name="t_putRequirementsInfo"/>
+		</xsl:if>
+
+		<!-- syntax -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/syntax"/>
+		</xsl:if>
+
+		<!-- members -->
+		<xsl:choose>
+			<xsl:when test="$g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="root"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="namespace"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespaceGroup'">
+				<xsl:apply-templates select="/document/reference/elements" mode="namespaceGroup" />
+			</xsl:when>
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="enumeration"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="type"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='list'">
+				<xsl:choose>
+					<xsl:when test="$g_apiTopicSubGroup='overload'">
+						<xsl:apply-templates select="/document/reference/elements"
+																 mode="overload"/>
+					</xsl:when>
+					<xsl:when test="$g_apiTopicSubGroup='DerivedTypeList'">
+						<xsl:apply-templates select="/document/reference/elements"
+																 mode="derivedType"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates select="/document/reference/elements"
+																 mode="member"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+		</xsl:choose>
+
+		<!-- events -->
+		<xsl:call-template name="t_events"/>
+		<!-- exceptions -->
+		<xsl:call-template name="t_exceptions"/>
+		<!-- remarks -->
+		<xsl:apply-templates select="/document/comments/remarks"/>
+		<!-- examples -->
+		<xsl:apply-templates select="/document/comments/example"/>
+
+		<!-- contracts -->
+		<xsl:call-template name="t_contracts"/>
+		<!--versions-->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/reference/versions"/>
+		</xsl:if>
+		<!-- permissions -->
+		<xsl:call-template name="t_permissions"/>
+		<!-- thread safety -->
+		<xsl:apply-templates select="/document/comments/threadsafety"/>
+		<!-- revisions -->
+		<xsl:call-template name="t_revisionHistory"/>
+		<!-- bibliography -->
+		<xsl:call-template name="t_bibliography"/>
+		<!-- see also -->
+		<xsl:call-template name="t_putSeeAlsoSection"/>
+
+		<!-- Add the full inheritance hierarchy if needed -->
+		<xsl:if test="count(/document/reference/family/descendents/type) > 5">
+			<xsl:apply-templates select="/document/reference/family" mode="fullInheritance"/>
+		</xsl:if>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<!-- pass through html tags -->
+	<xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|a|img|b|i|strong|em|del|sub|sup|br|hr|h1|h2|h3|h4|h5|h6|pre|div|span|blockquote|abbr|acronym|u|font|map|area">
+		<xsl:copy>
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates/>
+		</xsl:copy>
+	</xsl:template>
+
+	<xsl:template match="para"
+								name="t_para">
+		<p>
+			<xsl:apply-templates/>
+		</p>
+	</xsl:template>
+
+	<xsl:template match="c"
+								name="t_codeInline">
+		<span class="code">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="preliminary" name="t_preliminary">
+		<div class="preliminary">
+			<xsl:choose>
+				<xsl:when test="normalize-space(.)">
+					<xsl:apply-templates/>
+				</xsl:when>
+				<xsl:otherwise>
+					<include item="preliminaryText" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="paramref"
+								name="t_paramref">
+		<span class="parameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="typeparamref"
+								name="t_typeparamref">
+		<span class="typeparameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block sections
+	============================================================================================= -->
+
+	<xsl:template match="summary" name="t_summary">
+		<div class="summary">
+			<xsl:apply-templates/>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="value" name="t_value">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_fieldValue"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="returns" name="t_returns">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_methodValue"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="remarks"
+								name="t_remarks">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_remarks'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="example" name="t_example">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_examples'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="codeSnippetGroup" name="t_code">
+		<xsl:call-template name="t_putCodeSections">
+			<xsl:with-param name="p_nodes" select="./code" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- Details (nonstandard) -->
+
+	<xsl:template match="details"
+								name="t_details">
+		<xsl:variable name="sectionTitle">
+			<xsl:value-of select="(child::h1 | child::h2 | child::h3 | child::h4 | child::h5 | child::h6)[1]"/>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="$sectionTitle = ''">
+				<xsl:apply-templates/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="sectionAddress">
+					<xsl:choose>
+						<xsl:when test="@name != ''">
+							<xsl:value-of select="@name"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="generate-id(.)"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<xsl:call-template name="t_putSection">
+					<xsl:with-param name="p_title">
+						<xsl:value-of select="$sectionTitle"/>
+					</xsl:with-param>
+					<xsl:with-param name="p_content">
+						<xsl:choose>
+							<xsl:when test="$sectionTitle != ''">
+								<xsl:apply-templates select="(child::h1 | child::h2 | child::h3 | child::h4 | child::h5 | child::h6)[1]/following-sibling::*"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="syntax" name="t_syntax">
+		<xsl:if test="count(*) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_syntax'"/>
+				<xsl:with-param name="p_content">
+					<!-- Syntax sections -->
+					<xsl:call-template name="t_putSyntaxSections">
+						<xsl:with-param name="p_nodes" select="./div[@codeLanguage]"/>
+					</xsl:call-template>
+					<!-- Source context -->
+					<xsl:apply-templates select="/document/reference/sourceContext" />
+					<!-- Parameters & return value -->
+					<xsl:apply-templates select="/document/reference/parameters"/>
+					<xsl:apply-templates select="/document/reference/templates"/>
+					<xsl:choose>
+						<xsl:when test="/document/comments/value | /document/comments/returns">
+							<xsl:apply-templates select="/document/comments/value" />
+							<xsl:apply-templates select="/document/comments/returns" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="/document/reference/returns[1] | /document/reference/eventhandler/type">
+								<xsl:call-template name="defaultReturnSection" />
+							</xsl:if>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="/document/reference/implements"/>
+					<!-- Usage note for extension methods -->
+					<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.ExtensionAttribute'] and boolean($g_apiSubGroup='method')">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_extensionUsage"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<include item="text_extensionUsage">
+									<parameter>
+										<xsl:apply-templates select="/document/reference/parameters/parameter[1]/type" mode="link"/>
+									</parameter>
+								</include>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="defaultReturnSection">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='field']">
+						<include item="title_fieldValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='event']">
+						<include item="title_value" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_methodValue" />
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/apidata[@subgroup='event']">
+								<xsl:apply-templates select="/document/reference/eventhandler/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="overloads" mode="summary" name="t_overloadsSummary">
+		<xsl:choose>
+			<xsl:when test="count(summary) > 0">
+				<xsl:apply-templates select="summary"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<div class="summary">
+					<xsl:apply-templates/>
+				</div>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="overloads" mode="sections" name="t_overloadsSections">
+		<xsl:apply-templates select="remarks"/>
+		<xsl:apply-templates select="example"/>
+	</xsl:template>
+
+	<xsl:template match="templates" name="t_templates">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_templates"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<dl>
+					<xsl:for-each select="template">
+						<xsl:variable name="templateName" select="@name"/>
+						<dt>
+							<span class="parameter">
+								<xsl:value-of select="$templateName"/>
+							</span>
+						</dt>
+						<dd>
+							<xsl:apply-templates select="/document/comments/typeparam[@name=$templateName]"/>
+						</dd>
+					</xsl:for-each>
+				</dl>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_events">
+		<xsl:if test="count(/document/comments/event) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_events'"/>
+				<xsl:with-param name="p_content">
+					<div class="tableSection">
+						<table>
+							<tr>
+								<th>
+									<include item="header_eventType"/>
+								</th>
+								<th>
+									<include item="header_eventReason"/>
+								</th>
+							</tr>
+							<xsl:for-each select="/document/comments/event">
+								<tr>
+									<td>
+										<referenceLink target="{@cref}" qualified="true"/>
+									</td>
+									<td>
+										<xsl:apply-templates select="."/>
+									</td>
+								</tr>
+							</xsl:for-each>
+						</table>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_exceptions">
+		<xsl:if test="count(/document/comments/exception) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<div class="tableSection">
+						<table>
+							<tr>
+								<th class="ps_exceptionNameColumn">
+									<include item="header_exceptionName"/>
+								</th>
+								<th class="ps_exceptionConditionColumn">
+									<include item="header_exceptionCondition"/>
+								</th>
+							</tr>
+							<xsl:for-each select="/document/comments/exception">
+								<tr>
+									<td>
+										<referenceLink target="{@cref}"
+																	 qualified="false"/>
+									</td>
+									<td>
+										<xsl:apply-templates select="."/>
+									</td>
+								</tr>
+							</xsl:for-each>
+						</table>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="threadsafety"
+								name="t_threadsafety">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_threadSafety'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="normalize-space(.)">
+						<xsl:apply-templates/>
+					</xsl:when>
+					<xsl:when test="(not(@instance) and not(@static)) or (@static='true' and @instance='false')">
+						<include item="boilerplate_threadSafety" />
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:if test="@static='true'">
+							<include item="text_staticThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@static='false'">
+							<include item="text_staticNotThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='true'">
+							<include item="text_instanceThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='false'">
+							<include item="text_instanceNotThreadSafe"/>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_permissions">
+		<xsl:if test="count(/document/comments/permission) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_permissions'"/>
+				<xsl:with-param name="p_content">
+					<div class="tableSection">
+						<table>
+							<tr>
+								<th class="ps_permissionNameColumn">
+									<include item="header_permissionName"/>
+								</th>
+								<th class="ps_permissionDescriptionColumn">
+									<include item="header_permissionDescription"/>
+								</th>
+							</tr>
+							<xsl:for-each select="/document/comments/permission">
+								<tr>
+									<td>
+										<referenceLink target="{@cref}"
+																	 qualified="true"/>
+									</td>
+									<td>
+										<xsl:apply-templates select="."/>
+									</td>
+								</tr>
+							</xsl:for-each>
+						</table>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_contracts">
+		<xsl:variable name="v_requires"
+									select="/document/comments/requires"/>
+		<xsl:variable name="v_ensures"
+									select="/document/comments/ensures"/>
+		<xsl:variable name="v_ensuresOnThrow"
+									select="/document/comments/ensuresOnThrow"/>
+		<xsl:variable name="v_invariants"
+									select="/document/comments/invariant"/>
+		<xsl:variable name="v_setter"
+									select="/document/comments/setter"/>
+		<xsl:variable name="v_getter"
+									select="/document/comments/getter"/>
+		<xsl:variable name="v_pure"
+									select="/document/comments/pure"/>
+		<xsl:if test="$v_requires or $v_ensures or $v_ensuresOnThrow or $v_invariants or $v_setter or $v_getter or $v_pure">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_contracts'"/>
+				<xsl:with-param name="p_content">
+					<!--Purity-->
+					<xsl:if test="$v_pure">
+						<xsl:text>This method is pure.</xsl:text>
+					</xsl:if>
+					<!--Contracts-->
+					<div class="tableSection">
+						<xsl:if test="$v_getter">
+							<xsl:variable name="v_getterRequires"
+														select="$v_getter/requires"/>
+							<xsl:variable name="v_getterEnsures"
+														select="$v_getter/ensures"/>
+							<xsl:variable name="v_getterEnsuresOnThrow"
+														select="$v_getter/ensuresOnThrow"/>
+							<xsl:call-template name="t_putSubSection">
+								<xsl:with-param name="p_title">
+									<include item="title_getter"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_content">
+									<xsl:if test="$v_getterRequires">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_requiresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_getterRequires"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_getterEnsures">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_getterEnsures"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_getterEnsuresOnThrow">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresOnThrowName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_getterEnsuresOnThrow"/>
+										</xsl:call-template>
+									</xsl:if>
+								</xsl:with-param>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_setter">
+							<xsl:variable name="v_setterRequires"
+														select="$v_setter/requires"/>
+							<xsl:variable name="v_setterEnsures"
+														select="$v_setter/ensures"/>
+							<xsl:variable name="v_setterEnsuresOnThrow"
+														select="$v_setter/ensuresOnThrow"/>
+							<xsl:call-template name="t_putSubSection">
+								<xsl:with-param name="p_title">
+									<include item="title_setter"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_content">
+									<xsl:if test="$v_setterRequires">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_requiresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_setterRequires"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_setterEnsures">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_setterEnsures"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_setterEnsuresOnThrow">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresOnThrowName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_setterEnsuresOnThrow"/>
+										</xsl:call-template>
+									</xsl:if>
+								</xsl:with-param>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_requires">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_requiresName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_requires"/>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_ensures">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_ensuresName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_ensures"/>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_ensuresOnThrow">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_ensuresOnThrowName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_ensuresOnThrow"/>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_invariants">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_invariantsName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_invariants"/>
+							</xsl:call-template>
+						</xsl:if>
+					</div>
+					<!--Contracts link-->
+					<div class="ps_contractsLink">
+						<a>
+							<xsl:attribute name="target">
+								<xsl:text>_blank</xsl:text>
+							</xsl:attribute>
+							<xsl:attribute name="href">
+								<xsl:text>https://github.com/Microsoft/CodeContracts</xsl:text>
+							</xsl:attribute>
+							<xsl:attribute name="rel">
+								<xsl:text>noopener noreferrer</xsl:text>
+							</xsl:attribute>
+							<xsl:text>Learn more about contracts</xsl:text>
+						</a>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_contractsTable">
+		<xsl:param name="p_title"/>
+		<xsl:param name="p_contracts"/>
+		<table>
+			<tr>
+				<th class="ps_contractsNameColumn">
+					<xsl:copy-of select="$p_title"/>
+				</th>
+			</tr>
+			<xsl:for-each select="$p_contracts">
+				<tr>
+					<td>
+						<div class="code"
+								 style="margin-bottom: 0pt; white-space: pre-wrap;">
+							<pre xml:space="preserve" style="margin-bottom: 0pt"><xsl:value-of select="."/></pre>
+						</div>
+						<xsl:if test="@description or @inheritedFrom or @exception">
+							<div style="font-size:95%; margin-left: 10pt;
+                        margin-bottom: 0pt">
+								<table
+									class="contractaux"
+									width="100%"
+									frame="void"
+									rules="none"
+									border="0">
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<xsl:if test="@description">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Description: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<xsl:value-of select="@description"/>
+											</td>
+										</tr>
+									</xsl:if>
+									<xsl:if test="@inheritedFrom">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Inherited From: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<!-- Change the ID type and strip "get_" and "set_" prefixes from property member IDs -->
+												<xsl:variable name="inheritedMemberId">
+													<xsl:choose>
+														<xsl:when test="contains(@inheritedFrom, '.get_')">
+															<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.get_'), '.', substring-after(@inheritedFrom, '.get_'))"/>
+														</xsl:when>
+														<xsl:when test="contains(@inheritedFrom, '.set_')">
+															<!-- For the setter, we need to strip the last parameter too -->
+															<xsl:variable name="lastParam">
+																<xsl:call-template name="t_getLastParameter">
+																	<xsl:with-param name="p_string" select="@inheritedFrom" />
+																</xsl:call-template>
+															</xsl:variable>
+															<xsl:variable name="setterName">
+																<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.set_'), '.', substring-after(@inheritedFrom, '.set_'))"/>
+															</xsl:variable>
+															<xsl:value-of select="concat(substring-before($setterName, $lastParam), ')')"/>
+														</xsl:when>
+														<xsl:otherwise>
+															<xsl:value-of select="@inheritedFrom"/>
+														</xsl:otherwise>
+													</xsl:choose>
+												</xsl:variable>
+												<referenceLink target="{$inheritedMemberId}">
+													<xsl:value-of select="@inheritedFromTypeName"/>
+												</referenceLink>
+											</td>
+										</tr>
+									</xsl:if>
+									<xsl:if test="@exception">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Exception: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<referenceLink target="{@exception}" qualified="true"/>
+											</td>
+										</tr>
+									</xsl:if>
+								</table>
+							</div>
+						</xsl:if>
+					</td>
+				</tr>
+			</xsl:for-each>
+		</table>
+	</xsl:template>
+
+	<!-- Gets the parameter following the last comma in the given string -->
+	<xsl:template name="t_getLastParameter">
+		<xsl:param name="p_string" />
+		<xsl:choose>
+			<xsl:when test="contains($p_string, ',')">
+				<xsl:call-template name="t_getLastParameter">
+					<xsl:with-param name="p_string" select="substring-after($p_string, ',')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="concat(',', $p_string)" />
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_putSeeAlsoSection">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_id" select="'seeAlsoSection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:if test="$g_hasReferenceLinks">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_seeAlso_reference"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+								<xsl:for-each select="/document/comments//seealso[not(ancestor::overloads) and not(@href)] | /document/reference/elements/element/overloads//seealso[not(@href)]">
+									<div class="seeAlsoStyle">
+										<xsl:apply-templates select=".">
+											<xsl:with-param name="displaySeeAlso" select="true()"/>
+										</xsl:apply-templates>
+									</div>
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$g_hasOtherResourcesLinks">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_seeAlso_otherResources"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:for-each select="/document/comments//seealso[not(ancestor::overloads) and @href] | /document/reference/elements/element/overloads//seealso[@href]">
+									<div class="seeAlsoStyle">
+										<xsl:apply-templates select=".">
+											<xsl:with-param name="displaySeeAlso" select="true()"/>
+										</xsl:apply-templates>
+									</div>
+								</xsl:for-each>
+								<!-- Copy conceptualLink elements as-is -->
+								<xsl:for-each select="/document/comments/conceptualLink | /document/reference/elements/element/overloads/conceptualLink">
+									<div class="seeAlsoStyle">
+										<xsl:copy-of select="."/>
+									</div>
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists
+	============================================================================================= -->
+
+	<xsl:template match="list[@type='bullet' or @type='']" name="t_bulletList">
+		<ul>
+			<xsl:for-each select="item">
+				<li>
+					<xsl:choose>
+						<xsl:when test="term or description">
+							<xsl:if test="term">
+								<strong><xsl:apply-templates select="term" /></strong>
+								<xsl:text> - </xsl:text>
+							</xsl:if>
+							<xsl:apply-templates select="description" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:apply-templates />
+						</xsl:otherwise>
+					</xsl:choose>
+				</li>
+			</xsl:for-each>
+		</ul>
+	</xsl:template>
+
+	<xsl:template match="list[@type='number']" name="t_numberList">
+		<ol>
+			<xsl:if test="@start">
+				<xsl:attribute name="start">
+					<xsl:value-of select="@start"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:for-each select="item">
+				<li>
+					<xsl:choose>
+						<xsl:when test="term or description">
+							<xsl:if test="term">
+								<strong><xsl:apply-templates select="term" /></strong>
+								<xsl:text> - </xsl:text>
+							</xsl:if>
+							<xsl:apply-templates select="description" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:apply-templates />
+						</xsl:otherwise>
+					</xsl:choose>
+				</li>
+			</xsl:for-each>
+		</ol>
+	</xsl:template>
+
+	<xsl:template match="list[@type='table']" name="t_tableList">
+		<div class="tableSection">
+			<table>
+				<xsl:for-each select="listheader">
+					<tr>
+						<xsl:for-each select="*">
+							<th>
+								<xsl:apply-templates/>
+							</th>
+						</xsl:for-each>
+					</tr>
+				</xsl:for-each>
+				<xsl:for-each select="item">
+					<tr>
+						<xsl:for-each select="*">
+							<td>
+								<xsl:apply-templates/>
+							</td>
+						</xsl:for-each>
+					</tr>
+				</xsl:for-each>
+			</table>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="list[@type='definition']" name="t_definitionList">
+		<dl class="authored">
+			<xsl:for-each select="item">
+				<dt>
+					<xsl:apply-templates select="term"/>
+				</dt>
+				<dd>
+					<xsl:apply-templates select="description"/>
+				</dd>
+			</xsl:for-each>
+		</dl>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<xsl:template match="conceptualLink">
+		<xsl:choose>
+			<xsl:when test="normalize-space(.)">
+				<conceptualLink target="{@target}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<conceptualLink target="{@target}"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@cref]" name="t_seeCRef">
+		<xsl:choose>
+			<xsl:when test="starts-with(@cref,'R:')">
+				<referenceLink target="{@cref}">
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<include item="topicTitle_root" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="starts-with(@cref,'O:')">
+				<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+					show-parameters="false">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="@qualifyHint">
+								<xsl:attribute name="show-container">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+								<xsl:attribute name="show-parameters">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+							</xsl:if>
+							<include item="boilerplate_seeAlsoOverloadLink">
+								<parameter>{0}</parameter>
+							</include>
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="normalize-space(.)">
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:apply-templates/>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="@qualifyHint">
+						<xsl:attribute name="show-container">
+							<xsl:value-of select="@qualifyHint"/>
+						</xsl:attribute>
+						<xsl:attribute name="show-parameters">
+							<xsl:value-of select="@qualifyHint"/>
+						</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@href]"
+								name="t_seeHRef">
+		<xsl:call-template name="t_hyperlink">
+			<xsl:with-param name="p_content"
+											select="."/>
+			<xsl:with-param name="p_href"
+											select="@href"/>
+			<xsl:with-param name="p_target"
+											select="@target"/>
+			<xsl:with-param name="p_alt"
+											select="@alt"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="see[@langword]">
+		<xsl:variable name="v_syntaxKeyword">
+			<xsl:if test="/document/syntax">
+				<xsl:value-of select="'true'"/>
+			</xsl:if>
+		</xsl:variable>
+		<xsl:choose>
+			<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
+				<xsl:call-template name="t_nullKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='static' or @langword='Shared'">
+				<xsl:call-template name="t_staticKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='virtual' or @langword='Overridable'">
+				<xsl:call-template name="t_virtualKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='true' or @langword='True'">
+				<xsl:call-template name="t_trueKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='false' or @langword='False'">
+				<xsl:call-template name="t_falseKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='abstract' or @langword='MustInherit'">
+				<xsl:call-template name="t_abstractKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='sealed' or @langword='NotInheritable'">
+				<xsl:call-template name="t_sealedKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='async' or @langword='Async'">
+				<xsl:call-template name="t_asyncKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='await' or @langword='Await'">
+				<xsl:call-template name="t_awaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='async/await' or @langword='Async/Await'">
+				<xsl:call-template name="t_asyncAwaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="keyword"><xsl:value-of select="@langword"/></span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="seealso[@href]"
+								name="t_seealsoHRef">
+		<xsl:param name="displaySeeAlso"
+							 select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:call-template name="t_hyperlink">
+				<xsl:with-param name="p_content"
+												select="."/>
+				<xsl:with-param name="p_href"
+												select="@href"/>
+				<xsl:with-param name="p_target"
+												select="@target"/>
+				<xsl:with-param name="p_alt"
+												select="@alt"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="seealso" name="t_seealso">
+		<xsl:param name="displaySeeAlso" select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:choose>
+				<xsl:when test="starts-with(@cref,'R:')">
+					<referenceLink target="{@cref}">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:value-of select="." />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="topicTitle_root" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="starts-with(@cref,'O:')">
+					<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+						show-parameters="false">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:apply-templates />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="boilerplate_seeAlsoOverloadLink">
+									<parameter>{0}</parameter>
+								</include>
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="normalize-space(.)">
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:apply-templates />
+					</referenceLink>
+				</xsl:when>
+				<xsl:otherwise>
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+					</referenceLink>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_hyperlink">
+		<xsl:param name="p_content"/>
+		<xsl:param name="p_href"/>
+		<xsl:param name="p_target"/>
+		<xsl:param name="p_alt"/>
+
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="$p_href"/>
+			</xsl:attribute>
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_target)">
+					<xsl:attribute name="target">
+						<xsl:value-of select="normalize-space($p_target)"/>
+					</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="target">_blank</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:if test="normalize-space($p_alt)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space($p_alt)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_content)">
+					<xsl:value-of select="$p_content"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$p_href"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</a>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="note" name="t_note">
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass" select="@type"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_getParameterDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getReturnsDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getElementDescription">
+		<xsl:apply-templates select="summary[1]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSummary">
+		<xsl:apply-templates select="overloads" mode="summary"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSections">
+		<xsl:apply-templates select="overloads" mode="sections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Bibliography
+	============================================================================================= -->
+
+	<xsl:key name="k_citations"
+					 match="//cite"
+					 use="text()"/>
+
+	<xsl:variable name="g_hasCitations"
+								select="boolean(count(//cite) > 0)"/>
+
+	<xsl:template match="cite"
+								name="t_cite">
+		<xsl:variable name="v_currentCitation"
+									select="text()"/>
+		<xsl:for-each select="//cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:if test="$v_currentCitation=.">
+				<xsl:choose>
+					<xsl:when test="document($bibliographyData)/bibliography/reference[@name=$v_currentCitation]">
+						<sup class="citation">
+							<a>
+								<xsl:attribute name="href">
+									#cite<xsl:value-of select="position()"/>
+								</xsl:attribute>[<xsl:value-of select="position()"/>]
+							</a>
+						</sup>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="t_bibliography">
+		<xsl:if test="$g_hasCitations">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'bibliographyTitle'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_autogenBibliographyLinks"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_autogenBibliographyLinks">
+		<xsl:for-each select="//cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:variable name="citation"
+										select="."/>
+			<xsl:variable name="entry"
+										select="document($bibliographyData)/bibliography/reference[@name=$citation]"/>
+
+			<xsl:call-template name="bibliographyReference">
+				<xsl:with-param name="number"
+												select="position()"/>
+				<xsl:with-param name="data"
+												select="$entry"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+	<!-- Revision History information template processing. -->
+	<xsl:template name="t_revisionHistory" match="revisionHistory" >
+		<xsl:if test="boolean(count(/document//revisionHistory) > 0)">
+			<xsl:if test="not(/document//revisionHistory[@visible='false'])">
+				<xsl:call-template name="t_putSectionInclude">
+					<xsl:with-param name="p_titleInclude" select="'title_revisionHistory'"/>
+					<xsl:with-param name="p_content">
+						<table>
+							<tr>
+								<th>
+									<include item="header_revHistoryDate" />
+								</th>
+								<th>
+									<include item="header_revHistoryVersion" />
+								</th>
+								<th>
+									<include item="header_revHistoryDescription" />
+								</th>
+							</tr>
+							<xsl:for-each select="/document//revisionHistory/revision">
+								<xsl:if test="not(@visible='false')">
+									<tr>
+										<td>
+											<xsl:value-of select="@date"/>
+										</td>
+										<td>
+											<xsl:value-of select="@version"/>
+										</td>
+										<td>
+											<xsl:apply-templates />
+										</td>
+									</tr>
+								</xsl:if>
+							</xsl:for-each>
+						</table>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Pass through a chunk of markup.  This will allow build components to add HTML or other elements such as
+			 "include" for localized shared content to a pre-transformed document.  This prevents it being removed as
+			 unrecognized content by the transformations. -->
+	<xsl:template match="markup">
+		<xsl:copy-of select="node()"/>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/metadataHelp20.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/metadataHelp20.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..fc27c7bd8a2f665be4b7e0f2d17e3b2aa7325acc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/metadataHelp20.xsl
@@ -0,0 +1,1012 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+   >
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp20">
+		<xsl:if test="$metadata='true'">
+			<xml>
+				<MSHelp:Attr Name="AssetID"
+										 Value="{$key}" />
+				<!-- toc title, rl title, etc. -->
+				<xsl:call-template name="t_mshelpTitles" />
+				<!-- keywords for the A (link target) index -->
+				<xsl:call-template name="t_linkMetadata" />
+				<!-- keywords for the K (index) index -->
+				<xsl:call-template name="t_indexMetadata" />
+				<!-- keywords for the F (F1 help) index -->
+				<xsl:call-template name="t_helpMetadata" />
+				<!-- help priority settings -->
+				<xsl:call-template name="t_helpPriorityMetadata" />
+				<!-- attributes for api identification -->
+				<xsl:call-template name="t_apiTaggingMetadata" />
+				<!-- attributes for filtering -->
+				<xsl:call-template name="t_mshelpDevlangAttributes" />
+				<MSHelp:Attr Name="Locale">
+					<includeAttribute name="Value" item="locale" />
+				</MSHelp:Attr>
+				<!-- attribute to allow F1 help integration -->
+				<MSHelp:Attr Name="TopicType"
+										 Value="kbSyntax" />
+				<MSHelp:Attr Name="TopicType"
+										 Value="apiref" />
+
+				<!-- Abstract -->
+				<xsl:choose>
+					<xsl:when test="string-length(normalize-space($g_abstractSummary)) &gt; 254">
+						<MSHelp:Attr Name="Abstract" Value="{concat(substring(normalize-space($g_abstractSummary),1,250), ' ...')}" />
+					</xsl:when>
+					<xsl:when test="string-length(normalize-space($g_abstractSummary)) &gt; 0 and $g_abstractSummary != '&#160;'">
+						<MSHelp:Attr Name="Abstract" Value="{normalize-space($g_abstractSummary)}" />
+					</xsl:when>
+				</xsl:choose>
+
+				<!-- Assembly Version-->
+				<xsl:if test="$g_apiGroup != 'namespace' and $g_apiGroup != 'namespaceGroup'">
+					<MSHelp:Attr Name="AssemblyVersion" Value="{/document/reference/containers/library/assemblydata/@version}" />
+				</xsl:if>
+
+				<xsl:call-template name="t_versionMetadata" />
+				<xsl:call-template name="t_authoredMetadata" />
+			</xml>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Add DocSet and Technology attributes depending on the versions that support this api
+	============================================================================================= -->
+
+	<xsl:template name="t_versionMetadata">
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnXNA">
+			<xsl:call-template name="t_isMemberSupportedOnXna" />
+		</xsl:variable>
+		<xsl:if test="count(/document/reference/versions/versions[@name='netfw']//version) &gt; 0 or count(/document/reference/topicdata/versions/versions[@name='netfw']//version) &gt; 0 ">
+			<MSHelp:Attr Name="Technology">
+				<includeAttribute name="Value"
+													item="meta_help20_desktopTechnologyAttribute" />
+			</MSHelp:Attr>
+		</xsl:if>
+		<!-- insert CF values for Technology and DocSet attributes for: 
+            api topics that have netcfw version nodes
+            memberlist topics where topicdata/versions has netcfw version nodes
+            overload list topics where any of the elements has netcfw version nodes
+    -->
+		<xsl:if test="count(/document/reference/versions/versions[@name='netcfw']//version) &gt; 0 or count(/document/reference/topicdata/versions/versions[@name='netcfw']//version) &gt; 0  or count(/document/reference[topicdata[@subgroup='overload']]/elements//element/versions/versions[@name='netcfw']//version) &gt; 0 or normalize-space($v_supportedOnCf)!=''">
+			<MSHelp:Attr Name="Technology">
+				<includeAttribute name="Value"
+													item="meta_help20_netcfTechnologyAttribute" />
+			</MSHelp:Attr>
+			<MSHelp:Attr Name="DocSet">
+				<includeAttribute name="Value"
+													item="meta_help20_netcfDocSetAttribute" />
+			</MSHelp:Attr>
+		</xsl:if>
+		<!-- insert XNA values for Technology and DocSet attributes for: 
+            api topics that have xnafw version nodes
+            memberlist topics where topicdata/versions has xnafw version nodes
+            overload list topics where any of the elements has xnafw version nodes
+    -->
+		<xsl:if test="count(/document/reference/versions/versions[@name='xnafw']//version) &gt; 0 or count(/document/reference/topicdata/versions/versions[@name='xnafw']//version) &gt; 0  or count(/document/reference[topicdata[@subgroup='overload']]/elements//element/versions/versions[@name='xnafw']//version) &gt; 0 or normalize-space($v_supportedOnXNA)!=''">
+			<MSHelp:Attr Name="Technology">
+				<includeAttribute name="Value"
+													item="meta_help20_xnaTechnologyAttribute" />
+			</MSHelp:Attr>
+			<MSHelp:Attr Name="DocSet">
+				<includeAttribute name="Value"
+													item="meta_help20_xnaDocSetAttribute" />
+			</MSHelp:Attr>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Attributes and keywords added to topics by authors
+	============================================================================================= -->
+
+	<xsl:template name="t_authoredMetadata">
+
+		<!-- authored attributes -->
+		<xsl:for-each select="/document/metadata/attribute">
+			<MSHelp:Attr Name="{@name}"
+									 Value="{text()}" />
+		</xsl:for-each>
+
+		<!-- authored K -->
+		<xsl:for-each select="/document/metadata/keyword[@index='K']">
+			<MSHelp:Keyword Index="K">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='K']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+		<!-- authored S -->
+		<xsl:for-each select="/document/metadata/keyword[@index='S']">
+			<MSHelp:Keyword Index="S">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='S']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+			<!-- S index keywords need to be converted to F index keywords -->
+			<MSHelp:Keyword Index="F">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='S']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+		<!-- authored F -->
+		<xsl:for-each select="/document/metadata/keyword[@index='F']">
+			<MSHelp:Keyword Index="F">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='F']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+		<!-- authored B -->
+		<xsl:for-each select="/document/metadata/keyword[@index='B']">
+			<MSHelp:Keyword Index="B">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='B']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	toc title and rl title
+	============================================================================================= -->
+
+	<xsl:template name="t_mshelpTitles">
+
+		<!-- TOC List title-->
+		<MSHelp:TOCTitle>
+			<includeAttribute name="Title" item="meta_mshelp_tocTitle">
+				<parameter>
+					<!-- For namespaces TOC titles, only show the namespace without any descriptive suffix -->
+					<xsl:choose>
+						<xsl:when test="$g_apiTopicGroup='namespace'">
+							<xsl:call-template name="t_shortNamePlain" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_topicTitlePlain" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</parameter>
+			</includeAttribute>
+		</MSHelp:TOCTitle>
+
+		<!-- The Results List title -->
+		<MSHelp:RLTitle>
+			<includeAttribute name="Title" item="meta_mshelp_rlTitle">
+				<parameter>
+					<xsl:call-template name="t_topicTitlePlain">
+						<xsl:with-param name="p_qualifyMembers" select="true()" />
+					</xsl:call-template>
+				</parameter>
+				<parameter>
+					<xsl:value-of select="$g_namespaceName"/>
+				</parameter>
+			</includeAttribute>
+		</MSHelp:RLTitle>
+
+	</xsl:template>
+
+	<xsl:template name="t_apiTaggingMetadata">
+		<xsl:if test="$g_topicGroup='api' and ($g_apiGroup='type' or $g_apiGroup='member')">
+			<MSHelp:Attr Name="APIType"
+									 Value="Managed" />
+			<MSHelp:Attr Name="APILocation"
+									 Value="{/document/reference/containers/library/@assembly}.dll" />
+			<xsl:choose>
+				<xsl:when test="$g_apiGroup='type'">
+					<xsl:variable name="v_apiTypeName">
+						<xsl:choose>
+							<xsl:when test="/document/reference/containers/namespace/apidata/@name != ''">
+								<xsl:value-of select="concat(/document/reference/containers/namespace/apidata/@name,'.',/document/reference/apidata/@name)" />
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="/document/reference/apidata/@name" />
+							</xsl:otherwise>
+						</xsl:choose>
+						<xsl:if test="count(/document/reference/templates/template) > 0">
+							<xsl:value-of select="concat('`',count(/document/reference/templates/template))" />
+						</xsl:if>
+					</xsl:variable>
+					<!-- Namespace + Type -->
+					<MSHelp:Attr Name="APIName"
+											 Value="{$v_apiTypeName}" />
+					<xsl:choose>
+						<xsl:when test="boolean($g_apiSubGroup='delegate')">
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'..ctor')}" />
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'.','Invoke')}" />
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'.','BeginInvoke')}" />
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'.','EndInvoke')}" />
+						</xsl:when>
+						<xsl:when test="$g_apiSubGroup='enumeration'">
+							<xsl:for-each select="/document/reference/elements/element">
+								<MSHelp:Attr Name="APIName"
+														 Value="{substring(@api,3)}" />
+							</xsl:for-each>
+							<!-- Namespace + Type + Member for each member -->
+						</xsl:when>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:when test="$g_apiGroup='member'">
+					<xsl:variable name="v_namespace"
+												select="/document/reference/containers/namespace/apidata/@name" />
+					<xsl:variable name="v_type">
+						<xsl:for-each select="/document/reference/containers/type[1]">
+							<xsl:call-template name="typeNameWithTicks" />
+						</xsl:for-each>
+					</xsl:variable>
+					<xsl:variable name="v_member"
+												select="/document/reference/apidata/@name" />
+					<!-- Namespace + Type + Member -->
+					<MSHelp:Attr Name="APIName"
+											 Value="{concat($v_namespace, '.', $v_type, '.', $v_member)}" />
+					<xsl:choose>
+						<!-- for properties, add APIName attribute get/set accessor methods -->
+						<xsl:when test="boolean($g_apiSubGroup='property')">
+							<xsl:if test="/document/reference/propertydata[@get='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.get_', $v_member)}" />
+							</xsl:if>
+							<xsl:if test="/document/reference/propertydata[@set='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.set_', $v_member)}" />
+							</xsl:if>
+						</xsl:when>
+						<!-- for events, add APIName attribute add/remove accessor methods -->
+						<xsl:when test="boolean($g_apiSubGroup='event')">
+							<xsl:if test="/document/reference/eventdata[@add='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.add_', $v_member)}" />
+							</xsl:if>
+							<xsl:if test="/document/reference/eventdata[@remove='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.remove_', $v_member)}" />
+							</xsl:if>
+						</xsl:when>
+						<!-- for operators, add APIName attribute op accessor methods -->
+						<xsl:when test="boolean($g_apiSubSubGroup='operator')">
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_namespace, '.', $v_type, '.op_', $v_member)}" />
+						</xsl:when>
+					</xsl:choose>
+				</xsl:when>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	link target (A index) keywords
+	============================================================================================= -->
+
+	<xsl:template name="t_linkMetadata">
+
+		<!-- code entity reference keyword -->
+		<MSHelp:Keyword Index="A"
+										Term="{$key}" />
+
+		<xsl:if test="$g_topicGroup='api' and $g_apiSubGroup='enumeration'">
+			<xsl:for-each select="/document/reference/elements/element">
+				<MSHelp:Keyword Index="A"
+												Term="{@api}" />
+			</xsl:for-each>
+		</xsl:if>
+
+		<!-- frlrf keywords -->
+		<xsl:call-template name="t_FrlrfKeywords"/>
+
+	</xsl:template>
+
+	<xsl:template name="t_FrlrfKeywords">
+		<xsl:variable name="v_FrlrfTypeName">
+			<!-- for members and nested types, start with the containing type name -->
+			<xsl:for-each select="/document/reference/containers/type">
+				<xsl:call-template name="t_FrlrfTypeName"/>
+			</xsl:for-each>
+			<!-- for types and member list topics, append the type name -->
+			<xsl:if test="/document/reference/apidata[@group='type']">
+				<xsl:for-each select="/document/reference">
+					<xsl:call-template name="t_FrlrfTypeName"/>
+				</xsl:for-each>
+			</xsl:if>
+		</xsl:variable>
+		<xsl:variable name="v_memberName">
+			<xsl:choose>
+				<xsl:when test="/document/reference/apidata[@subgroup='constructor']">
+					<xsl:value-of select="'ctor'"/>
+				</xsl:when>
+				<xsl:when test="/document/reference/apidata[@subsubgroup='operator']">
+					<xsl:value-of select="concat('op_', /document/reference/apidata/@name)"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="/document/reference/apidata/@name"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:choose>
+			<!-- namespace topic -->
+			<xsl:when test="/document/reference/apidata/@group='namespace'">
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf',$v_memberName),'.','')}"/>
+			</xsl:when>
+			<!-- Overload topic -->
+			<xsl:when test="/document/reference/topicdata[@subgroup='overload']">
+				<xsl:variable name="v_FrlrfBaseId">
+					<xsl:value-of select="translate(concat('frlrf', $g_namespaceName, $v_FrlrfTypeName, 'Class', $v_memberName, 'Topic'),'.','')"/>
+				</xsl:variable>
+				<MSHelp:Keyword Index="A"
+												Term="{$v_FrlrfBaseId}"/>
+				<!-- whidbey included frlrf keyword for each overload, but I don't think we need in Manifold, so commenting it out -->
+				<!--
+        <xsl:for-each select="elements/element">
+          <MSHelp:Keyword Index="A" Term="{concat($v_FrlrfBaseId, string(position()))}"/>
+        </xsl:for-each>
+        -->
+			</xsl:when>
+			<!-- Member list topic (other than overload list captured above) -->
+			<xsl:when test="/document/reference/topicdata[@group='list']">
+				<xsl:variable name="v_memberListSubgroup">
+					<xsl:choose>
+						<xsl:when test="/document/reference/topicdata/@subgroup='members'">Members</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="/document/reference/topicdata/@subgroup"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf', $g_namespaceName, $v_FrlrfTypeName, $v_memberListSubgroup, 'Topic'),'.','')}"/>
+			</xsl:when>
+			<!-- type topic -->
+			<xsl:when test="/document/reference/apidata[@group='type']">
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf',$g_namespaceName, $v_FrlrfTypeName, 'ClassTopic'),'.','')}"/>
+			</xsl:when>
+			<!-- no frlrf ID for overload signature topics-->
+			<xsl:when test="/document/reference/apidata[@group='member'] and /document/reference/memberdata/@overload"/>
+			<!-- non-overload member topic -->
+			<xsl:when test="/document/reference/apidata[@group='member']">
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf',$g_namespaceName, $v_FrlrfTypeName, 'Class', $v_memberName, 'Topic'),'.','')}"/>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_FrlrfTypeName">
+		<xsl:for-each select="type">
+			<xsl:call-template name="t_FrlrfTypeName"/>
+		</xsl:for-each>
+		<xsl:choose>
+			<xsl:when test="templates/template">
+				<xsl:value-of select="concat(apidata/@name, count(templates/template))"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	F1 (F index) keywords
+	============================================================================================= -->
+
+	<xsl:template name="t_helpMetadata">
+		<!-- F keywords -->
+		<xsl:choose>
+			<!-- namespace pages get the namespace keyword, if it exists -->
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:variable name="v_namespace" select="/document/reference/apidata/@name" />
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{$v_namespace}" />
+				</xsl:if>
+			</xsl:when>
+			<!-- Type overview page gets type and namespace.type keywords. -->
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:variable name="v_namespace" select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type)}" />
+				</xsl:if>
+				<MSHelp:Keyword Index="F" Term="{$v_type}" />
+				<xsl:if test="$g_apiTopicSubGroup = 'enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<xsl:choose>
+							<xsl:when test="string($v_namespace) != ''">
+								<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type, '.', apidata/@name)}" />
+							</xsl:when>
+							<xsl:otherwise>
+								<MSHelp:Keyword Index="F" Term="{concat($v_type, '.', apidata/@name)}" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:for-each>
+				</xsl:if>
+				<xsl:call-template name="xamlMSHelpFKeywords"/>
+			</xsl:when>
+
+			<!-- No F keywords on AllMembers pages, TFS 851543. -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='members'" />
+
+			<!-- overload list pages get member, type.member, and namepsace.type.member keywords -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload'">
+				<xsl:variable name="v_namespace" select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_member">
+					<xsl:choose>
+						<!-- if the member is a constructor, use the member name for the type name -->
+						<xsl:when test="/document/reference/apidata[@subgroup='constructor']">
+							<xsl:value-of select="$v_type" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="/document/reference/apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type, '.', $v_member)}" />
+				</xsl:if>
+				<MSHelp:Keyword Index="F" Term="{concat($v_type, '.', $v_member)}" />
+				<MSHelp:Keyword Index="F" Term="{$v_member}" />
+			</xsl:when>
+
+			<!-- no F1 help entries for overload signature topics -->
+			<xsl:when test="$g_apiTopicGroup='member' and /document/reference/memberdata/@overload"/>
+
+			<!-- member pages get member, type.member, and namepsace.type.member keywords -->
+			<xsl:when test="$g_apiTopicGroup='member'">
+				<xsl:variable name="v_namespace" select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_member">
+					<xsl:choose>
+						<!-- if the member is a constructor, use the member name for the type name -->
+						<xsl:when test="$g_apiTopicSubGroup='constructor'">
+							<xsl:value-of select="$v_type" />
+						</xsl:when>
+						<!-- explicit interface implementation -->
+						<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+							<xsl:for-each select="/document/reference/implements/member">
+								<xsl:call-template name="typeNameWithTicks" />
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="/document/reference/apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type, '.', $v_member)}" />
+				</xsl:if>
+				<MSHelp:Keyword Index="F" Term="{concat($v_type, '.', $v_member)}" />
+				<MSHelp:Keyword Index="F" Term="{$v_member}" />
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Set high help priority for namespace and member list pages, lower priority for type overview pages
+	============================================================================================= -->
+
+	<xsl:template name="t_helpPriorityMetadata">
+		<xsl:choose>
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='namespace') or ($g_topicGroup='list' and $g_topicSubGroup='members')">
+				<MSHelp:Attr Name="HelpPriority"
+										 Value="1"/>
+			</xsl:when>
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='type'">
+				<MSHelp:Attr Name="HelpPriority"
+										 Value="2"/>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Language attributes
+	============================================================================================= -->
+
+	<xsl:template name="t_mshelpDevlangAttributes">
+		<!-- First insert a DevLang attribute for each language in the $languages argument passed to the transform -->
+		<xsl:for-each select="$languages/language">
+			<xsl:variable name="v_devlang">
+				<xsl:call-template name="t_codeLangName">
+					<xsl:with-param name="p_codeLang" select="@name"/>
+				</xsl:call-template>
+			</xsl:variable>
+			<xsl:if test="normalize-space($v_devlang)!=''">
+				<MSHelp:Attr Name="DevLang">
+					<includeAttribute name="Value" item="metaLang_{$v_devlang}" undefined="{$v_devlang}"/>
+				</MSHelp:Attr>
+			</xsl:if>
+		</xsl:for-each>
+
+		<!-- Make a list of the languages that have already been included via $languages -->
+		<xsl:variable name="languagesList">
+			<xsl:for-each select="$languages/language">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@name"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:if test="normalize-space($v_devlang)!=''">
+					<xsl:value-of select="$v_devlang"/>
+					<xsl:text>;</xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<!-- Add DevLang attribute for any additional languages referred to in the topic's snippet and code nodes -->
+		<xsl:for-each select="//*[@language]">
+			<xsl:if test="not(@language=preceding::*/@language)">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@language"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="normalize-space($v_devlang)=''"/>
+					<xsl:when test="contains($languagesList,concat($v_devlang,';'))"/>
+					<xsl:otherwise>
+						<MSHelp:Attr Name="DevLang">
+							<includeAttribute name="Value" item="metaLang_{$v_devlang}" undefined="{$v_devlang}"/>
+						</MSHelp:Attr>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+
+		<!-- Extend the list of languages that have already been included -->
+		<xsl:variable name="languagesList2">
+			<xsl:value-of select="$languagesList"/>
+			<xsl:for-each select="//*[@language]">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@language"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:if test="normalize-space($v_devlang)!=''">
+					<xsl:value-of select="$v_devlang"/>
+					<xsl:text>;</xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<!-- Add DevLang attribute for any additional languages referred to in the topic's syntax blocks -->
+		<xsl:for-each select="/document/syntax/div[@codeLanguage and not(div[@class='nonXamlAssemblyBoilerplate'])]">
+			<xsl:if test="not(@codeLanguage=preceding::*/@codeLanguage)">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@codeLanguage"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="normalize-space($v_devlang)=''"/>
+					<xsl:when test="contains($languagesList2,concat($v_devlang,';'))"/>
+					<xsl:otherwise>
+						<MSHelp:Attr Name="DevLang">
+							<includeAttribute name="Value" item="metaLang_{$v_devlang}" undefined="{$v_devlang}"/>
+						</MSHelp:Attr>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<!-- ============================================================================================
+  Additional F1 keywords for class, struct, and enum topics in a set of WPF namespaces. 
+  This template inserts the MSHelp:Keyword nodes.
+  The keyword prefixes and the WPF namespaces are hard-coded in variables.
+	============================================================================================= -->
+
+	<xsl:variable name="g_wpf_f1index_prefix_1">http://schemas.microsoft.com/winfx/2006/xaml/presentation#</xsl:variable>
+	<xsl:variable name="g_wpf_f1index_prefix_1_namespaces">N:System.Windows.Controls#N:System.Windows.Documents#N:System.Windows.Shapes#N:System.Windows.Navigation#N:System.Windows.Data#N:System.Windows#N:System.Windows.Controls.Primitives#N:System.Windows.Media.Animation#N:System.Windows.Annotations#N:System.Windows.Annotations.Anchoring#N:System.Windows.Annotations.Storage#N:System.Windows.Media#N:System.Windows.Media.Animation#N:System.Windows.Media.Media3D#N:</xsl:variable>
+
+	<xsl:template name="xamlMSHelpFKeywords">
+		<xsl:if test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='enumeration' or $g_apiTopicSubGroup='structure'">
+			<xsl:if test="boolean(contains($g_wpf_f1index_prefix_1_namespaces, concat('#',/document/reference/containers/namespace/@api,'#'))
+                           or starts-with($g_wpf_f1index_prefix_1_namespaces, concat(/document/reference/containers/namespace/@api,'#')))">
+				<MSHelp:Keyword Index="F"
+												Term="{concat($g_wpf_f1index_prefix_1, /document/reference/apidata/@name)}"/>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+  Index Logic
+	============================================================================================= -->
+
+	<xsl:template name="t_indexMetadata">
+		<xsl:choose>
+			<!-- namespace topics get one unqualified index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='namespace'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<MSHelp:Keyword Index="K">
+					<includeAttribute name="Term"
+														item="indexEntry_namespace">
+						<parameter>
+							<xsl:value-of select="msxsl:node-set($v_names)/name" />
+						</parameter>
+					</includeAttribute>
+				</MSHelp:Keyword>
+			</xsl:when>
+			<!-- type overview topics get qualified and unqualified index entries, and an about index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='type'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+					<xsl:if test="boolean($v_namespace != '')">
+						<MSHelp:Keyword Index="K">
+							<includeAttribute name="Term"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="$v_namespace"/>
+									<xsl:text>.</xsl:text>
+									<xsl:copy-of select="." />
+								</parameter>
+							</includeAttribute>
+						</MSHelp:Keyword>
+					</xsl:if>
+				</xsl:for-each>
+				<!-- enumerations get the index entries for their members -->
+				<xsl:if test="$g_apiSubGroup='enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<MSHelp:Keyword Index="K">
+							<includeAttribute name="Term"
+																item="indexEntry_{$g_apiSubGroup}Member">
+								<parameter>
+									<xsl:value-of select="apidata/@name" />
+								</parameter>
+							</includeAttribute>
+						</MSHelp:Keyword>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- all member lists get unqualified entries, qualified entries, and unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='members'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_members">
+							<parameter>
+								<include item="indexEntry_{$g_apiSubGroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:if test="boolean($v_namespace != '')">
+					<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+						<MSHelp:Keyword Index="K">
+							<includeAttribute name="Term"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="." />
+								</parameter>
+							</includeAttribute>
+						</MSHelp:Keyword>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- other member list pages get unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and not($g_topicSubGroup = 'overload')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="$g_topicSubGroup='Operators'">
+						<xsl:variable name="v_operators"
+													select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+						<xsl:variable name="v_conversions"
+													select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<!-- operators + type conversions -->
+								<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'operatorsAndTypeConversions'" />
+								</xsl:when>
+								<!-- no operators + type conversions -->
+								<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'typeConversions'" />
+								</xsl:when>
+								<!-- operators + no type conversions -->
+								<xsl:otherwise>
+									<xsl:value-of select="$g_topicSubGroup" />
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$g_apiTopicSubGroup}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- constructor (or constructor overload) topics get unqualified sub-entries using the type names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor' and not(/document/reference/memberdata/@overload)) or ($g_topicSubGroup='overload' and $g_apiSubGroup = 'constructor')">
+				<xsl:variable name="v_typeSubgroup"
+											select="/document/reference/containers/type/apidata/@subgroup" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference/containers/type">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_constructor">
+							<parameter>
+								<include item="indexEntry_{$v_typeSubgroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_constructorType">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- op_explicit and op_implicit members -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="operatorTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_conversionOperator">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- other member (or overload) topics get qualified and unqualified entries using the member names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member' and not(/document/reference/memberdata/@overload)) or $g_topicSubGroup='overload'">
+
+				<xsl:choose>
+					<!-- overload op_explicit and op_implicit topics -->
+					<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+					</xsl:when>
+					<!-- explicit interface implementation -->
+					<xsl:when test="/document/reference/proceduredata/@virtual='true' and /document/reference/memberdata/@visibility='private'">
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference/implements/member">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiSubSubGroup='operator'">
+											<xsl:value-of select="$g_apiSubSubGroup"/>
+										</xsl:when>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+
+			</xsl:when>
+			<!-- derived type lists get unqualified sub-entries -->
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/metadataHelp30.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/metadataHelp30.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..519770ecdba5103d94a622fe424e06f7bfd3ba18
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/metadataHelp30.xsl
@@ -0,0 +1,729 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+   >
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp30">
+
+		<!-- System.Language -->
+		<meta name="Language">
+			<includeAttribute name="content" item="locale" />
+		</meta>
+
+		<!-- System.Title -->
+		<!-- <title> is set elsewhere -->
+
+		<!-- System.Keywords -->
+		<!-- Microsoft.Help.F1 -->
+		<xsl:call-template name="t_indexMetadata30" />
+		<xsl:call-template name="t_helpMetadata30" />
+		<xsl:call-template name="t_authoredMetadata30" />
+
+		<!-- Microsoft.Help.Id -->
+		<meta name="Microsoft.Help.Id" content="{$key}" />
+
+		<!-- Microsoft.Help.Description -->
+		<xsl:if test="$g_abstractSummary">
+			<xsl:variable name="v_description">
+				<xsl:call-template name="t_getTrimmedAtPeriod">
+					<xsl:with-param name="p_string" select="$g_abstractSummary" />
+				</xsl:call-template>
+			</xsl:variable>
+			<xsl:if test="normalize-space($v_description)">
+				<meta name="Description">
+					<xsl:attribute name="content">
+						<xsl:value-of select="normalize-space($v_description)"/>
+					</xsl:attribute>
+				</meta>
+			</xsl:if>
+		</xsl:if>
+
+		<!-- Microsoft.Help.TocParent -->
+		<xsl:if test="/document/metadata/attribute[@name='TOCParent']">
+			<meta name="Microsoft.Help.TocParent" content="{/document/metadata/attribute[@name='TOCParent']}" />
+		</xsl:if>
+		<xsl:if test="/document/metadata/attribute[@name='TOCOrder']">
+			<meta name="Microsoft.Help.TocOrder" content="{/document/metadata/attribute[@name='TOCOrder']}" />
+		</xsl:if>
+
+		<!-- Microsoft.Help.Category -->
+		<xsl:for-each select="/document/metadata/attribute[@name='Category']">
+			<meta name="Microsoft.Help.Category" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentFilter -->
+		<xsl:for-each select="/document/metadata/attribute[@name='ContentFilter']">
+			<meta name="Microsoft.Help.ContentFilter" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentType -->
+		<meta name="Microsoft.Help.ContentType" content="Reference" />
+
+		<!-- Microsoft.Package.Book -->
+		<xsl:variable name="v_book" select="/document/metadata/attribute[@name='Book']/text()" />
+		<xsl:if test="$v_book">
+			<meta name="Microsoft.Package.Book" content="{$v_book}" />
+		</xsl:if>
+
+		<!-- Branding aware.  This prevents the MSHC Component from changing a couple of CSS style names. -->
+		<meta name="BrandingAware" content="true"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_indexMetadata30">
+		<xsl:choose>
+			<!-- namespace topics get one unqualified index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='namespace'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<meta name="System.Keywords">
+					<includeAttribute name="content"
+														item="indexEntry_namespace">
+						<parameter>
+							<xsl:value-of select="msxsl:node-set($v_names)/name" />
+						</parameter>
+					</includeAttribute>
+				</meta>
+			</xsl:when>
+			<!-- type overview topics get qualified and unqualified index entries, and an about index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='type'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</meta>
+					<xsl:if test="boolean($v_namespace != '')">
+						<meta name="System.Keywords">
+							<includeAttribute name="content"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="$v_namespace"/>
+									<xsl:text>.</xsl:text>
+									<xsl:copy-of select="." />
+								</parameter>
+							</includeAttribute>
+						</meta>
+					</xsl:if>
+				</xsl:for-each>
+				<!-- enumerations get the index entries for their members -->
+				<xsl:if test="$g_apiSubGroup='enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<meta name="System.Keywords">
+							<includeAttribute name="content"
+																item="indexEntry_{$g_apiSubGroup}Member">
+								<parameter>
+									<xsl:value-of select="apidata/@name" />
+								</parameter>
+							</includeAttribute>
+						</meta>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- all member lists get unqualified entries, qualified entries, and unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='members'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</meta>
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_members">
+							<parameter>
+								<include item="indexEntry_{$g_apiSubGroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:if test="boolean($v_namespace != '')">
+					<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+						<meta name="System.Keywords">
+							<includeAttribute name="content"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="." />
+								</parameter>
+							</includeAttribute>
+						</meta>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- other member list pages get unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and not($g_topicSubGroup = 'overload')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="$g_topicSubGroup='Operators'">
+						<xsl:variable name="v_operators"
+													select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+						<xsl:variable name="v_conversions"
+													select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<!-- operators + type conversions -->
+								<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'operatorsAndTypeConversions'" />
+								</xsl:when>
+								<!-- no operators + type conversions -->
+								<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'typeConversions'" />
+								</xsl:when>
+								<!-- operators + no type conversions -->
+								<xsl:otherwise>
+									<xsl:value-of select="$g_topicSubGroup" />
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$g_apiTopicSubGroup}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- constructor (or constructor overload) topics get unqualified sub-entries using the type names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor' and not(/document/reference/memberdata/@overload)) or ($g_topicSubGroup='overload' and $g_apiSubGroup = 'constructor')">
+				<xsl:variable name="v_typeSubgroup"
+											select="/document/reference/containers/type/apidata/@subgroup" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference/containers/type">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_constructor">
+							<parameter>
+								<include item="indexEntry_{$v_typeSubgroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_constructorType">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- op_explicit and op_implicit members -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="operatorTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_conversionOperator">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- other member (or overload) topics get qualified and unqualified entries using the member names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member' and not(/document/reference/memberdata/@overload)) or $g_topicSubGroup='overload'">
+
+				<xsl:choose>
+					<!-- overload op_explicit and op_implicit topics -->
+					<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+					</xsl:when>
+					<!-- explicit interface implementation -->
+					<xsl:when test="/document/reference/proceduredata/@virtual='true' and /document/reference/memberdata/@visibility='private'">
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference/implements/member">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiSubSubGroup='operator'">
+											<xsl:value-of select="$g_apiSubSubGroup"/>
+										</xsl:when>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+
+			</xsl:when>
+			<!-- derived type lists get unqualified sub-entries -->
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_helpMetadata30">
+		<!-- F keywords -->
+		<xsl:choose>
+
+			<!-- namespace pages get the namespace keyword, if it exists -->
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/apidata/@name" />
+				<xsl:if test="$v_namespace != ''">
+					<meta name="Microsoft.Help.F1"
+								content="{$v_namespace}" />
+				</xsl:if>
+			</xsl:when>
+
+			<!-- type memberlist topics do NOT get F keywords -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='members'"/>
+
+			<!-- type overview pages get namespace.type keywords -->
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:call-template name="t_writeF1WithApiName">
+					<xsl:with-param name="p_namespace"
+													select="$v_namespace" />
+					<xsl:with-param name="p_type"
+													select="$v_type" />
+					<xsl:with-param name="p_member"
+													select="''" />
+				</xsl:call-template>
+
+				<!-- for enums, write F1 keywords for each enum member -->
+				<xsl:if test="$g_apiTopicSubGroup = 'enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<xsl:call-template name="t_writeF1WithApiName">
+							<xsl:with-param name="p_namespace"
+															select="$v_namespace" />
+							<xsl:with-param name="p_type"
+															select="$v_type" />
+							<xsl:with-param name="p_member"
+															select="apidata/@name" />
+						</xsl:call-template>
+
+					</xsl:for-each>
+				</xsl:if>
+
+				<!-- Insert additional F1 keywords to support XAML for class, struct, and enum topics in a set of namespaces. -->
+				<xsl:call-template name="t_xamlMSHelpFKeywords30"/>
+			</xsl:when>
+
+			<!-- overload list pages get namespace.type.member keyword -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference[1]/containers">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+
+				<xsl:variable name="v_containingTypeId"
+											select="/document/reference/containers/type[1]/@api" />
+				<!-- do not write F1 keyword for overload list topics that contain only inherited members -->
+				<xsl:if test="/document/reference/elements//element/containers/type[1][@api=$v_containingTypeId]">
+
+					<!-- Generate a result tree fragment with all of the names for this overload page, TFS 856956, 864173-->
+					<xsl:variable name="v_F1Names">
+						<xsl:choose>
+							<xsl:when test="/document/reference/apidata[@subgroup='constructor']">
+								<name>
+									<xsl:text>#ctor</xsl:text>
+								</name>
+								<name>
+									<xsl:value-of select="/document/reference/containers/type[1]/apidata/@name" />
+								</name>
+							</xsl:when>
+							<xsl:otherwise>
+								<name>
+									<xsl:value-of select="/document/reference/apidata/@name" />
+								</name>
+								<xsl:for-each select="/document/reference/elements/element[templates and containers/type[1][@api=$v_containingTypeId]]">
+									<name>
+										<xsl:value-of select="apidata/@name" />
+										<xsl:text>``</xsl:text>
+										<xsl:value-of select="count(templates/template)" />
+									</name>
+								</xsl:for-each>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+
+					<xsl:for-each select="msxsl:node-set($v_F1Names)//name[not(. = preceding::name)]">
+						<xsl:sort select="." />
+						<xsl:call-template name="t_writeF1WithApiName">
+							<xsl:with-param name="p_namespace"
+															select="$v_namespace" />
+							<xsl:with-param name="p_type"
+															select="$v_type" />
+							<xsl:with-param name="p_member"
+															select="." />
+						</xsl:call-template>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+
+			<!-- member pages -->
+			<xsl:when test="$g_apiTopicGroup='member'">
+				<xsl:choose>
+					<!-- no F1 help entries for overload signature topics -->
+					<xsl:when test="/document/reference/memberdata/@overload"/>
+
+					<!-- no F1 help entries for explicit interface implementation members -->
+					<xsl:when test="/document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]"/>
+
+					<!-- Property pages -->
+					<xsl:when test="$g_apiTopicSubGroup = 'property'">
+
+						<xsl:variable name="v_type">
+							<xsl:for-each select="/document/reference[1]/containers">
+								<xsl:call-template name="typeNameWithTicks" />
+							</xsl:for-each>
+						</xsl:variable>
+
+						<xsl:for-each select="document/reference/apidata/@name | document/reference/getter/@name | document/reference/setter/@name">
+							<xsl:call-template name="t_writeF1WithApiName">
+								<xsl:with-param name="p_namespace"
+																select="/document/reference/containers/namespace/apidata/@name" />
+								<xsl:with-param name="p_type"
+																select="$v_type" />
+								<xsl:with-param name="p_member"
+																select="." />
+							</xsl:call-template>
+						</xsl:for-each>
+					</xsl:when>
+
+					<!-- other member pages get namespace.type.member keywords -->
+					<xsl:otherwise>
+						<xsl:call-template name="t_memberF1KeywordsHelp30"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Insert additional F1 keywords for class, struct, and enum topics in a set of WPF namespaces.
+	The keyword prefixes and the WPF namespaces are hard-coded in variables.
+	============================================================================================= -->
+
+	<xsl:template name="t_xamlMSHelpFKeywords30">
+		<xsl:if test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='enumeration' or $g_apiTopicSubGroup='structure'">
+			<xsl:if test="boolean(contains($g_wpf_f1index_prefix_1_namespaces, concat('#',/document/reference/containers/namespace/@api,'#'))
+                           or starts-with($g_wpf_f1index_prefix_1_namespaces, concat(/document/reference/containers/namespace/@api,'#')))">
+				<meta name="Microsoft.Help.F1"
+							content="{concat($g_wpf_f1index_prefix_1, /document/reference/apidata/@name)}"/>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_writeF1WithApiName">
+		<xsl:param name="p_namespace"/>
+		<xsl:param name="p_type" />
+		<xsl:param name="p_member" />
+
+		<!-- Make versions of namespace and member that are joinable. -->
+
+		<xsl:variable name="v_namespaceJoinable">
+			<xsl:choose>
+				<xsl:when test="$p_namespace = ''">
+					<xsl:value-of select="''" />
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="concat($p_namespace, '.')" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:variable name="v_memberJoinable">
+			<xsl:choose>
+				<xsl:when test="$p_member = ''">
+					<xsl:value-of select="''" />
+				</xsl:when>
+				<xsl:when test="substring($p_type, string-length($p_type)) = '.'">
+					<xsl:value-of select="$p_member" />
+				</xsl:when>
+				<xsl:when test="substring($p_member, string-length($p_member)) = '.'">
+					<xsl:value-of select="substring($p_member, string-length($p_member) - 1)" />
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="concat('.', $p_member)" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:variable name="v_apiName"
+									select="concat($v_namespaceJoinable, $p_type, $v_memberJoinable)" />
+
+		<xsl:if test="not($v_namespaceJoinable != '' and $p_type = '' and $v_memberJoinable != '') and $v_apiName != ''">
+			<meta name="Microsoft.Help.F1"
+						content="{concat($v_namespaceJoinable, $p_type, $v_memberJoinable)}" />
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template name="t_memberF1KeywordsHelp30">
+		<xsl:variable name="v_namespace"
+									select="/document/reference/containers/namespace/apidata/@name" />
+		<xsl:variable name="v_type">
+			<xsl:for-each select="/document/reference/containers/type[1]">
+				<xsl:call-template name="typeNameWithTicks" />
+			</xsl:for-each>
+		</xsl:variable>
+		<xsl:variable name="v_member">
+			<xsl:choose>
+				<!-- if the member is a constructor, use "#ctor" as the member name -->
+				<xsl:when test="/document/reference/apidata[@subgroup='constructor']">#ctor</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="/document/reference/apidata/@name"/>
+					<!-- for generic members, include tick notation for number of generic template parameters. -->
+					<xsl:if test="/document/reference/templates/template">
+						<xsl:text>``</xsl:text>
+						<xsl:value-of select="count(/document/reference/templates/template)"/>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:call-template name="t_writeF1WithApiName">
+			<xsl:with-param name="p_namespace"
+											select="$v_namespace" />
+			<xsl:with-param name="p_type"
+											select="$v_type" />
+			<xsl:with-param name="p_member"
+											select="$v_member" />
+		</xsl:call-template>
+
+		<!-- Write the constructor again as type.type -->
+		<xsl:if test="/document/reference/apidata[@subgroup='constructor']">
+			<xsl:call-template name="t_writeF1WithApiName">
+				<xsl:with-param name="p_namespace"
+												select="$v_namespace" />
+				<xsl:with-param name="p_type"
+												select="$v_type" />
+				<xsl:with-param name="p_member"
+												select="/document/reference/containers/type/apidata/@name" />
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Attributes and keywords added to topics by authors
+	============================================================================================= -->
+
+	<xsl:template name="t_authoredMetadata30">
+
+		<xsl:for-each select="/document/metadata/keyword[@index='K']">
+			<meta name="System.Keywords">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='K']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+		<!-- authored F -->
+		<xsl:for-each select="/document/metadata/keyword[@index='F']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='F']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+		<!-- authored B -->
+		<xsl:for-each select="/document/metadata/keyword[@index='B']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='B']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/seealso_dduexml.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/seealso_dduexml.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..5b2c3f8cf5c9862f87a726812163b1e9ed33ca9d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/seealso_dduexml.xsl
@@ -0,0 +1,162 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="conceptualTopicTypes.xsl"/>
+
+	<!-- ============================================================================================
+	Process relatedTopics
+	============================================================================================= -->
+
+	<xsl:template match="ddue:relatedTopics" mode="seeAlso">
+		<xsl:param name="p_autoGenerateLinks" select="false()"/>
+
+		<xsl:variable name="v_taskLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='tasks'">
+					<xsl:copy-of select="."/>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_conceptLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='concepts'">
+					<xsl:copy-of select="."/>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_referenceLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id] | ddue:codeEntityReference">
+				<xsl:choose>
+					<xsl:when test="self::ddue:codeEntityReference">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="$v_seeAlsoGroup='reference'">
+							<xsl:copy-of select="."/>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_otherLinks">
+			<xsl:for-each select="ddue:link | ddue:legacyLink | ddue:dynamicLink[@type='inline'] | ddue:externalLink">
+				<xsl:choose>
+					<xsl:when test="self::ddue:dynamicLink">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:when test="self::ddue:externalLink">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:when test="@topicType_id">
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="($v_seeAlsoGroup!='tasks') and ($v_seeAlsoGroup!='concepts') and ($v_seeAlsoGroup!='reference')">
+							<xsl:copy-of select="."/>
+						</xsl:if>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:copy-of select="."/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:if test="msxsl:node-set($v_taskLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_tasks'"/>
+				<xsl:with-param name="p_members"
+												select="$v_taskLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_referenceLinks)/* or boolean($p_autoGenerateLinks)">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_reference'"/>
+				<xsl:with-param name="p_members"
+												select="$v_referenceLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="$p_autoGenerateLinks"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_conceptLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_concepts'"/>
+				<xsl:with-param name="p_members"
+												select="$v_conceptLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_otherLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_otherResources'"/>
+				<xsl:with-param name="p_members"
+												select="$v_otherLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template name="t_putSeeAlsoSubSection">
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_autoGenerateLinks"
+							 select="false()"/>
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="{$p_headerGroup}"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:if test="boolean($p_autoGenerateLinks)">
+					<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+				</xsl:if>
+				<xsl:for-each select="msxsl:node-set($p_members)/*">
+					<div class="seeAlsoStyle">
+						<xsl:apply-templates select="."/>
+					</div>
+				</xsl:for-each>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/skeleton.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/skeleton.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1a171e36a685024500fb88d688c3c204922d9d42
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/skeleton.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<reference />
+	<syntax />
+	<comments />
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/skeleton_conceptual.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/skeleton_conceptual.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90ef0c71d916776145a2521b051917d57a4e10e2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/skeleton_conceptual.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_bibliography.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_bibliography.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..1ca2c28172c85beee0a4d03f39b4211620c77a6f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_bibliography.xsl
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:template name="bibliographyReference">
+    <xsl:param name="number" />
+    <xsl:param name="data" />
+
+    <xsl:if test="$data">
+      <div class="bibliographStyle">
+        <span class="bibliographyNumber">
+          <xsl:attribute name="id">cite<xsl:value-of select="$number"/></xsl:attribute>
+          [<xsl:value-of select="$number"/>]
+        </span>
+        <span class="bibliographyAuthor"><xsl:value-of select="$data/author/text()" /></span>
+        <xsl:text>, </xsl:text>
+        <span class="bibliographyTitle"><xsl:value-of select="$data/title/text()" /></span>
+        <xsl:if test="$data/publisher">
+          <xsl:text>, </xsl:text>
+          <span class="bibliographyPublisher"><xsl:value-of select="$data/publisher/text()" /></span>
+        </xsl:if>
+        <xsl:if test="$data/link">
+          <xsl:text>, </xsl:text>
+          <a>
+            <xsl:attribute name="href"><xsl:value-of select="$data/link/text()" /></xsl:attribute>
+            <xsl:attribute name="target">_blank</xsl:attribute>
+						<xsl:attribute name="rel">
+							<xsl:text>noopener noreferrer</xsl:text>
+						</xsl:attribute>
+						<xsl:value-of select="$data/link/text()" />
+          </a>
+        </xsl:if>
+      </div>
+    </xsl:if>
+  </xsl:template>
+  
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_dduexml.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_dduexml.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..be31a6603444eebdf76476b01f3fee9a6f335f86
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_dduexml.xsl
@@ -0,0 +1,1847 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="codeTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	The Remarks section includes content from these nodes, excluding the xaml sections which are captured in the xaml syntax processing
+	============================================================================================= -->
+
+	<xsl:template name="t_hasRemarksContent">
+		<xsl:param name="p_node"/>
+		<xsl:choose>
+			<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:content)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForImplementers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForCallers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForInheritors)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:platformNotes)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:sections/ddue:section[not(
+                starts-with(@address,'xamlValues') or 
+                starts-with(@address,'xamlTextUsage') or 
+                starts-with(@address,'xamlAttributeUsage') or 
+                starts-with(@address,'xamlPropertyElementUsage') or 
+                starts-with(@address,'xamlImplicitCollectionUsage') or 
+                starts-with(@address,'xamlObjectElementUsage') or 
+                starts-with(@address,'dependencyPropertyInfo') or 
+                starts-with(@address,'routedEventInfo')
+                )])">true</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Remarks
+	============================================================================================= -->
+
+	<xsl:template match="ddue:remarks"
+								name="t_ddue_Remarks">
+		<xsl:call-template name="t_writeRemarksSection">
+			<xsl:with-param name="p_node"
+											select=".."/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_writeRemarksSection">
+		<xsl:param name="p_node"/>
+
+		<xsl:variable name="v_hasRemarks">
+			<xsl:call-template name="t_hasRemarksContent">
+				<xsl:with-param name="p_node"
+												select="$p_node"/>
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:if test="$v_hasRemarks='true'">
+			<xsl:choose>
+				<xsl:when test="not($g_apiTopicGroup = 'namespace')">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_remarks'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+							<!-- HostProtectionAttribute -->
+							<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
+								<xsl:call-template name="t_hostProtectionContent"/>
+							</xsl:if>
+							<xsl:apply-templates select="$p_node/ddue:notesForImplementers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForCallers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForInheritors"/>
+							<xsl:apply-templates select="$p_node/ddue:platformNotes"/>
+							<include item="meta_mshelp_KTable">
+								<parameter>
+									<xsl:text>tt_</xsl:text>
+									<xsl:value-of select="$key"/>
+								</parameter>
+							</include>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_hostProtectionContent">
+		<!-- HostProtectionAttribute boilerplate -->
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass"
+											select="'note'"/>
+			<xsl:with-param name="p_alertContent">
+				<include item="boilerplate_hostProtectionAttribute">
+					<parameter>
+						<xsl:value-of select="concat('text_', $g_apiTopicSubGroup, 'Lower')"/>
+					</parameter>
+					<parameter>
+						<span class="label">
+							<xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
+								<xsl:value-of select="@name"/>
+								<xsl:if test="position() != last()">
+									<xsl:text> | </xsl:text>
+								</xsl:if>
+							</xsl:for-each>
+						</span>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections
+	============================================================================================= -->
+
+	<xsl:template match="ddue:sections"
+								name="t_ddue_sections">
+		<xsl:apply-templates select="ddue:section"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:section"
+								name="t_ddue_section">
+		<!-- display the section only if it has content (text or media)-->
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or descendant::ddue:content/*">
+			<!-- Count all the possible ancestor root nodes -->
+			<xsl:variable name="a1"
+										select="count(ancestor::ddue:attributesandElements)"/>
+			<xsl:variable name="a2"
+										select="count(ancestor::ddue:codeExample)"/>
+			<xsl:variable name="a3"
+										select="count(ancestor::ddue:dotNetFrameworkEquivalent)"/>
+			<xsl:variable name="a4"
+										select="count(ancestor::ddue:elementInformation)"/>
+			<xsl:variable name="a5"
+										select="count(ancestor::ddue:exceptions)"/>
+			<xsl:variable name="a6"
+										select="count(ancestor::ddue:introduction)"/>
+			<xsl:variable name="a7"
+										select="count(ancestor::ddue:languageReferenceRemarks)"/>
+			<xsl:variable name="a8"
+										select="count(ancestor::ddue:nextSteps)"/>
+			<xsl:variable name="a9"
+										select="count(ancestor::ddue:parameters)"/>
+			<xsl:variable name="a10"
+										select="count(ancestor::ddue:prerequisites)"/>
+			<xsl:variable name="a11"
+										select="count(ancestor::ddue:procedure)"/>
+			<xsl:variable name="a12"
+										select="count(ancestor::ddue:relatedTopics)"/>
+			<xsl:variable name="a13"
+										select="count(ancestor::ddue:remarks)"/>
+			<xsl:variable name="a14"
+										select="count(ancestor::ddue:requirements)"/>
+			<xsl:variable name="a15"
+										select="count(ancestor::ddue:schemaHierarchy)"/>
+			<xsl:variable name="a16"
+										select="count(ancestor::ddue:syntaxSection)"/>
+			<xsl:variable name="a17"
+										select="count(ancestor::ddue:textValue)"/>
+			<xsl:variable name="a18"
+										select="count(ancestor::ddue:type)"/>
+			<xsl:variable name="a19"
+										select="count(ancestor::ddue:section)"/>
+			<xsl:variable name="total"
+										select="$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10+$a11+$a12+$a13+$a14+$a15+$a16+$a17+$a18+$a19"/>
+			<xsl:choose>
+				<!-- Don't render the 'Change History' section here; it's handled in the t_writeChangeHistorySection template. -->
+				<xsl:when test="ddue:title = 'Change History'"/>
+
+				<xsl:when test="($total = 0) or ($total = 1)">
+					<xsl:call-template name="t_putSection">
+						<xsl:with-param name="p_title">
+							<xsl:apply-templates select="ddue:title" mode="section"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_id" select="@address" />
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:content"/>
+							<xsl:apply-templates select="ddue:sections"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<h4 class="subHeading">
+						<xsl:if test="@address">
+							<xsl:attribute name="id">
+								<xsl:value-of select="@address"/>
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:apply-templates select="ddue:title" mode="section"/>
+					</h4>
+					<div class="subsection">
+						<xsl:apply-templates select="ddue:content"/>
+						<xsl:apply-templates select="ddue:sections"/>
+					</div>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:title"
+								mode="section"
+								name="t_ddue_sectionTitle">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block Elements
+	============================================================================================= -->
+
+	<xsl:template match="ddue:para"
+								name="t_ddue_para">
+		<p>
+			<xsl:apply-templates />
+		</p>
+	</xsl:template>
+
+	<xsl:template match="ddue:summary"
+								name="t_ddue_summary">
+		<xsl:if test="not(@abstract='true')">
+			<!-- The ddue:summary element is redundant since it's optional in
+           the MAML schema but ddue:introduction is not.  Using abstract='true'
+           will prevent the summary from being included in the topic. -->
+			<div class="summary">
+				<xsl:apply-templates />
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForImplementers" name="t_ddue_notesForImplementers">
+		<p>
+			<span class="label">
+				<include item="text_NotesForImplementers"/>
+			</span>
+		</p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForCallers" name="t_ddue_notesForCallers">
+		<p>
+			<span class="label">
+				<include item="text_NotesForCallers"/>
+			</span>
+		</p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForInheritors" name="t_ddue_notesForInheritors">
+		<p>
+			<span class="label">
+				<include item="text_NotesForInheritors"/>
+			</span>
+		</p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:platformNotes"
+								name="t_ddue_platformNotes">
+		<xsl:for-each select="ddue:platformNote[normalize-space(ddue:content)]">
+			<p>
+				<include item="boilerplate_PlatformNote">
+					<parameter>
+						<xsl:for-each select="ddue:platforms/ddue:platform">
+							<xsl:variable name="v_platformName">
+								<xsl:value-of select="."/>
+							</xsl:variable>
+							<include item="{$v_platformName}"/>
+							<xsl:if test="position() != last()">, </xsl:if>
+						</xsl:for-each>
+					</parameter>
+					<parameter>
+						<xsl:apply-templates select="ddue:content"/>
+					</parameter>
+				</include>
+			</p>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:platformNotes/ddue:platformNote/ddue:content/ddue:para"
+								name="t_ddue_platformNote_para">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:schemaHierarchy"
+								name="t_ddue_schemaHierarchy">
+		<xsl:for-each select="ddue:link">
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count"
+												select="position()"/>
+			</xsl:call-template>
+			<xsl:apply-templates select="."/>
+			<br/>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:syntaxSection" name="t_ddue_syntaxSection">
+		<div id="syntaxSection" class="section">
+			<xsl:if test="ddue:legacySyntax">
+				<div id="snippetGroup_Syntax" class="code">
+					<xsl:for-each select="ddue:legacySyntax">
+						<div class="OH_CodeSnippetContainerCode">
+							<pre xml:space="preserve"><xsl:apply-templates xml:space="preserve"/></pre>
+						</div>
+					</xsl:for-each>
+				</div>
+			</xsl:if>
+		</div>
+	</xsl:template>
+
+	<!-- just pass these through -->
+	<xsl:template match="ddue:content"
+								name="t_ddue_content">
+		<xsl:apply-templates/>
+	</xsl:template>
+	<xsl:template match="ddue:legacy"
+								name="t_ddue_legacy">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:procedure"
+								name="t_ddue_procedure">
+		<xsl:if test="normalize-space(ddue:title)">
+			<h3 class="procedureSubHeading">
+				<xsl:if test="@address">
+					<xsl:attribute name="id">
+						<xsl:value-of select="@address"/>
+					</xsl:attribute>
+				</xsl:if>
+				<xsl:value-of select="ddue:title"/>
+			</h3>
+		</xsl:if>
+		<div class="subSection">
+			<xsl:if test="@address and not(normalize-space(ddue:title))">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates select="ddue:steps"/>
+			<xsl:apply-templates select="ddue:conclusion"/>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:steps"
+								name="t_ddue_steps">
+		<xsl:choose>
+			<xsl:when test="@class = 'ordered'">
+				<xsl:variable name="v_temp">
+					<xsl:value-of select="count(ddue:step)"/>
+				</xsl:variable>
+				<xsl:if test="$v_temp = 1">
+					<ul>
+						<xsl:apply-templates select="ddue:step"/>
+					</ul>
+			</xsl:if>
+				<xsl:if test="$v_temp &gt; 1">
+					<ol>
+						<xsl:apply-templates select="ddue:step"/>
+					</ol>
+				</xsl:if>
+			</xsl:when>
+			<xsl:when test="@class='bullet'">
+				<ul>
+					<xsl:apply-templates select="ddue:step"/>
+				</ul>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:step"
+								name="t_ddue_step">
+		<li>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</li>
+	</xsl:template>
+
+
+	<xsl:template match="ddue:inThisSection"
+								name="t_ddue_inThisSection">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_inThisSection'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="ddue:buildInstructions"
+								name="t_ddue_buildInstructions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_buildInstructions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:nextSteps"
+								name="t_ddue_nextSteps">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_nextSteps'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:requirements"
+								name="t_ddue_requirements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_requirements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageReferenceRemarks"
+								name="t_ddue_languageReferenceRemarks">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_remarks'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributesandElements"
+								name="t_ddue_attributesandElements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_attributesAndElements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributes"
+								name="t_ddue_attributes">
+		<xsl:if test="normalize-space(.)">
+			<h4 class="subHeading">
+				<include item="title_attributes"/>
+			</h4>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute"
+								name="t_ddue_attribute">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute/ddue:title"
+								name="t_ddue_attributeTitle">
+		<h4 class="subHeading">
+			<xsl:apply-templates/>
+		</h4>
+	</xsl:template>
+
+	<xsl:template match="ddue:childElement"
+								name="t_ddue_childElement">
+		<xsl:if test="normalize-space(.)">
+			<h4 class="subHeading">
+				<include item="title_childElement"/>
+			</h4>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parentElement"
+								name="t_ddue_parentElement">
+		<xsl:if test="normalize-space(.)">
+			<h4 class="subHeading">
+				<include item="title_parentElement"/>
+			</h4>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:textValue"
+								name="t_ddue_textValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_textValue'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:elementInformation"
+								name="t_ddue_elementInformation">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_elementInformation'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:dotNetFrameworkEquivalent"
+								name="t_ddue_dotNetFrameworkEquivalent">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_dotNetFrameworkEquivalent'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:prerequisites"
+								name="t_ddue_prerequisites">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_prerequisites'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:type"
+								name="t_ddue_type">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:title_robustProgramming"
+								name="t_ddue_robustProgramming">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_robustProgramming'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:security"
+								name="t_ddue_security">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_securitySection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:externalResources"
+								name="t_ddue_externalResources">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_externalResources'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:demonstrates"
+								name="t_ddue_demonstrates">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_demonstrates'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:appliesTo"
+								name="t_ddue_appliesTo">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_appliesTo'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:conclusion"
+								name="t_ddue_conclusion">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:background"
+								name="t_ddue_background">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_background'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:whatsNew"
+								name="t_ddue_whatsNew">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_whatsNew'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:reference"
+								name="t_ddue_reference">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_reference'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerErrorMessageDocument"
+								name="t_ddue_developerErrorMessageDocument">
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<xsl:when test="name() = 'secondaryErrorTitle'">
+					<xsl:if test="not(../ddue:nonLocErrorTitle)">
+						<xsl:apply-templates select=".">
+							<xsl:with-param name="newSection">yes</xsl:with-param>
+						</xsl:apply-templates>
+					</xsl:if>
+				</xsl:when>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<xsl:template match="ddue:nonLocErrorTitle" name="t_ddue_nonLocErrorTitle">
+		<xsl:if test="string-length(../ddue:nonLocErrorTitle[normalize-space(.)]) > 0 or string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<div id="errorTitleSection" class="section">
+				<xsl:if test="../ddue:secondaryErrorTitle">
+					<h4 class="subHeading">
+						<include item="title_errorMessage"/>
+					</h4>
+					<xsl:apply-templates select="../ddue:secondaryErrorTitle">
+						<xsl:with-param name="newSection">no</xsl:with-param>
+					</xsl:apply-templates>
+				</xsl:if>
+				<xsl:apply-templates/>
+				<p><xsl:text> </xsl:text></p>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:secondaryErrorTitle" name="t_ddue_secondaryErrorTitle">
+		<xsl:param name="newSection"/>
+		<xsl:if test="string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<xsl:choose>
+				<xsl:when test="$newSection = 'yes'">
+					<div id="errorTitleSection" class="section">
+						<xsl:apply-templates/>
+						<p><xsl:text> </xsl:text></p>
+					</div>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates/>
+					<br/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerSampleDocument"
+								name="t_ddue_developerSampleDocument">
+		<!-- show the topic intro -->
+		<xsl:apply-templates select="ddue:introduction"/>
+
+		<!-- the sample download list section from dsSample -->
+		<xsl:if test="ddue:relatedTopics/ddue:sampleRef">
+			<include item="{ddue:relatedTopics/ddue:sampleRef/@srcID}"/>
+		</xsl:if>
+
+		<!-- then the rest of the topic's content -->
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<!-- introduction was already captured above -->
+				<xsl:when test="name() = 'introduction'"/>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<xsl:template name="t_threadSafety">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_threadSafety'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="/document/comments/ddue:dduexml/ddue:threadSafety">
+						<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:threadSafety"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="boilerplate_threadSafety"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists and Tables
+	============================================================================================= -->
+
+	<xsl:template match="ddue:list" name="t_ddue_list">
+		<xsl:choose>
+			<xsl:when test="@class='bullet'">
+				<ul>
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ul>
+			</xsl:when>
+			<xsl:when test="@class='ordered'">
+				<ol>
+					<xsl:if test="@start">
+						<xsl:attribute name="start">
+							<xsl:value-of select="@start"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ol>
+			</xsl:when>
+			<xsl:otherwise>
+				<ul style="list-style-type:none;">
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ul>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:listItem" name="t_ddue_listItem">
+		<li>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates />
+		</li>
+	</xsl:template>
+
+	<xsl:template match="ddue:table" name="t_ddue_table">
+		<div class="tableSection">
+			<xsl:if test="normalize-space(ddue:title)">
+				<div class="caption">
+					<xsl:value-of select="ddue:title"/>
+				</div>
+			</xsl:if>
+			<table>
+				<xsl:apply-templates/>
+			</table>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader" name="t_ddue_tableHeader">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:row" name="t_ddue_row">
+		<tr>
+			<xsl:apply-templates/>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="ddue:entry" name="t_ddue_entry">
+		<td>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</td>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader/ddue:row/ddue:entry" name="t_ddue_tableHeaderRowEntry">
+		<th>
+			<xsl:apply-templates/>
+		</th>
+	</xsl:template>
+
+	<xsl:template match="ddue:definitionTable" name="t_ddue_definitionTable">
+		<dl class="authored">
+			<xsl:apply-templates/>
+		</dl>
+	</xsl:template>
+
+	<xsl:template match="ddue:definedTerm" name="t_ddue_definedTerm">
+		<dt>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</dt>
+	</xsl:template>
+
+	<xsl:template match="ddue:definition" name="t_ddue_definition">
+		<dd>
+			<xsl:apply-templates/>
+		</dd>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Code
+	============================================================================================= -->
+
+	<xsl:template match="ddue:snippets" name="t_ddue_snippets">
+		<xsl:if test="ddue:codeSnippetGroup">
+			<xsl:for-each select="ddue:codeSnippetGroup">
+				<xsl:call-template name="t_putCodeSections">
+					<xsl:with-param name="p_nodes" select="./ddue:snippet" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeSnippetGroup" name="t_ddue_code">
+		<xsl:call-template name="t_putCodeSections">
+			<xsl:with-param name="p_nodes" select="./ddue:code" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="ddue:sampleCode" name="t_ddue_sampleCode">
+		<div>
+			<span class="label">
+				<xsl:value-of select="@language"/>
+			</span>
+		</div>
+		<div class="code">
+			<pre xml:space="preserve"><xsl:apply-templates/></pre>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeExamples" name="t_ddue_codeExamples">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_examples'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+					<xsl:call-template name="t_moreCodeSection"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+  tasks/task nodes are inserted by TaskGrabberComponent which gets content from HowTo topics
+	these nodes are handled below in the t_moreCodeSection
+	============================================================================================= -->
+	<xsl:template match="ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/tasks"/>
+
+	<xsl:template name="t_moreCodeSection">
+		<xsl:variable name="v_gotCodeAlready"
+									select="boolean(
+													(ddue:codeExample/ddue:legacy/ddue:content[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets//ddue:snippet]) or
+													(ddue:codeExample[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets//ddue:snippet])
+													)"/>
+
+		<xsl:variable name="v_gotMoreCode"
+									select="(count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;1) or 
+                           ($v_gotCodeAlready and count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;0)"/>
+
+		<!-- if no preceding code in the code examples section, display the tasks[1]/task[1] -->
+		<xsl:if test="not($v_gotCodeAlready)">
+			<xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks[1]/task[1]">
+				<xsl:apply-templates select="ddue:introduction | ddue:codeExample"/>
+			</xsl:for-each>
+		</xsl:if>
+
+		<xsl:if test="$v_gotMoreCode">
+			<sections>
+				<h4 class="subHeading">
+					<include item="mrefTaskMoreCodeHeading"/>
+				</h4>
+				<div class="subsection">
+					<div class="tableSection">
+						<table>
+							<xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks/task">
+								<xsl:choose>
+									<xsl:when test="not($v_gotCodeAlready) and position()=1"/>
+									<xsl:otherwise>
+										<tr valign="top">
+											<td>
+												<conceptualLink target="{@topicId}">
+													<xsl:value-of select="ddue:title"/>
+												</conceptualLink>
+											</td>
+											<td>
+												<xsl:choose>
+													<xsl:when test="ddue:introduction/ddue:para[1][normalize-space(.)!='']">
+														<xsl:apply-templates select="ddue:introduction/ddue:para[1]/node()"/>
+													</xsl:when>
+													<xsl:when test="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1][normalize-space(.)!='']">
+														<xsl:apply-templates select="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1]/node()"/>
+													</xsl:when>
+												</xsl:choose>
+											</td>
+										</tr>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:for-each>
+						</table>
+					</div>
+				</div>
+			</sections>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template match="ddue:alert" name="t_ddue_alert">
+		<xsl:call-template name="t_putAlert"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Media
+	============================================================================================= -->
+
+	<xsl:template match="ddue:mediaLink" name="t_ddue_mediaLink">
+		<div>
+			<xsl:choose>
+				<xsl:when test="ddue:image[@placement='center']">
+					<xsl:attribute name="class">ps_mediaCenter</xsl:attribute>
+				</xsl:when>
+				<xsl:when test="ddue:image[@placement='far']">
+					<xsl:attribute name="class">ps_mediaFar</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="class">ps_mediaNear</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:if test="ddue:caption and not(ddue:caption[@placement='after'])">
+				<div class="caption">
+					<xsl:if test="ddue:caption[@lead]">
+						<span class="ps_captionLead">
+							<xsl:value-of select="normalize-space(ddue:caption/@lead)"/>:
+						</span>
+					</xsl:if>
+					<xsl:apply-templates select="ddue:caption"/>
+				</div>
+			</xsl:if>
+			<artLink target="{ddue:image/@xlink:href}"/>
+			<xsl:if test="ddue:caption and ddue:caption[@placement='after']">
+				<div class="caption">
+					<xsl:if test="ddue:caption[@lead]">
+						<span class="ps_captionLead">
+							<xsl:value-of select="normalize-space(ddue:caption/@lead)"/>:
+						</span>
+					</xsl:if>
+					<xsl:apply-templates select="ddue:caption"/>
+				</div>
+			</xsl:if>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:mediaLinkInline" name="t_ddue_mediaLinkInline">
+		<span class="media">
+			<artLink target="{ddue:image/@xlink:href}"/>
+		</span>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline elements
+	============================================================================================= -->
+
+	<xsl:template match="ddue:span" name="t_ddue_span">
+		<xsl:choose>
+			<!-- fix bug 361746 - use copy-of, so that span class="keyword", "literal" and "comment" 
+           nodes are copied to preserve code colorization in snippets -->
+			<xsl:when test="@class='keyword' or @class='identifier' or @class='literal' or @class='parameter' or @class='typeparameter' or @class='comment'">
+				<xsl:copy-of select="."/>
+			</xsl:when>
+			<!-- If the class is unrecognized skip it -->
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageKeyword" name="t_ddue_languageKeyword">
+		<xsl:variable name="v_keyword" select="."/>
+		<xsl:variable name="v_syntaxKeyword">
+			<xsl:if test="/document/syntax">
+				<xsl:value-of select="'true'"/>
+			</xsl:if>
+		</xsl:variable>
+		<xsl:choose>
+			<xsl:when test="$v_keyword='null' or $v_keyword='Nothing' or $v_keyword='nullptr'">
+				<xsl:call-template name="t_nullKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='static' or $v_keyword='Shared'">
+				<xsl:call-template name="t_staticKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='virtual' or $v_keyword='Overridable'">
+				<xsl:call-template name="t_virtualKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='true' or $v_keyword='True'">
+				<xsl:call-template name="t_trueKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='false' or $v_keyword='False'">
+				<xsl:call-template name="t_falseKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='abstract' or $v_keyword='MustInherit'">
+				<xsl:call-template name="t_abstractKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='sealed' or $v_keyword='NotInheritable'">
+				<xsl:call-template name="t_sealedKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='async' or $v_keyword='Async'">
+				<xsl:call-template name="t_asyncKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='await' or $v_keyword='Await'">
+				<xsl:call-template name="t_awaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='async/await' or $v_keyword='Async/Await'">
+				<xsl:call-template name="t_asyncAwaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="code">
+					<xsl:value-of select="."/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="ddue:application"
+								name="t_ddue_application">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeFeaturedElement"
+								name="t_ddue_codeFeaturedElement">
+		<xsl:if test="normalize-space(.)">
+			<span class="label">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeInline"
+								name="t_ddue_codeInline">
+		<xsl:if test="normalize-space(.)">
+			<span class="code">
+				<xsl:value-of select="." />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:command"
+								name="t_ddue_command">
+		<xsl:if test="normalize-space(.)">
+			<span class="command">
+				<xsl:apply-templates />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:computerOutputInline"
+								name="t_ddue_computerOutputInline">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:corporation"
+								name="t_ddue_corporation">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:country"
+								name="t_ddue_country">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:database"
+								name="t_ddue_database">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:date"
+								name="t_ddue_date">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:embeddedLabel"
+								name="t_ddue_embeddedLabel">
+		<xsl:if test="normalize-space(.)">
+			<span class="label">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:environmentVariable"
+								name="t_ddue_environmentVariable">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:errorInline"
+								name="t_ddue_errorInline">
+		<xsl:if test="normalize-space(.)">
+			<em>
+				<xsl:apply-templates/>
+			</em>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:hardware"
+								name="t_ddue_hardware">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:fictitiousUri"
+								name="t_ddue_fictitiousUri">
+		<xsl:call-template name="t_ddue_localUri"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:foreignPhrase"
+								name="t_ddue_foreignPhrase">
+		<xsl:if test="normalize-space(.)">
+			<span class="foreignPhrase">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyBold"
+								name="t_ddue_legacyBold">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates />
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyItalic" name="t_ddue_legacyItalic">
+		<xsl:if test="normalize-space(.)">
+			<em>
+				<xsl:apply-templates />
+			</em>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyUnderline"
+								name="t_ddue_legacyUnderline">
+		<xsl:if test="normalize-space(.)">
+			<u>
+				<xsl:apply-templates />
+			</u>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:lineBreak" name="t_ddue_lineBreak">
+		<br />
+	</xsl:template>
+
+	<xsl:template match="ddue:literal"
+								name="t_ddue_literal">
+		<xsl:if test="normalize-space(.)">
+			<span class="literal">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:localizedText"
+								name="t_ddue_localizedText">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:localUri"
+								name="t_ddue_localUri">
+		<xsl:if test="normalize-space(.)">
+			<em>
+				<xsl:apply-templates/>
+			</em>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:math"
+								name="t_ddue_math">
+		<xsl:if test="normalize-space(.)">
+			<span class="math">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:newTerm"
+								name="t_ddue_newTerm">
+		<xsl:if test="normalize-space(.)">
+			<span class="term">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameterReference"
+								name="t_ddue_parameterReference">
+		<xsl:if test="normalize-space(.)">
+			<span class="parameter">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:phrase"
+								name="t_ddue_phrase">
+		<xsl:if test="normalize-space(.)">
+			<span class="phrase">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:placeholder"
+								name="t_ddue_placeholder">
+		<xsl:call-template name="t_ddue_replaceable"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:quote"
+								name="t_ddue_quote">
+		<xsl:if test="normalize-space(.)">
+			<blockQuote>
+				<xsl:apply-templates/>
+			</blockQuote>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:quoteInline"
+								name="t_ddue_quoteInline">
+		<xsl:if test="normalize-space(.)">
+			<q>
+				<xsl:apply-templates/>
+			</q>
+	</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:replaceable"
+								name="t_ddue_replaceable">
+		<xsl:if test="normalize-space(.)">
+			<span class="placeholder">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:subscript|ddue:subscriptType" name="t_ddue_subscript">
+		<xsl:if test="normalize-space(.)">
+			<sub>
+				<xsl:apply-templates/>
+			</sub>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:superscript|ddue:superscriptType" name="t_ddue_superscript">
+		<xsl:if test="normalize-space(.)">
+			<sup>
+				<xsl:apply-templates/>
+			</sup>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:system"
+								name="t_ddue_system">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:ui"
+								name="t_ddue_ui">
+		<xsl:if test="normalize-space(.)">
+			<span class="ui">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:unmanagedCodeEntityReference"
+								name="t_ddue_unmanagedCodeEntityReference">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInput"
+								name="t_ddue_userInput">
+		<xsl:if test="normalize-space(.)">
+			<span class="input">
+				<xsl:value-of select="." />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInputLocalizable"
+								name="t_ddue_userInputLocalizable">
+		<xsl:call-template name="t_ddue_userInput"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Pass through a chunk of markup.  This differs from the API markup template in that it must strip
+	off the "ddue" namespace.  This will allow build components to add HTML elements to a
+	pre-transformed document.  You can also use it in topics to support things that aren't addressed
+	by the MAML schema and the Sandcastle transforms.
+	============================================================================================= -->
+
+	<xsl:template match="ddue:markup" name="t_ddue_markup">
+		<xsl:apply-templates select="node()" mode="markup"/>
+	</xsl:template>
+
+	<xsl:template match="*" mode="markup" name="t_ddue_markup_content">
+		<xsl:element name="{name()}">
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates select="node()" mode="markup"/>
+		</xsl:element>
+	</xsl:template>
+
+	<xsl:template match="text() | comment()" mode="markup" name="t_ddue_markup_text">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Links
+	============================================================================================= -->
+
+	<xsl:template match="ddue:externalLink" name="t_ddue_externalLink">
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="normalize-space(ddue:linkUri)"/>
+			</xsl:attribute>
+			<xsl:if test="normalize-space(ddue:linkAlternateText)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space(ddue:linkAlternateText)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:attribute name="target">
+				<xsl:choose>
+					<xsl:when test="normalize-space(ddue:linkTarget)">
+						<xsl:value-of select="normalize-space(ddue:linkTarget)"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>_blank</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:attribute>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:value-of select="normalize-space(ddue:linkText)"/>
+		</a>
+	</xsl:template>
+
+	<xsl:template match="ddue:link" name="t_ddue_link">
+		<xsl:choose>
+			<xsl:when test="starts-with(@xlink:href,'#')">
+				<!-- In-page link -->
+				<a href="{@xlink:href}">
+					<xsl:apply-templates/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- Verified, external link -->
+				<conceptualLink target="{@xlink:href}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyLink" name="t_ddue_legacyLink">
+		<a href="{@xlink:href}" rel="noopener noreferrer">
+			<xsl:apply-templates />
+		</a>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeEntityReference" name="t_ddue_codeEntityReference">
+		<referenceLink target="{normalize-space(string(.))}">
+			<xsl:if test="@qualifyHint">
+				<xsl:attribute name="show-container">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+				<xsl:attribute name="show-parameters">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:if test="@autoUpgrade">
+				<xsl:attribute name="prefer-overload">
+					<xsl:value-of select="@autoUpgrade"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space(@linkText)">
+					<xsl:value-of select="normalize-space(@linkText)"/>
+				</xsl:when>
+				<xsl:when test="starts-with(normalize-space(.), 'R:')">
+					<include item="topicTitle_root" />
+				</xsl:when>
+				<xsl:otherwise />
+			</xsl:choose>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Copyright notice
+	============================================================================================= -->
+
+	<xsl:template match="ddue:copyright"
+								name="t_ddue_copyright">
+		<!-- <p>{0} &copy;{1}{2}. All rights reserved.</p> -->
+		<include item="boilerplate_copyrightNotice">
+			<parameter>
+				<xsl:value-of select="ddue:trademark" />
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:year">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:holder">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Change history
+	============================================================================================= -->
+
+	<!-- Don't render the changeHistory section here; it's handled in the t_writeChangeHistorySection template. -->
+	<xsl:template match="ddue:changeHistory"
+								name="t_ddue_changeHistory"/>
+
+	<!-- Display a date to show when the topic was last updated. -->
+	<xsl:template name="t_writeFreshnessDate">
+		<!-- The $p_changedHistoryDate param is from the authored changeHistory table, if any. -->
+		<xsl:param name="p_changedHistoryDate"/>
+		<!-- Determine whether the authored date is a valid date string.  -->
+		<xsl:choose>
+			<!-- display nothing if the 'changeHistoryOptions' argument is set to 'omit' -->
+			<xsl:when test="$changeHistoryOptions = 'omit'"/>
+
+			<!-- if it's a valid date, display the freshness line. -->
+			<xsl:when test="normalize-space($p_changedHistoryDate)">
+				<p>
+					<include item="boilerplate_UpdateTitle">
+						<parameter>
+							<xsl:value-of select="normalize-space($p_changedHistoryDate)"/>
+						</parameter>
+					</include>
+				</p>
+			</xsl:when>
+
+			<!-- use a default date if no p_changedHistoryDate and the 'changeHistoryOptions' argument is set to 'showDefaultFreshnessDate' -->
+			<xsl:when test="$changeHistoryOptions = 'showDefaultFreshnessDate'">
+				<p>
+					<include item="boilerplate_UpdateTitle">
+						<parameter>
+							<include item="text_defaultFreshnessDate"/>
+						</parameter>
+					</include>
+				</p>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_writeChangeHistorySection">
+		<xsl:if test="$changeHistoryOptions!='omit'">
+			<!-- conceptual authored content is in /document/topic/*; mref content is in /document/comments/ddue:dduexml. -->
+			<xsl:for-each select="/document/comments/ddue:dduexml | /document/topic/*">
+				<!-- Get the change history section content, which can be in changeHistory or a section with title='Change History'. -->
+				<xsl:variable name="v_changeHistoryContent">
+					<xsl:choose>
+						<xsl:when test="ddue:changeHistory/ddue:content/ddue:table/ddue:row/ddue:entry[normalize-space(.)]">
+							<xsl:apply-templates select="ddue:changeHistory/ddue:content"/>
+						</xsl:when>
+						<xsl:when test=".//ddue:section[ddue:title = 'Change History']/ddue:content/ddue:table/ddue:row/ddue:entry[normalize-space(.)]">
+							<xsl:apply-templates select=".//ddue:section[ddue:title = 'Change History']/ddue:content"/>
+						</xsl:when>
+					</xsl:choose>
+				</xsl:variable>
+				<xsl:if test="normalize-space($v_changeHistoryContent)">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_changeHistory'"/>
+						<xsl:with-param name="p_content">
+							<xsl:copy-of select="$v_changeHistoryContent"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Glossary
+	============================================================================================= -->
+
+	<xsl:key name="k_glossaryTermFirstLetters"
+					 match="//ddue:glossaryEntry"
+					 use="translate(substring(ddue:terms/ddue:term/text(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ ')"/>
+
+	<xsl:template match="ddue:glossary"
+								name="t_ddue_glossary">
+		<xsl:if test="ddue:title">
+			<h1 class="ps_glossaryTitle">
+				<xsl:value-of select="normalize-space(ddue:title)" />
+			</h1>
+		</xsl:if>
+		<xsl:choose>
+			<xsl:when test="ddue:glossaryDiv">
+				<!-- Organized glossary with glossaryDiv elements -->
+				<br/>
+				<xsl:for-each select="ddue:glossaryDiv">
+					<xsl:if test="ddue:title">
+						<xsl:choose>
+							<xsl:when test="@address">
+								<a href="#{@address}">
+									<xsl:value-of select="ddue:title" />
+								</a>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="ddue:title" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:if>
+					<xsl:if test="position() != last()">
+						<xsl:text> | </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+
+				<xsl:apply-templates select="ddue:glossaryDiv"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- Simple glossary consisting of nothing by glossaryEntry elements -->
+				<br/>
+				<xsl:call-template name="t_glossaryLetterBar"/>
+				<br/>
+				<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryDiv" name="t_ddue_glossaryDiv">
+		<div class="ps_glossaryDiv">
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:if test="ddue:title">
+				<h2 class="ps_glossaryDivHeading">
+					<xsl:value-of select="ddue:title"/>
+				</h2>
+			</xsl:if>
+			<hr class="ps_glossaryRule"/>
+			<xsl:call-template name="t_glossaryLetterBar">
+				<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+			</xsl:call-template>
+			<br/>
+			<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter">
+				<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+			</xsl:call-template>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryGroupByEntriesTermFirstLetter">
+		<xsl:param name="p_sectionPrefix"
+							 select="''"/>
+		<xsl:variable name="v_div"
+									select="."/>
+		<!-- Group entries by the first letter of their terms using the Muenchian method.
+         http://www.jenitennison.com/xslt/grouping/muenchian.html -->
+		<xsl:for-each select="ddue:glossaryEntry[generate-id() = 
+                  generate-id(key('k_glossaryTermFirstLetters',
+                  translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                  [parent::node() = $v_div][1])]">
+			<xsl:sort select="ddue:terms/ddue:term[1]" />
+			<xsl:variable name="v_letter"
+										select="translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' '))"/>
+
+			<xsl:call-template name="t_glossaryEntryGroup">
+				<xsl:with-param name="p_link"
+												select="concat($p_sectionPrefix,$v_letter)"/>
+				<xsl:with-param name="p_name"
+												select="$v_letter"/>
+				<xsl:with-param name="p_nodes"
+												select="key('k_glossaryTermFirstLetters',
+                        translate($v_letter,$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                        [parent::node() = $v_div]"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryEntry" name="t_ddue_glossaryEntry">
+		<dt class="ps_glossaryEntry">
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:for-each select="ddue:terms/ddue:term">
+				<xsl:sort select="normalize-space(.)" />
+
+				<xsl:choose>
+					<xsl:when test="@termId">
+						<span id="{@termId}">
+							<xsl:value-of select="normalize-space(.)" />
+						</span>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="normalize-space(.)" />
+					</xsl:otherwise>
+				</xsl:choose>
+
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+		</dt>
+		<dd class="ps_glossaryEntry">
+			<xsl:apply-templates select="ddue:definition/*"/>
+
+			<xsl:if test="ddue:relatedEntry">
+				<div class="ps_relatedEntry">
+					<include item="text_relatedEntries" />&#160;
+
+					<xsl:for-each select="ddue:relatedEntry">
+						<xsl:variable name="id" select="@termId" />
+						<a href="#{@termId}">
+							<xsl:value-of select="//ddue:term[@termId=$id]"/>
+						</a>
+						<xsl:if test="position() != last()">
+							<xsl:text>, </xsl:text>
+						</xsl:if>
+					</xsl:for-each>
+				</div>
+			</xsl:if>
+		</dd>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryEntryGroup">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:param name="p_nodes"/>
+		<div class="ps_glossaryGroup">
+			<h3 class="ps_glossaryGroupHeading">
+				<xsl:attribute name="id">
+					<xsl:value-of select="$p_link"/>
+				</xsl:attribute>
+				<xsl:value-of select="$p_name"/>
+			</h3>
+			<dl class="ps_glossaryGroupList">
+				<xsl:apply-templates select="$p_nodes">
+					<xsl:sort select="ddue:terms/ddue:term"/>
+				</xsl:apply-templates>
+			</dl>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBar">
+		<xsl:param name="p_sectionPrefix" select="''"/>
+		<div class="ps_glossaryLetterBar">
+			<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+				<xsl:with-param name="p_sectionPrefix" select="$p_sectionPrefix"/>
+				<xsl:with-param name="p_bar" select="$g_allUpperCaseLetters"/>
+				<xsl:with-param name="p_characterPosition" select="1"/>
+			</xsl:call-template>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLinkRecursive">
+		<xsl:param name="p_sectionPrefix"/>
+		<xsl:param name="p_bar"/>
+		<xsl:param name="p_characterPosition"/>
+		<xsl:variable name="v_letter"
+									select="substring($p_bar,$p_characterPosition,1)"/>
+		<xsl:if test="$v_letter">
+			<xsl:choose>
+				<xsl:when test="ddue:glossaryEntry[ddue:terms/ddue:term[1]
+                  [translate(substring(text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')) = $v_letter]]">
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_link"
+														select="concat($p_sectionPrefix,$v_letter)"/>
+						<xsl:with-param name="p_name"
+														select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<xsl:text> | </xsl:text>
+					</xsl:if>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_name"
+														select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<xsl:text> | </xsl:text>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+				<xsl:with-param name="p_sectionPrefix"
+												select="$p_sectionPrefix"/>
+				<xsl:with-param name="p_bar"
+												select="$p_bar"/>
+				<xsl:with-param name="p_characterPosition"
+												select="$p_characterPosition + 1"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLink">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:choose>
+			<xsl:when test="$p_link">
+				<a href="#{$p_link}">
+					<xsl:value-of select="$p_name"/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="nolink">
+					<xsl:value-of select="$p_name"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_metadata.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_metadata.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..de9e9554a16e86a0480708f29e23134cabe3a6cb
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_metadata.xsl
@@ -0,0 +1,319 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
+		xmlns:msxsl="urn:schemas-microsoft-com:xslt" >
+
+	<xsl:template name="typeNameWithTicks">
+		<xsl:for-each select="type|(containers/type)">
+			<xsl:call-template name="typeNameWithTicks" />
+			<xsl:text>.</xsl:text>
+		</xsl:for-each>
+		<xsl:value-of select="apidata/@name" />
+		<xsl:if test="boolean(templates/template)">
+			<xsl:text>`</xsl:text>
+			<xsl:value-of select="count(templates/template)"/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="qualifiedTextNames">
+		<xsl:choose>
+			<!-- explicit interface implementations -->
+			<xsl:when test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+				<xsl:variable name="left">
+					<xsl:for-each select="containers/type">
+						<xsl:call-template name="textNames"/>
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:for-each select="implements/member">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<!-- members get qualified by type name -->
+			<xsl:when test="apidata/@group='member' and containers/type">
+				<xsl:variable name="left">
+					<xsl:for-each select="containers/type">
+						<xsl:call-template name="textNames"/>
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="simpleTextNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<!-- types get qualified by namespace name -->
+			<xsl:when test="typedata and containers/namespace/apidata/@name">
+				<xsl:variable name="left">
+					<xsl:for-each select="containers/namespace">
+						<xsl:call-template name="simpleTextNames"/>
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="textNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- given two XML lists of API names (produced by textNames template below), produces an XML list
+  that dot-concatenates them, respecting the @language attributes -->
+	<xsl:template name="combineTextNames">
+		<xsl:param name="left" />
+		<xsl:param name="right" />
+		<xsl:param name="concatenateOperator" select="'.'" />
+
+		<xsl:choose>
+			<xsl:when test="count($left/name) &gt; 1">
+				<xsl:choose>
+					<xsl:when test="count($right/name) &gt; 1">
+						<!-- both left and right are multi-language -->
+						<xsl:for-each select="$left/name">
+							<xsl:variable name="language" select="@language" />
+							<name language="{$language}">
+								<xsl:apply-templates select="." />
+								<xsl:copy-of select="$concatenateOperator" />
+								<xsl:apply-templates select="$right/name[@language=$language]" />
+							</name>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- left is multi-language, right is not -->
+						<xsl:for-each select="$left/name">
+							<xsl:variable name="language" select="@language" />
+							<name language="{$language}">
+								<xsl:apply-templates select="." />
+								<xsl:if test="$right/name">
+									<xsl:copy-of select="$concatenateOperator"/>
+								</xsl:if>
+								<xsl:value-of select="$right/name"/>
+							</name>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:choose>
+					<xsl:when test="count($right/name) &gt; 1">
+						<!-- right is multi-language, left is not -->
+						<xsl:for-each select="$right/name">
+							<xsl:variable name="language" select="@language" />
+							<name language="{.}">
+								<xsl:value-of select="$left/name"/>
+								<xsl:if test="$left/name">
+									<xsl:copy-of select="$concatenateOperator"/>
+								</xsl:if>
+								<xsl:apply-templates select="." />
+							</name>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- neiter is multi-language -->
+						<name>
+							<xsl:value-of select="$left/name"/>
+							<xsl:if test="$left/name and $right/name">
+								<xsl:copy-of select="$concatenateOperator"/>
+							</xsl:if>
+							<xsl:value-of select="$right/name"/>
+						</name>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- produces an XML list of API names; context is parent of apidata element -->
+	<!-- if there are no templates: <name>Blah</name> -->
+	<!-- if there are templates: <name langauge="c">Blah<T></name><name language="v">Blah(Of T)</name> -->
+	<xsl:template name="simpleTextNames">
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="index">
+					<xsl:with-param name="name" select="apidata/@name" />
+				</xsl:apply-templates>
+			</xsl:when>
+			<xsl:when test="templates">
+				<xsl:apply-templates select="templates" mode="index">
+					<xsl:with-param name="name" select="apidata/@name" />
+				</xsl:apply-templates>
+			</xsl:when>
+			<xsl:otherwise>
+				<name>
+					<xsl:choose>
+						<xsl:when test="apidata/@subgroup = 'constructor'">
+							<xsl:value-of select="containers/type/apidata/@name"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</name>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="textNames">
+		<xsl:choose>
+			<xsl:when test="typedata and (containers/type | type) and not($g_topicGroup='list')">
+				<xsl:variable name="left">
+					<xsl:apply-templates select="type | (containers/type)" mode="index" />
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="simpleTextNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="type">
+				<xsl:variable name="left">
+					<xsl:apply-templates select="type" mode="index" />
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="simpleTextNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="simpleTextNames" />
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- produces a C#/C++ style generic template parameter list for inclusion in the index -->
+	<xsl:template name="csTemplateText">
+		<xsl:text>%3C</xsl:text>
+		<xsl:call-template name="templateText" />
+		<xsl:text>%3E</xsl:text>
+	</xsl:template>
+
+	<!-- produces a VB-style generic template parameter list for inclusion in the index -->
+	<xsl:template name="vbTemplateText">
+		<xsl:text>(Of </xsl:text>
+		<xsl:call-template name="templateText" />
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<!-- produces a comma-separated list of generic template parameter names -->
+	<!-- comma character is URL-encoded so as not to create sub-index entries -->
+	<xsl:template name="templateText">
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="index" />
+			<xsl:if test="not(position()=last())">
+				<xsl:text>%2C </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+
+	<xsl:template match="specialization | templates" mode="index" >
+		<xsl:param name="name" />
+		<name language="c">
+			<xsl:value-of select="$name" />
+			<xsl:call-template name="csTemplateText" />
+		</name>
+		<name language="v">
+			<xsl:value-of select="$name" />
+			<xsl:call-template name="vbTemplateText" />
+		</name>
+	</xsl:template>
+
+	<xsl:template match="template" mode="index">
+		<xsl:value-of select="@name" />
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="index">
+		<name language="c">
+			<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+			<xsl:text>[</xsl:text>
+			<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+			<xsl:text>]</xsl:text>
+		</name>
+		<name language="v">
+			<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+			<xsl:text>(</xsl:text>
+			<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+			<xsl:text>)</xsl:text>
+		</name>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="index">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="index">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+	</xsl:template>
+
+	<xsl:template match="type" mode="index">
+		<xsl:call-template name="textNames" />
+	</xsl:template>
+
+	<xsl:template match="name/name">
+		<xsl:variable name="lang" select="ancestor::*/@language"/>
+
+		<xsl:if test="not(@language) or @language = $lang">
+			<xsl:value-of select="."/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="name/text()">
+		<xsl:value-of select="."/>
+	</xsl:template>
+
+	<xsl:template name="operatorTextNames">
+		<xsl:variable name="left">
+			<xsl:if test="parameters/parameter[1]">
+				<xsl:choose>
+					<xsl:when test="parameters/parameter[1]//specialization | parameters/parameter[1]//templates | parameters/parameter[1]//arrayOf">
+						<xsl:apply-templates select="parameters/parameter[1]" mode="index" />
+					</xsl:when>
+					<xsl:otherwise>
+						<name>
+							<xsl:apply-templates select="parameters/parameter[1]" mode="index" />
+						</name>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:variable>
+
+		<xsl:variable name="right">
+			<xsl:if test="returns[1]">
+				<xsl:choose>
+					<xsl:when test="returns[1]//specialization | returns[1]//templates | returns[1]//arrayOf">
+						<xsl:apply-templates select="returns[1]" mode="index" />
+					</xsl:when>
+					<xsl:otherwise>
+						<name>
+							<xsl:apply-templates select="returns[1]" mode="index" />
+						</name>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:variable>
+
+		<xsl:call-template name="combineTextNames">
+			<xsl:with-param name="left" select="msxsl:node-set($left)" />
+			<xsl:with-param name="right" select="msxsl:node-set($right)" />
+			<xsl:with-param name="concatenateOperator">
+				<xsl:text> to </xsl:text>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_reference.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_reference.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..38c21091da9b1bccf9799108046add29b6720769
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Transforms/utilities_reference.xsl
@@ -0,0 +1,2622 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="utilities_metadata.xsl" />
+	<xsl:import href="metadataHelp30.xsl"/>
+	<xsl:import href="metadataHelp20.xsl"/>
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the api identifier string - see globalTemplates for others
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+	<xsl:param name="maxVersionParts" />
+	<xsl:param name="includeEnumValues" select="string('true')" />
+	<xsl:param name="baseSourceCodeUrl" />
+	<xsl:param name="requestExampleUrl" />
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_typeTopicId">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata[@group='api'] and /document/reference/apidata[@group='type']">
+				<xsl:value-of select="$key"/>
+			</xsl:when>
+			<xsl:when test="/document/reference/topicdata/@typeTopicId">
+				<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/containers/type/@api"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicGroup"
+								select="/document/reference/topicdata/@group"/>
+	<xsl:variable name="g_apiGroup"
+								select="/document/reference/apidata/@group"/>
+	<xsl:variable name="g_apiTopicGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@group"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@group"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicSubGroup"
+								select="/document/reference/topicdata/@subgroup"/>
+	<xsl:variable name="g_apiSubGroup"
+								select="/document/reference/apidata/@subgroup"/>
+	<xsl:variable name="g_apiTopicSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_apiSubSubGroup"
+								select="/document/reference/apidata/@subsubgroup"/>
+	<xsl:variable name="g_apiTopicSubSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subsubgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subsubgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_namespaceName"
+								select="/document/reference/containers/namespace/apidata/@name"/>
+
+	<!-- ============================================================================================
+	Document body
+	============================================================================================= -->
+
+	<xsl:template match="/">
+		<html>
+			<head>
+				<link rel="shortcut icon">
+					<includeAttribute name="href" item="iconPath">
+						<parameter>
+							<xsl:value-of select="'favicon.ico'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<!-- Hack to fix up the background image URLs in Help Viewer 2.  See OnLoad() in branding.js.
+						 NOTE: These MUST appear INLINE and BEFORE the Branding.css file or the script will not find them. -->
+				<style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { }.OH_footer { }</style>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<xsl:value-of select="'branding.css'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<include item="brandingLocaleCss" />
+						</parameter>
+					</includeAttribute>
+				</link>
+				<script type="text/javascript">
+					<includeAttribute name="src" item="scriptPath">
+						<parameter>
+							<xsl:value-of select="'branding.js'"/>
+						</parameter>
+					</includeAttribute>
+					<xsl:text> </xsl:text>
+				</script>
+
+				<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+				<xsl:call-template name="t_insertNoIndexNoFollow"/>
+				<title>
+					<xsl:call-template name="t_topicTitlePlain">
+						<xsl:with-param name="p_qualifyMembers" select="true()" />
+					</xsl:call-template>
+				</title>
+				<xsl:call-template name="t_insertMetadataHelp30"/>
+				<xsl:call-template name="t_insertMetadataHelp20"/>
+				<xsl:call-template name="t_insertFilename"/>
+				<link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" />
+			</head>
+			<body onload="OnLoad('{$defaultLanguage}')">
+				<input type="hidden" id="userDataCache" class="userDataStyle" />
+
+				<div class="OH_outerDiv">
+					<div class="OH_outerContent">
+						<xsl:call-template name="t_bodyTitle"/>
+						<xsl:call-template name="t_bodyMain"/>
+					</div>
+				</div>
+				<div id="OH_footer" class="OH_footer">
+					<include item="footer_content" />
+					<xsl:text> </xsl:text>
+				</div>
+        <include item="websiteAdContent" />
+      </body>
+		</html>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Main body div
+	============================================================================================= -->
+
+	<xsl:template name="t_bodyMain">
+		<div id="mainSection">
+			<div id="mainBody">
+				<include item="header"/>
+				<xsl:call-template name="t_body"/>
+			</div>
+		</div>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	The plain-text title used in the TOC 
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitlePlain">
+		<xsl:param name="p_qualifyMembers" select="false()"/>
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<!-- the subsubgroup, subgroup, or group determines the title -->
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- v_operators + type v_conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no v_operators + type v_conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- v_operators + no type v_conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNamePlain">
+					<xsl:with-param name="p_qualifyMembers"
+													select="$p_qualifyMembers"/>
+				</xsl:call-template>
+			</parameter>
+			<parameter>
+				<!-- show parameters only for overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesPlain"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesPlain"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- when positioned on a parameterized api, produces a (plain) comma-separated list of parameter types -->
+	<xsl:template name="t_parameterTypesPlain">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template"
+														 mode="plain"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (plain) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesPlain">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+                               parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+													 mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+                               returns[1]/template"
+													 mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNamePlain">
+		<xsl:param name="p_qualifyMembers"
+							 select="false()"/>
+		<xsl:choose>
+			<!-- type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- member pages use the member name, qualified if the qualified flag is set -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<!-- check for qualify flag and qualify if it is set -->
+				<xsl:if test="$p_qualifyMembers">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="t_typeNamePlain"/>
+					</xsl:for-each>
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>.</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+				<xsl:choose>
+					<!-- EII names are interfaceName.interfaceMemberName, not memberName -->
+					<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+						<xsl:for-each select="/document/reference/implements/member">
+							<xsl:for-each select="type">
+								<xsl:call-template name="t_typeNamePlain"/>
+							</xsl:for-each>
+							<xsl:text>.</xsl:text>
+							<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+							<xsl:choose>
+								<xsl:when test="apidata/@name">
+									<xsl:value-of select="apidata/@name" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:call-template name="t_getTrimmedLastPeriod">
+										<xsl:with-param name="p_string" select="@api" />
+									</xsl:call-template>
+								</xsl:otherwise>
+							</xsl:choose>
+							<xsl:apply-templates select="templates" mode="plain"/>
+						</xsl:for-each>
+					</xsl:when>
+					<!-- Use just the plain, unadorned api name for overload pages with templates -->
+					<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+						<xsl:value-of select="/document/reference/apidata/@name"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- but other members just use the name -->
+						<xsl:for-each select="/document/reference[1]">
+							<xsl:value-of select="apidata/@name"/>
+							<xsl:apply-templates select="templates"
+																	 mode="plain"/>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- namespace, member (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	The language-variant, marked-up topic title	used as the big title at the top of the page
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitleDecorated">
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- operators + type conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no operators + type conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- operators + no type conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNameDecorated"/>
+			</parameter>
+			<parameter>
+				<!-- show parameters only from overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup= 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- When positioned on a generic api, produces a (decorated) comma-separated list of template names -->
+	<xsl:template name="t_parameterTypesDecorated">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template"
+														 mode="decorated"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (decorated) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesDecorated">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+                               parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+													 mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+                               returns[1]/template"
+													 mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNameDecorated">
+		<xsl:choose>
+			<!-- type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- eii members -->
+			<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:call-template name="t_decoratedNameSep"/>
+				<xsl:for-each select="/document/reference/implements/member">
+					<xsl:for-each select="type">
+						<xsl:call-template name="t_typeNameDecorated"/>
+					</xsl:for-each>
+					<xsl:call-template name="t_decoratedNameSep"/>
+					<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+					<xsl:choose>
+						<xsl:when test="apidata/@name">
+							<xsl:value-of select="apidata/@name" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_getTrimmedLastPeriod">
+								<xsl:with-param name="p_string" select="@api" />
+							</xsl:call-template>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- Use just the plain, unadorned type.api name for overload pages with templates -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:call-template name="t_decoratedNameSep"/>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:when>
+			<!-- normal member pages use the qualified member name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:if test="not($g_apiSubSubGroup='operator'and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:call-template name="t_decoratedNameSep"/>
+				</xsl:if>
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+							<span class="languageSpecificText">
+								<span class="vb">
+									<xsl:choose>
+										<xsl:when test="apidata/@name='Explicit'">
+											<xsl:text>Narrowing</xsl:text>
+										</xsl:when>
+										<xsl:when test="apidata/@name='Implicit'">
+											<xsl:text>Widening</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="apidata/@name"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</span>
+								<span class="nu">
+									<xsl:value-of select="apidata/@name"/>
+								</span>
+							</span>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- namespace (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Filename metadata
+	============================================================================================= -->
+
+	<xsl:template name="t_insertFilename">
+		<meta name="container">
+			<xsl:attribute name="content">
+				<xsl:choose>
+					<!-- get the namespace name from containers/namespace/@api for most members -->
+					<xsl:when test="normalize-space(substring-after(/document/reference/containers/namespace/@api,':'))">
+						<xsl:value-of select="normalize-space(substring-after(/document/reference/containers/namespace/@api,':'))"/>
+					</xsl:when>
+					<!-- use 'default_namespace' for members in the default namespace (where namespace/@api == 'N:') -->
+					<xsl:when test="normalize-space(/document/reference/containers/namespace/@api)">
+						<xsl:text>default_namespace</xsl:text>
+					</xsl:when>
+					<!-- for the default namespace topic, use 'default_namespace' -->
+					<xsl:when test="/document/reference/apidata[@group='namespace' and @name='']">
+						<xsl:text>default_namespace</xsl:text>
+					</xsl:when>
+					<!-- for other namespace topics, get the name from apidata/@name -->
+					<xsl:when test="/document/reference/apidata/@group='namespace'">
+						<xsl:value-of select="normalize-space(/document/reference/apidata/@name)"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>unknown</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:attribute>
+		</meta>
+		<meta name="file" content="{/document/reference/file/@name}"/>
+		<meta name="guid">
+			<xsl:attribute name="content">
+				<xsl:value-of select="/document/reference/file/@name"/>
+			</xsl:attribute>
+		</meta>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements processing
+	============================================================================================= -->
+
+	<xsl:template match="elements" mode="root" name="t_rootElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_namespaces'"/>
+				<xsl:with-param name="p_content">
+					<table id="namespaceList" class="members">
+						<tr>
+							<th>
+								<include item="header_namespaceName"/>
+							</th>
+							<th>
+								<include item="header_namespaceDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="root">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</table>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespace" name="t_namespaceElements">
+
+		<xsl:if test="element/apidata/@subgroup = 'class'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'class'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'structure'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'structure'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'interface'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'interface'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'delegate'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'delegate'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'enumeration'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'enumeration'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespaceGroup" name="t_namespaceGroupElements">
+		<xsl:if test="count(element) > 0">
+			<div id="namespacesSection">
+				<xsl:call-template name="t_putSectionInclude">
+					<xsl:with-param name="p_titleInclude" select="'tableTitle_namespace'"/>
+					<xsl:with-param name="p_content">
+						<table id="namespaceList" class="members">
+							<tr>
+								<th>
+									<include item="header_namespaceName"/>
+								</th>
+								<th>
+									<include item="header_namespaceDescription"/>
+								</th>
+							</tr>
+							<xsl:apply-templates select="element" mode="namespaceGroup">
+								<xsl:sort select="substring-after(@api, ':')"/>
+							</xsl:apply-templates>
+						</table>
+					</xsl:with-param>
+				</xsl:call-template>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespaceGroup" name="t_namespaceGroupElement">
+		<tr>
+			<td>
+				<referenceLink target="{@api}" qualified="false"/>
+			</td>
+			<td>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="enumeration" name="t_enumerationElements">
+		<xsl:if test="count(element) > 0">
+			<div id="enumerationSection">
+				<xsl:call-template name="t_putSectionInclude">
+					<xsl:with-param name="p_titleInclude" select="'topicTitle_enumMembers'"/>
+					<xsl:with-param name="p_content">
+						<table id="enumMemberList" class="members">
+							<tr>
+								<th class="ps_iconColumn">
+									&#160;
+								</th>
+								<th>
+									<include item="header_memberName"/>
+								</th>
+								<xsl:if test="$includeEnumValues='true'">
+									<th>
+										<include item="header_memberValue"/>
+									</th>
+								</xsl:if>
+								<th>
+									<include item="header_memberDescription"/>
+								</th>
+							</tr>
+							<xsl:apply-templates select="element" mode="enumeration"/>
+						</table>
+					</xsl:with-param>
+				</xsl:call-template>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="member" name="t_memberElements">
+
+		<!-- Filter out the Overload pages created by ApplyVSDocModel.xsl. -->
+		<xsl:variable name="filteredOverloadElements"
+									select="element[starts-with(@api, 'Overload:')]/element | element[not(starts-with(@api, 'Overload:'))]"/>
+
+		<xsl:call-template name="t_memberIntroBoilerplate"/>
+
+		<!-- Constructor table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">constructor</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">property</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">method</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">event</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Operator table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">operator</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Field table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">field</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Attached property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedProperty</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedProperty']]"/>
+		</xsl:call-template>
+
+		<!-- Attached event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedEvent</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedEvent']]"/>
+		</xsl:call-template>
+
+		<!-- Extension method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">extensionMethod</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='extension']]"/>
+		</xsl:call-template>
+
+		<!-- EII table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">explicitInterfaceImplementation</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[.//memberdata[@visibility='private'] and .//proceduredata[@virtual = 'true']]"/>
+		</xsl:call-template>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="type" name="t_typeElements">
+		<xsl:apply-templates select="." mode="member"/>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="derivedType">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'derivedClasses'"/>
+				<xsl:with-param name="p_content">
+					<table id="derivedTypeList" class="members">
+						<tr>
+							<th>
+								<include item="header_memberName"/>
+							</th>
+							<th>
+								<include item="header_memberDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="derivedType">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</table>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overload" name="t_overloadElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putMemberListSection">
+				<xsl:with-param name="p_headerGroup" select="'overloadMembers'"/>
+				<xsl:with-param name="p_members" select="element"/>
+				<xsl:with-param name="p_showParameters" select="'true'"/>
+				<xsl:with-param name="p_sort" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+		<xsl:apply-templates select="element" mode="overloadSections">
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overloadSummary">
+		<xsl:apply-templates select="element" mode="overloadSummary" >
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putNamespaceSection">
+		<xsl:param name="p_listSubgroup"/>
+
+		<xsl:variable name="v_header" select="concat('tableTitle_', $p_listSubgroup)"/>
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="$v_header"/>
+			<xsl:with-param name="p_content">
+				<xsl:call-template name="t_putNamespaceList">
+					<xsl:with-param name="p_listSubgroup" select="$p_listSubgroup"/>
+				</xsl:call-template>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_putNamespaceList">
+		<xsl:param name="p_listSubgroup"/>
+
+		<table class="members">
+			<xsl:attribute name="id">
+				<xsl:value-of select="concat($p_listSubgroup, 'List')"/>
+			</xsl:attribute>
+			<tr>
+				<th class="ps_iconColumn">
+					&#160;
+				</th>
+				<th>
+					<include item="header_{$p_listSubgroup}Name"/>
+				</th>
+				<th>
+					<include item="header_typeDescription"/>
+				</th>
+			</tr>
+			<xsl:apply-templates select="element[apidata/@subgroup=$p_listSubgroup]" mode="namespace">
+				<xsl:sort select="@api"/>
+			</xsl:apply-templates>
+		</table>
+
+	</xsl:template>
+
+	<xsl:template name="t_memberIntroBoilerplate">
+		<xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+			<!-- if there are exposed members, show a boilerplate intro p -->
+			<xsl:variable name="v_introTextItemId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
+					<xsl:otherwise>exposedMembersTableText</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<p>
+				<include item="{$v_introTextItemId}">
+					<parameter>
+						<referenceLink target="{$g_typeTopicId}"/>
+					</parameter>
+					<parameter>
+						<xsl:value-of select="concat ('text_',$g_apiTopicSubGroup,'Upper')"/>
+					</parameter>
+				</include>
+			</p>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putMemberListSection">
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_showParameters" select="false()"/>
+		<xsl:param name="p_sort" select="true()"/>
+
+		<xsl:if test="count($p_members) &gt; 0">
+			<xsl:variable name="v_header">
+				<xsl:value-of select="concat('tableTitle_', $p_headerGroup)"/>
+			</xsl:variable>
+
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="$v_header"/>
+				<xsl:with-param name="p_toplink" select="true()"/>
+				<xsl:with-param name="p_content">
+					<table class="members">
+						<xsl:attribute name="id">
+							<xsl:value-of select="concat($p_headerGroup, 'List')"/>
+						</xsl:attribute>
+						<tr>
+							<th class="ps_iconColumn">
+								&#160;
+							</th>
+							<th>
+								<include item="header_typeName"/>
+							</th>
+							<th>
+								<include item="header_typeDescription"/>
+							</th>
+						</tr>
+
+						<!-- Add a row for each member of the current subgroup-visibility -->
+						<xsl:choose>
+							<xsl:when test="boolean($p_sort)">
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+									<xsl:sort select="topicdata/@eiiName | apidata/@name"/>
+									<xsl:sort select="count(templates/*)"/>
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</table>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element processing
+	============================================================================================= -->
+
+	<xsl:template match="element"
+								mode="root"
+								name="t_rootElement">
+		<tr>
+			<td>
+				<xsl:choose>
+					<xsl:when test="apidata/@name = ''">
+						<referenceLink target="{@api}"
+													 qualified="false">
+							<include item="defaultNamespace"/>
+						</referenceLink>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}"
+													 qualified="false"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</td>
+			<td>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespace" name="t_namespaceElement">
+		<xsl:variable name="v_typeVisibility">
+			<xsl:choose>
+				<xsl:when test="typedata/@visibility='family' or typedata/@visibility='family or assembly' or typedata/@visibility='assembly'">prot</xsl:when>
+				<xsl:when test="typedata/@visibility='private'">priv</xsl:when>
+				<xsl:otherwise>pub</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<tr>
+			<xsl:attribute name="data">
+				<xsl:value-of select="apidata/@subgroup"/>
+				<xsl:text>; public</xsl:text>
+			</xsl:attribute>
+			<td>
+				<xsl:call-template name="t_putTypeIcon">
+					<xsl:with-param name="p_typeVisibility" select="$v_typeVisibility"/>
+				</xsl:call-template>
+			</td>
+			<td>
+				<referenceLink target="{@api}" qualified="false"/>
+			</td>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="enumeration" name="t_enumerationElement">
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<tr>
+			<td>
+				<!-- Platform icons -->
+				<xsl:if test="normalize-space($v_supportedOnCf)!=''">
+					<img data="netcfw">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>CFW.gif</parameter>
+						</includeAttribute>
+						<includeAttribute name="alt" item="altText_CompactFramework"/>
+						<includeAttribute name="title" item="altText_CompactFramework"/>
+					</img>
+				</xsl:if>
+				<xsl:if test="normalize-space($v_supportedOnXna)!=''">
+					<img data="xnafw">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>xna.gif</parameter>
+						</includeAttribute>
+						<includeAttribute name="alt" item="altText_XNAFramework"/>
+						<includeAttribute name="title" item="altText_XNAFramework"/>
+					</img>
+				</xsl:if>
+				<xsl:if test="normalize-space($v_supportedOnSilverlightMobile)!=''">
+					<img data="silverlight_mobile">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>slMobile.gif</parameter>
+						</includeAttribute>
+						<includeAttribute name="alt" item="altText_SilverlightMobile"/>
+						<includeAttribute name="title" item="altText_SilverlightMobile"/>
+					</img>
+				</xsl:if>
+			</td>
+			<xsl:variable name="id" select="@api"/>
+			<td target="{$id}">
+				<span class="selflink">
+					<xsl:value-of select="apidata/@name"/>
+				</span>
+			</td>
+			<xsl:if test="$includeEnumValues='true'">
+				<td>
+					<xsl:value-of select="value"/>
+				</td>
+			</xsl:if>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getEnumMemberDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="derivedType"
+								name="t_derivedTypeElement">
+		<tr>
+			<td>
+				<xsl:choose>
+					<xsl:when test="@display-api">
+						<referenceLink target="{@api}"
+													 display-target="{@display-api}"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</td>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="members"
+								name="t_membersElement">
+		<xsl:param name="subgroup"/>
+		<xsl:if test="memberdata[@visibility='public'] and apidata[@subgroup=$g_apiTopicSubGroup]">
+			public;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly'] and apidata[@subgroup=$g_apiTopicSubGroup]">
+			protected;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='private'] and apidata[@subgroup=$g_apiTopicSubGroup] and not(proceduredata[@virtual = 'true'])">
+			private;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+			explicit;
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="memberlistRow" name="t_memberlistRowElement">
+		<xsl:param name="p_showParameters" select="'false'"/>
+		<xsl:variable name="v_notsupportedOnNetfw">
+			<xsl:call-template name="t_isMemberUnsupportedOnNetfw"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlight">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<xsl:variable name="v_staticMember">
+			<xsl:call-template name="t_isMemberStatic"/>
+		</xsl:variable>
+		<xsl:variable name="v_inheritedMember">
+			<xsl:call-template name="t_isMemberInherited"/>
+		</xsl:variable>
+		<xsl:variable name="v_declaredMember">
+			<xsl:call-template name="t_isMemberDeclared"/>
+		</xsl:variable>
+		<xsl:variable name="v_protectedMember">
+			<xsl:call-template name="t_isMemberProtected"/>
+		</xsl:variable>
+		<xsl:variable name="v_publicMember">
+			<xsl:call-template name="t_isMemberPublic"/>
+		</xsl:variable>
+		<xsl:variable name="v_privateMember">
+			<xsl:call-template name="t_isMemberPrivate"/>
+		</xsl:variable>
+		<xsl:variable name="v_explicitMember">
+			<xsl:call-template name="t_isMemberExplicit"/>
+		</xsl:variable>
+		<xsl:variable name="v_conversionOperator">
+			<xsl:call-template name="t_isConversionOperator"/>
+		</xsl:variable>
+		<!-- Do not show non-static members of static types -->
+		<xsl:if test=".//memberdata/@static='true' or not(/document/reference/typedata[@abstract='true' and @sealed='true'])">
+			<tr>
+				<xsl:attribute name="data">
+					<!-- it's possible to include both public and protected for overload topics -->
+					<xsl:if test="normalize-space($v_publicMember)!=''">
+						<xsl:text>public;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_protectedMember)!=''">
+						<xsl:text>protected;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_privateMember)!=''">
+						<xsl:text>private;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_explicitMember) != ''">
+						<xsl:text>explicit;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_staticMember)!=''">
+						<xsl:text>static;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_declaredMember)!=''">
+						<xsl:text>declared;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_inheritedMember)!=''">
+						<xsl:text>inherited;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnCf)!=''">
+						<xsl:text>netcfw;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnXna)!=''">
+						<xsl:text>xnafw;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnSilverlight) != ''">
+						<xsl:text>silverlight;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnSilverlightMobile) != ''">
+						<xsl:text>silverlight_mobile;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_notsupportedOnNetfw)!=''">
+						<xsl:text>notNetfw;</xsl:text>
+					</xsl:if>
+					<xsl:if test=".//versions">
+						<xsl:for-each select=".//versions/versions">
+							<!-- If we have at least one version in this framework, we list this framework. -->
+							<xsl:if test=".//version">
+								<xsl:value-of select="@name" />
+								<xsl:text>;</xsl:text>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:if>
+				</xsl:attribute>
+				<td>
+					<xsl:call-template name="t_putMemberIcons">
+						<xsl:with-param name="p_memberVisibility">
+							<xsl:choose>
+								<xsl:when test="normalize-space($v_publicMember)!=''">pub</xsl:when>
+								<xsl:when test="normalize-space($v_protectedMember)!=''">prot</xsl:when>
+								<xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
+								<xsl:otherwise>pub</xsl:otherwise>
+							</xsl:choose>
+						</xsl:with-param>
+						<xsl:with-param name="p_staticMember" select="normalize-space($v_staticMember)"/>
+						<xsl:with-param name="p_supportedOnXna" select="normalize-space($v_supportedOnXna)"/>
+						<xsl:with-param name="p_supportedOnCf" select="normalize-space($v_supportedOnCf)"/>
+						<xsl:with-param name="p_supportedOnSilverlight" select="normalize-space($v_supportedOnSilverlight)"/>
+						<xsl:with-param name="p_supportedOnSilverlightMobile" select="normalize-space($v_supportedOnSilverlightMobile)"/>
+					</xsl:call-template>
+				</td>
+				<td>
+					<xsl:choose>
+						<xsl:when test="normalize-space($v_conversionOperator)!=''">
+							<referenceLink target="{@api}"
+														 show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="memberdata[@overload] or starts-with(../@api, 'Overload:')">
+							<referenceLink target="{@api}"
+														 show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="@source='extension'">
+							<xsl:call-template name="t_putExtensionMethodDisplayLink"/>
+						</xsl:when>
+						<xsl:when test="@display-api">
+							<referenceLink target="{@api}"
+														 display-target="{@display-api}"
+														 show-parameters="{$p_showParameters}"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<referenceLink target="{@api}"
+														 show-parameters="{$p_showParameters}"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</td>
+				<td>
+					<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+						<xsl:text> </xsl:text>
+						<include item="boilerplate_obsoleteShort"/>
+					</xsl:if>
+					<xsl:if test="topicdata[@subgroup='overload'] or @overload='true'">
+						<include item="Overloaded"/>
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:apply-templates select="element"
+															 mode="overloadSummary"/>
+					<xsl:call-template name="t_getElementDescription"/>
+					<xsl:choose>
+						<xsl:when test="not(topicdata[@subgroup='overload'])">
+							<xsl:choose>
+								<xsl:when test="@source='extension' and containers/type">
+									<xsl:text> </xsl:text>
+									<include item="definedBy">
+										<parameter>
+											<xsl:apply-templates select="containers/type"
+																					 mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="normalize-space($v_inheritedMember)!=''">
+									<xsl:text> </xsl:text>
+									<include item="inheritedFrom">
+										<parameter>
+											<xsl:apply-templates select="containers/type"
+																					 mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="overrides/member">
+									<xsl:text> </xsl:text>
+									<include item="overridesMember">
+										<parameter>
+											<xsl:apply-templates select="overrides/member"
+																					 mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+							</xsl:choose>
+						</xsl:when>
+					</xsl:choose>
+
+					<!-- add boilerplate for other members in the signature set -->
+					<xsl:if test="@signatureset and element">
+						<xsl:variable name="primaryMember">
+							<xsl:copy-of select="."/>
+						</xsl:variable>
+						<xsl:variable name="primaryFramework"
+													select="versions/versions[1]/@name"/>
+						<xsl:for-each select="versions/versions[@name!=$primaryFramework]">
+							<xsl:variable name="secondaryFramework"
+														select="@name"/>
+							<xsl:if test="(msxsl:node-set($primaryMember)/*[not(@*[local-name()=$secondaryFramework])]) and (msxsl:node-set($primaryMember)/*[element[@*[local-name()=$secondaryFramework]]])">
+								<xsl:for-each select="msxsl:node-set($primaryMember)/*/element[@*[local-name()=$secondaryFramework]][1]">
+									<xsl:variable name="inheritedSecondaryMember">
+										<xsl:call-template name="t_isMemberInherited"/>
+									</xsl:variable>
+									<xsl:choose>
+										<xsl:when test="overrides">
+											<span data="{$secondaryFramework}">
+												<include item="boilerplate_secondaryFrameworkOverride">
+													<parameter>
+														<xsl:value-of select="$secondaryFramework"/>
+													</parameter>
+													<!--<parameter>
+                            <xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+                          </parameter>-->
+													<parameter>
+														<referenceLink target="{@api}"/>
+													</parameter>
+												</include>
+											</span>
+										</xsl:when>
+										<xsl:when test="normalize-space($inheritedSecondaryMember)!=''">
+											<span data="{$secondaryFramework}">
+												<include item="boilerplate_secondaryFrameworkInherited">
+													<parameter>
+														<xsl:value-of select="$secondaryFramework"/>
+													</parameter>
+													<parameter>
+														<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+													</parameter>
+													<parameter>
+														<xsl:call-template name="t_decoratedNameSep"/>
+													</parameter>
+													<parameter>
+														<xsl:apply-templates select="containers/type"
+																								 mode="link"/>
+													</parameter>
+													<parameter>
+														<referenceLink target="{@api}"/>
+													</parameter>
+												</include>
+											</span>
+										</xsl:when>
+										<xsl:otherwise>
+											<span data="{$secondaryFramework}">
+												<include item="boilerplate_secondaryFrameworkMember">
+													<parameter>
+														<xsl:value-of select="$secondaryFramework"/>
+													</parameter>
+													<parameter>
+														<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+													</parameter>
+													<parameter>
+														<referenceLink target="{@api}"/>
+													</parameter>
+												</include>
+											</span>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:for-each>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:if>
+
+				</td>
+			</tr>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="overloadSummary"
+								name="t_overloadSummaryElement">
+		<xsl:call-template name="t_getOverloadSummary"/>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="overloadSections"
+								name="t_overloadSectionsElement">
+		<xsl:call-template name="t_getOverloadSections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putTypeIcon">
+		<xsl:param name="p_typeVisibility"/>
+
+		<xsl:variable name="typeSubgroup" select="apidata/@subgroup"/>
+		<img>
+			<includeAttribute name="src" item="iconPath">
+				<parameter>
+					<xsl:value-of select="concat($p_typeVisibility,$typeSubgroup,'.gif')"/>
+				</parameter>
+			</includeAttribute>
+			<includeAttribute name="alt" item="{concat('altText_',$p_typeVisibility,$typeSubgroup)}"/>
+			<includeAttribute name="title" item="{concat('altText_',$p_typeVisibility,$typeSubgroup)}"/>
+		</img>
+
+		<xsl:if test=".//example">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>CodeExample.png</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_CodeExample"/>
+				<includeAttribute name="title" item="altText_CodeExample"/>
+			</img>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putMemberIcons">
+		<xsl:param name="p_memberVisibility"/>
+		<xsl:param name="p_staticMember"/>
+		<xsl:param name="p_supportedOnXna"/>
+		<xsl:param name="p_supportedOnCf"/>
+		<xsl:param name="p_supportedOnSilverlightMobile"/>
+
+		<xsl:variable name="v_memberSubgroup">
+			<xsl:choose>
+				<xsl:when test="apidata/@subgroup='constructor'">
+					<xsl:text>method</xsl:text>
+				</xsl:when>
+				<xsl:when test="apidata/@subgroup='method'">
+					<xsl:choose>
+						<xsl:when test="apidata/@subsubgroup='operator'">
+							<xsl:text>operator</xsl:text>
+						</xsl:when>
+						<xsl:when test="apidata/@subsubgroup='extension'">
+							<xsl:text>extension</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>method</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="apidata/@subgroup"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<!-- test for explicit interface implementations, which get the interface icon -->
+		<xsl:if test="memberdata/@visibility='private' and proceduredata/@virtual='true'">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>pubinterface.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_ExplicitInterface"/>
+				<includeAttribute name="title" item="altText_ExplicitInterface"/>
+			</img>
+		</xsl:if>
+
+		<img>
+			<includeAttribute name="src" item="iconPath">
+				<parameter>
+					<xsl:value-of select="concat($p_memberVisibility,$v_memberSubgroup,'.gif')"/>
+				</parameter>
+			</includeAttribute>
+			<xsl:choose>
+				<xsl:when test="apidata/@subsubgroup">
+					<includeAttribute name="alt" item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+					<includeAttribute name="title" item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<includeAttribute name="alt" item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+					<includeAttribute name="title" item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</img>
+
+		<xsl:if test="$p_staticMember!=''">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>static.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_static"/>
+				<includeAttribute name="title" item="altText_static"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnCf!=''">
+			<img data="netcfw">
+				<includeAttribute name="src" item="iconPath">
+					<parameter>CFW.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_CompactFramework"/>
+				<includeAttribute name="title" item="altText_CompactFramework"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnXna!=''">
+			<img data="xnafw">
+				<includeAttribute name="src" item="iconPath">
+					<parameter>xna.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_XNAFramework"/>
+				<includeAttribute name="title" item="altText_XNAFramework"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnSilverlightMobile!=''">
+			<img data="silverlight_mobile">
+				<includeAttribute name="src" item="iconPath">
+					<parameter>slMobile.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_SilverlightMobile"/>
+				<includeAttribute name="title" item="altText_SilverlightMobile"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test=".//example">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>CodeExample.png</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_CodeExample"/>
+				<includeAttribute name="title" item="altText_CodeExample"/>
+			</img>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_getEnumMemberDescription">
+		<xsl:apply-templates select="summary[1]/node()"/>
+		<!-- enum members may have additional authored content in the remarks node -->
+		<xsl:apply-templates select="remarks[1]/node()"/>
+	</xsl:template>
+
+	<xsl:template name="t_putExtensionMethodDisplayLink">
+		<xsl:variable name="v_showParameters">
+			<xsl:choose>
+				<xsl:when test="@overload='true'">true</xsl:when>
+				<xsl:otherwise>false</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<referenceLink target="{@api}"
+									 display-target="extension"
+									 show-parameters="{$v_showParameters}">
+			<extensionMethod>
+				<xsl:copy-of select="@*"/>
+				<xsl:copy-of select="apidata|templates|parameters|containers"/>
+			</extensionMethod>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inheritance hierarchy
+	============================================================================================= -->
+
+	<xsl:template match="family" name="t_family">
+		<xsl:param name="p_maxCount" select="number(5)" />
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_family'"/>
+			<xsl:with-param name="p_id">
+				<xsl:if test="$p_maxCount=0">
+					<xsl:value-of select="'fullInheritance'"/>
+				</xsl:if>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:variable name="ancestorCount" select="count(ancestors/*)"/>
+				<xsl:variable name="childCount" select="count(descendents/*)"/>
+
+				<xsl:for-each select="ancestors/type">
+					<xsl:sort select="position()" data-type="number" order="descending"/>
+
+					<xsl:call-template name="t_putIndent">
+						<xsl:with-param name="p_count" select="position()"/>
+					</xsl:call-template>
+
+					<xsl:apply-templates select="self::type" mode="link">
+						<xsl:with-param name="qualified" select="true()"/>
+					</xsl:apply-templates>
+
+					<br/>
+				</xsl:for-each>
+
+				<xsl:call-template name="t_putIndent">
+					<xsl:with-param name="p_count" select="$ancestorCount + 1"/>
+				</xsl:call-template>
+				<referenceLink target="{$key}" qualified="true"/>
+				<br/>
+
+				<xsl:choose>
+					<xsl:when test="descendents/@derivedTypes">
+						<xsl:call-template name="t_putIndent">
+							<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+						</xsl:call-template>
+						<referenceLink target="{descendents/@derivedTypes}" qualified="true">
+							<include item="derivedClasses"/>
+						</referenceLink>
+					</xsl:when>
+					<xsl:when test="not($p_maxCount=0) and count(descendents/type) > $p_maxCount">
+						<xsl:call-template name="t_putIndent">
+							<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+						</xsl:call-template>
+						<a href="#fullInheritance">
+							<include item="text_moreInheritance"/>
+						</a>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:for-each select="descendents/type">
+							<xsl:sort select="@api"/>
+
+							<xsl:if test="not(self::type/@api=preceding-sibling::*/self::type/@api)">
+								<xsl:call-template name="t_putIndent">
+									<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+								</xsl:call-template>
+
+								<xsl:apply-templates select="self::type" mode="link">
+									<xsl:with-param name="qualified" select="true()"/>
+								</xsl:apply-templates>
+
+								<br/>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="family" name="t_familyFull" mode="fullInheritance">
+		<xsl:call-template name="t_family">
+			<xsl:with-param name="p_maxCount" select="number(0)" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="implements" name="t_implements">
+		<xsl:if test="member">
+			<xsl:call-template name="t_putSubSection">
+				<xsl:with-param name="p_title">
+					<include item="title_implements"/>
+				</xsl:with-param>
+				<xsl:with-param name="p_content">
+					<xsl:for-each select="member">
+						<referenceLink target="{@api}" qualified="true"/>
+						<br/>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Member attribute tests
+	============================================================================================= -->
+
+	<xsl:template name="t_isMemberUnsupportedOnNetfw">
+		<xsl:if test="boolean(not(@netfw) and not(element/@netfw))">
+			<xsl:text>unsupported</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- for testing CF and XNA support, check the signature variations of @signatureset elements -->
+	<!-- for testing inherited/protected/etc, do not check the @signatureset variations; just go with the primary .NET Framework value -->
+	<xsl:template name="t_isMemberSupportedOnXna">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnXna"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesXna"
+											select="boolean(platforms and not(platforms/platform[.='Xbox360']))"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesXna) and (@xnafw or element/@xnafw))">
+					<xsl:text>supported</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnCf">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnCf"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesCF"
+											select="boolean( platforms and not(platforms[platform[.='PocketPC'] or platform[.='SmartPhone'] or platform[.='WindowsCE']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesCF) and (@netcfw or element/@netcfw))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlightMobile">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="platformFilterExcludesSilverlightMobile"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($platformFilterExcludesSilverlightMobile) and (@silverlight_mobile or element/@silverlight_mobile))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlight">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesSilverlight"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesSilverlight) and (@silverlight or element/@silverlight))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_isMemberStatic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberStatic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:when test="apidata[@subsubgroup='attachedProperty' or @subsubgroup='attachedEvent']"/>
+			<xsl:otherwise>
+				<xsl:if test="memberdata/@static='true'">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is inherited, or for overloads if any of the overloads is inherited -->
+	<xsl:template name="t_isMemberInherited">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberInherited"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api!=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is declared, or for overloads if any of the overloads is declared -->
+	<xsl:template name="t_isMemberDeclared">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberDeclared"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPublic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPublic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='public']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberProtected">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberProtected"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPrivate">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPrivate"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and not(proceduredata[@virtual = 'true'])">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberExplicit">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberExplicit"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isConversionOperator">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isConversionOperator"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="apidata/@subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit') and not(memberdata/@overload)">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Assembly information
+	============================================================================================= -->
+
+	<xsl:template name="t_putRequirementsInfo">
+		<p><xsl:text> </xsl:text></p>
+		<include item="boilerplate_requirementsNamespace"/>
+		<xsl:text>&#xa0;</xsl:text>
+		<referenceLink target="{/document/reference/containers/namespace/@api}"/>
+		<br/>
+		<xsl:call-template name="t_putAssembliesInfo"/>
+
+		<!-- Show XAML xmlns for APIs that support XAML -->
+		<xsl:if test="$omitXmlnsBoilerplate != 'true'">
+			<!-- All topics that have auto-generated XAML syntax get an "XMLNS for XAML" line in the Requirements
+					 section.  Topics with boilerplate XAML syntax, e.g. "Not applicable", do NOT get this line. -->
+			<xsl:if test="boolean(/document/syntax/div[@codeLanguage='XAML']/div[
+										@class='xamlAttributeUsageHeading' or @class='xamlObjectElementUsageHeading' or
+										@class='xamlContentElementUsageHeading' or @class='xamlPropertyElementUsageHeading'])">
+				<br/>
+				<include item="boilerplate_xamlXmlnsRequirements">
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+								<xsl:for-each select="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+									<xsl:if test="position()!=1">
+										<xsl:text>, </xsl:text>
+									</xsl:if>
+									<xsl:value-of select="."/>
+								</xsl:for-each>
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="boilerplate_unmappedXamlXmlns"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putAssembliesInfo">
+		<xsl:choose>
+			<xsl:when test="count(/document/reference/containers/library)&gt;1">
+				<include item="boilerplate_requirementsAssemblies"/>
+				<xsl:for-each select="/document/reference/containers/library">
+					<xsl:text>&#xa0;&#xa0;</xsl:text>
+					<xsl:call-template name="t_putAssemblyNameAndModule">
+						<xsl:with-param name="library"
+														select="."/>
+					</xsl:call-template>
+					<br/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<include item="boilerplate_requirementsAssemblyLabel"/>
+				<xsl:text>&#xa0;</xsl:text>
+				<xsl:call-template name="t_putAssemblyNameAndModule"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_putAssemblyNameAndModule">
+		<xsl:param name="library" select="/document/reference/containers/library"/>
+		<include item="assemblyNameAndModule">
+			<parameter>
+				<xsl:value-of select="$library/@assembly"/>
+			</parameter>
+			<parameter>
+				<xsl:value-of select="$library/@module"/>
+			</parameter>
+			<parameter>
+				<xsl:choose>
+					<xsl:when test="$library/@kind = 'DynamicallyLinkedLibrary'">
+						<xsl:text>dll</xsl:text>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>exe</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+			<parameter>
+				<xsl:variable name="versionParts">
+					<xsl:call-template name="t_tokenize">
+						<xsl:with-param name="string" select="substring-before(concat($library/assemblydata/@version, ' '), ' ')" />
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:variable name="versionNodes" select="msxsl:node-set($versionParts)" />
+				<!-- Limit version number length if requested -->
+				<xsl:choose>
+					<xsl:when test="$maxVersionParts = '2'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '3'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '4'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3], '.', $versionNodes/token[4])" />
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- All parts including the assembly file version if present -->
+						<xsl:value-of select="$library/assemblydata/@version"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<xsl:template name="t_tokenize">
+		<xsl:param name="string"/>
+		<xsl:param name="separator" select="'.'"/>
+
+		<xsl:choose>
+			<xsl:when test="contains($string, $separator)">
+				<token>
+					<xsl:value-of select="substring-before($string, $separator)"/>
+				</token>
+				<xsl:call-template name="t_tokenize">
+					<xsl:with-param name="string" select="substring-after($string, $separator)"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<token>
+					<xsl:value-of select="$string"/>
+				</token>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Platform information
+	============================================================================================= -->
+
+	<xsl:template match="platforms[platform]"
+								name="t_platforms">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_platforms'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="/document/reference/versions/versions[@name='silverlight']//version">
+						<p>
+							<include item="boilerplate_silverlightPlatforms"/>
+						</p>
+					</xsl:when>
+					<xsl:otherwise>
+						<p>
+							<xsl:for-each select="platform">
+								<include item="{.}"/>
+								<xsl:if test="position()!=last()">
+									<xsl:text>, </xsl:text>
+								</xsl:if>
+							</xsl:for-each>
+						</p>
+						<xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version">
+							<p>
+								<include item="boilerplate_systemRequirementsLink"/>
+							</p>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Version information
+	============================================================================================= -->
+
+	<xsl:template match="versions"
+								name="t_versions">
+		<xsl:if test="$omitVersionInformation != 'true'">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_versions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_processVersions"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_processVersions">
+		<xsl:param name="p_frameworkGroup"
+							 select="true()"/>
+		<xsl:choose>
+			<xsl:when test="versions and $p_frameworkGroup">
+				<xsl:for-each select="versions">
+					<!-- $v_platformFilterExcluded is based on platform filtering information -->
+					<xsl:variable name="v_platformFilterExcluded"
+												select="boolean(/document/reference/platforms and ( (@name='netcfw' and not(/document/reference/platforms/platform[.='PocketPC']) and not(/document/reference/platforms/platform[.='SmartPhone']) and not(/document/reference/platforms/platform[.='WindowsCE']) ) or (@name='xnafw' and not(/document/reference/platforms/platform[.='Xbox360']) ) ) )"/>
+					<xsl:if test="not($v_platformFilterExcluded) and count(.//version) &gt; 0">
+						<h4 class="subHeading">
+							<include item="{@name}"/>
+						</h4>
+						<xsl:call-template name="t_processVersions">
+							<xsl:with-param name="p_frameworkGroup"
+															select="false()"/>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- show the versions in which the api is supported, if any -->
+				<xsl:variable name="v_supportedCount"
+											select="count(version[not(@obsolete)] | versions[version[not(@obsolete)]])"/>
+				<xsl:if test="$v_supportedCount &gt; 0">
+					<include item="supportedIn_{$v_supportedCount}">
+						<xsl:for-each select="version[not(@obsolete)] | versions[version[not(@obsolete)]]">
+							<xsl:variable name="versionName">
+								<xsl:choose>
+									<!-- A versions[version] node at this level is for releases that had subsequent service packs. 
+                       For example, versions for .NET 3.0 has version nodes for 3.0 and 3.0 SP1. 
+                       We show only the first node, which is the one in which the api was first released, 
+                       that is, we show 3.0 SP1 only if the api was introduced in SP1. -->
+									<xsl:when test="local-name()='versions'">
+										<xsl:value-of select="version[not(@obsolete)][not(preceding-sibling::version[not(@obsolete)])]/@name"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="@name"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<parameter>
+								<include item="{$versionName}"/>
+							</parameter>
+						</xsl:for-each>
+					</include>
+					<br/>
+				</xsl:if>
+				<!-- show the versions in which the api is obsolete with a compiler warning, if any -->
+				<xsl:for-each select=".//version[@obsolete='warning']">
+					<include item="obsoleteWarning">
+						<parameter>
+							<include item="{@name}"/>
+						</parameter>
+					</include>
+					<br/>
+				</xsl:for-each>
+				<!-- show the versions in which the api is obsolete and does not compile, if any -->
+				<xsl:for-each select=".//version[@obsolete='error']">
+					<xsl:if test="position()=last()">
+						<include item="obsoleteError">
+							<parameter>
+								<include item="{@name}"/>
+							</parameter>
+						</include>
+						<br/>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Syntax
+	============================================================================================= -->
+
+	<xsl:template match="sourceContext" name="t_sourceContext">
+		<xsl:if test="$requestExampleUrl">
+			<include item="requestExample">
+				<parameter>
+					<xsl:value-of select="$requestExampleUrl"/>
+				</parameter>
+			</include>
+		</xsl:if>
+		<xsl:if test="$baseSourceCodeUrl">
+			<a target="_blank" class="button">
+				<xsl:attribute name="href">
+					<xsl:value-of select="$baseSourceCodeUrl"/>
+					<xsl:value-of select="@file"/>
+					<xsl:if test="@startLine">
+						<xsl:text>#L</xsl:text>
+						<xsl:value-of select="@startLine"/>
+					</xsl:if>
+				</xsl:attribute>
+				<xsl:attribute name="rel">
+					<xsl:text>noopener noreferrer</xsl:text>
+				</xsl:attribute>
+				<includeAttribute name="title" item="sourceCodeLinkTitle" />
+				<include item="sourceCodeLinkText" />
+			</a>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="parameters" name="t_parameters">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_parameters"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<dl>
+					<xsl:for-each select="parameter">
+						<dt>
+							<span class="parameter">
+								<xsl:value-of select="normalize-space(@name)"/>
+							</span>
+							<xsl:if test="@optional = 'true'">
+								<xsl:text> (Optional)</xsl:text>
+							</xsl:if>
+						</dt>
+						<dd>
+							<include item="typeLink">
+								<parameter>
+									<xsl:apply-templates select="*[1]" mode="link">
+										<xsl:with-param name="qualified" select="true()"/>
+									</xsl:apply-templates>
+								</parameter>
+							</include>
+							<br/>
+							<xsl:call-template name="t_getParameterDescription">
+								<xsl:with-param name="name" select="normalize-space(@name)"/>
+							</xsl:call-template>
+						</dd>
+					</xsl:for-each>
+				</dl>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<!-- produces a (plain) comma-separated list of parameter types -->
+	<xsl:template match="type"
+								mode="link"
+								name="t_typeLink">
+		<xsl:param name="qualified"
+							 select="false()"/>
+		<!-- we don't display outer types, because the link will show them -->
+		<referenceLink target="{@api}"
+									 prefer-overload="false">
+			<xsl:choose>
+				<xsl:when test="specialization">
+					<xsl:attribute name="show-templates">false</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="show-templates">true</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:if test="$qualified">
+				<xsl:attribute name="show-container">true</xsl:attribute>
+			</xsl:if>
+		</referenceLink>
+		<xsl:apply-templates select="specialization"
+												 mode="link"/>
+	</xsl:template>
+
+	<!-- Produces a (plain) name; outer types are indicated by dot-separators; -->
+	<!-- generic types are indicated by a keyword, because we can't show templates in a language-independent way -->
+	<xsl:template match="type" mode="plain" name="t_typeNamePlain">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not($g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="plain"/>
+			<xsl:text>.</xsl:text>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="plain"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="plain"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="type" mode="decorated" name="t_typeNameDecorated">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not($g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="decorated"/>
+			<xsl:call-template name="t_decoratedNameSep"/>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="decorated"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="decorated"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="specialization" mode="link" name="t_specializationLink">
+		<span class="languageSpecificText">
+			<span class="cs">&lt;</span>
+			<span class="vb">
+				<xsl:text>(Of </xsl:text>
+			</span>
+			<span class="cpp">&lt;</span>
+			<span class="fs">&lt;'</span>
+			<span class="nu">(</span>
+		</span>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="link"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<span class="languageSpecificText">
+			<span class="cs">&gt;</span>
+			<span class="vb">)</span>
+			<span class="cpp">&gt;</span>
+			<span class="fs">&gt;</span>
+			<span class="nu">)</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="plain" name="t_specializationPlain">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="plain"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="decorated" name="t_specializationDecorated">
+		<span class="languageSpecificText">
+			<span class="cs">&lt;</span>
+			<span class="vb">
+				<xsl:text>(Of </xsl:text>
+			</span>
+			<span class="cpp">&lt;</span>
+			<span class="fs">&lt;'</span>
+			<span class="nu">(</span>
+		</span>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="decorated"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<span class="languageSpecificText">
+			<span class="cs">&gt;</span>
+			<span class="vb">)</span>
+			<span class="cpp">&gt;</span>
+			<span class="fs">&gt;</span>
+			<span class="nu">)</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="template"
+								mode="link"
+								name="t_template_link">
+		<xsl:choose>
+			<xsl:when test="@api">
+				<referenceLink target="{@api}">
+					<span class="typeparameter">
+						<xsl:value-of select="@name"/>
+					</span>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="typeparameter">
+					<xsl:value-of select="@name"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="template"
+								mode="plain"
+								name="t_templatePlain">
+		<xsl:value-of select="@name"/>
+	</xsl:template>
+
+	<xsl:template match="template"
+								mode="decorated"
+								name="t_templateDecorated">
+		<span class="typeparameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="templates"
+								mode="link"
+								name="t_templatesLink">
+		<xsl:call-template name="t_specializationLink"/>
+	</xsl:template>
+
+	<xsl:template match="templates"
+								mode="plain"
+								name="t_templatesPlain">
+		<xsl:call-template name="t_specializationPlain"/>
+	</xsl:template>
+
+	<xsl:template match="templates"
+								mode="decorated"
+								name="t_templatesDecorated">
+		<xsl:call-template name="t_specializationDecorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="arrayOf" mode="link" name="t_arrayOfLink">
+		<xsl:param name="qualified" select="false()"/>
+		<span class="languageSpecificText">
+			<span class="cpp">array&lt;</span>
+		</span>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<span class="languageSpecificText">
+			<span class="cpp">
+				<xsl:if test="number(@rank) &gt; 1">
+					<xsl:text>,</xsl:text>
+					<xsl:value-of select="@rank"/>
+				</xsl:if>
+				<xsl:text>&gt;</xsl:text>
+			</span>
+			<span class="vb">
+				<xsl:text>(</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>)</xsl:text>
+			</span>
+			<span class="nu">
+				<xsl:text>[</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>]</xsl:text>
+			</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="plain" name="t_arrayOfPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="plain"/>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="decorated" name="t_arrayOfDecorated">
+		<span class="languageSpecificText">
+			<span class="cpp">array&lt;</span>
+		</span>
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="decorated"/>
+		<span class="languageSpecificText">
+			<span class="cpp">
+				<xsl:if test="number(@rank) &gt; 1">
+					<xsl:text>,</xsl:text>
+					<xsl:value-of select="@rank"/>
+				</xsl:if>
+				<xsl:text>&gt;</xsl:text>
+			</span>
+			<span class="vb">
+				<xsl:text>(</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>)</xsl:text>
+			</span>
+			<span class="nu">
+				<xsl:text>[</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>]</xsl:text>
+			</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="pointerTo" mode="link" name="t_pointerToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="plain" name="t_pointerToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="plain"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="decorated" name="t_pointerToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="decorated"/>
+		<span class="languageSpecificText">
+			<span class="cpp">
+				<xsl:text>*</xsl:text>
+			</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="referenceTo" mode="link" name="t_referenceToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<span class="languageSpecificText">
+			<span class="cpp">%</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="plain" name="t_referenceToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="plain"/>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="decorated" name="t_referenceToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="decorated"/>
+		<span class="languageSpecificText">
+			<span class="cpp">%</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="member"
+								mode="link"
+								name="t_memberLink">
+		<xsl:param name="qualified"
+							 select="true()"/>
+		<xsl:choose>
+			<xsl:when test="@display-api">
+				<referenceLink target="{@api}"
+											 display-target="{@display-api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/CloseSearch.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/CloseSearch.png
new file mode 100644
index 0000000000000000000000000000000000000000..3777d67bb5ae66c54db181e1b3a500d10754b119
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/CloseSearch.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/CollapseAll.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/CollapseAll.png
new file mode 100644
index 0000000000000000000000000000000000000000..5257682b0716a6408ad8060bf744d2e784e16ebd
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/CollapseAll.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Collapsed.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Collapsed.gif
new file mode 100644
index 0000000000000000000000000000000000000000..108d492386d7ee4cb692637beff6c88c59d52086
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Collapsed.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Expanded.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Expanded.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f774d9bb6589737768a8bf788046a8bbe53ca902
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Expanded.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/FillNode.aspx b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/FillNode.aspx
new file mode 100644
index 0000000000000000000000000000000000000000..a5a6579704ac0906ed53f623c63217cc6bec2109
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/FillNode.aspx
@@ -0,0 +1,156 @@
+<%@ Page Language="C#" EnableViewState="False" %>
+
+<script runat="server">
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : FillNode.aspx
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 04/09/2014
+// Note    : Copyright 2007-2014, Eric Woodruff, All rights reserved
+//
+// This file contains the code used to dynamically load a parent node with its child table of content nodes when
+// first expanded.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+//    Date     Who  Comments
+// ==============================================================================================================
+// 06/21/2007  EFW  Created the code
+// 07/17/2013  EFW  Merged code contributed by Procomp Solutions Oy that improves performance for large TOCs by
+//								  using XML serialization and caching.
+//===============================================================================================================
+
+private static readonly TocNode[] NoChildNodes = new TocNode[0];
+private static readonly object TocLoadSyncObject = new object();
+
+// This is used to contain the serialized table of contents
+[XmlRoot("HelpTOC")]
+public sealed class TableOfContents
+{
+	[XmlElement("HelpTOCNode")]
+	public TocNode[] ChildNodes;
+
+	[XmlIgnore]
+	public IDictionary<string, TocNode> NodesById;
+
+	internal void IndexNodes()
+	{
+		this.NodesById = new Dictionary<string, TocNode>();
+		AddToIndex(this.NodesById, this.ChildNodes);
+	}
+
+	private static void AddToIndex(IDictionary<string, TocNode> nodesById, TocNode[] nodes)
+	{
+		foreach(TocNode node in nodes)
+			if(!String.IsNullOrEmpty(node.Id))
+			{
+				nodesById.Add(node.Id, node);
+				AddToIndex(nodesById, node.ChildNodes);
+			}
+	}
+}
+
+// This represents a single node in the table of contents
+public sealed class TocNode
+{
+	[XmlAttribute("Id")]
+	public string Id;
+
+	[XmlAttribute("Title")]
+	public string Title;
+
+	[XmlAttribute("Url")]
+	public string Url;
+
+	[XmlElement("HelpTOCNode")]
+	public TocNode[] ChildNodes;
+}
+
+// Load the TOC info and store it in the cache on first use
+private TableOfContents GetToc()
+{
+	string tocPath = Server.MapPath("WebTOC.xml");
+	string tocCacheKey = tocPath;
+
+	lock(TocLoadSyncObject)
+	{
+		TableOfContents toc = this.Cache[tocCacheKey] as TableOfContents;
+
+		if(toc == null)
+		{
+			CacheDependency cacheDependency = new CacheDependency(tocPath);
+
+			using(XmlReader reader = XmlReader.Create(tocPath, new XmlReaderSettings()))
+			{
+				toc = (TableOfContents)new XmlSerializer(typeof(TableOfContents)).Deserialize(reader);
+				toc.IndexNodes();
+			}
+
+			this.Cache.Insert(tocCacheKey, toc, cacheDependency);
+		}
+
+		return toc;
+	}
+}
+
+// Load the requested node with its children
+protected override void Render(HtmlTextWriter writer)
+{
+	StringBuilder sb = new StringBuilder(10240);
+	TableOfContents toc = this.GetToc();
+
+	// The ID to use should be passed in the query string
+	string expandedId = this.Request.QueryString["Id"];
+	TocNode expandedNode;
+
+	if(toc.NodesById.TryGetValue(expandedId, out expandedNode))
+	{
+		foreach(TocNode childNode in expandedNode.ChildNodes ?? NoChildNodes)
+		{
+			if(childNode.ChildNodes != null && childNode.ChildNodes.Length != 0)
+			{
+				// Write out a parent TOC entry
+				string childUrl = childNode.Url;
+				string childTarget;
+
+				if(!String.IsNullOrEmpty(childUrl))
+					childTarget = " target=\"TopicContent\"";
+				else
+				{
+					childUrl = "#";
+					childTarget = String.Empty;
+				}
+
+				sb.AppendFormat("<div class=\"TreeNode\">\r\n" +
+					"<img class=\"TreeNodeImg\" onclick=\"javascript: Toggle(this);\" src=\"Collapsed.gif\"/>" +
+					"<a class=\"UnselectedNode\" onclick=\"javascript: return Expand(this);\" " +
+					"href=\"{0}\"{1}>{2}</a>\r\n" +
+					"<div id=\"{3}\" class=\"Hidden\"></div>\r\n" +
+					"</div>\r\n", HttpUtility.HtmlEncode(childUrl), childTarget, HttpUtility.HtmlEncode(childNode.Title),
+					childNode.Id);
+			}
+			else
+			{
+				string childUrl = childNode.Url;
+
+				if(String.IsNullOrEmpty(childUrl))
+					childUrl = "about:blank";
+
+				// Write out a TOC entry that has no children
+				sb.AppendFormat("<div class=\"TreeItem\">\r\n" +
+					"<img src=\"Item.gif\"/><a class=\"UnselectedNode\" " +
+					"onclick=\"javascript: return SelectNode(this);\" href=\"{0}\" " +
+					"target=\"TopicContent\">{1}</a>\r\n" +
+					"</div>\r\n", HttpUtility.HtmlEncode(childUrl), HttpUtility.HtmlEncode(childNode.Title));
+			}
+		}
+
+		writer.Write(sb.ToString());
+	}
+	else
+		writer.Write("<b>TOC node not found!</b>");
+}
+</script>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/FillNode.php b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/FillNode.php
new file mode 100644
index 0000000000000000000000000000000000000000..9429a03c01b8fdd1f90044688f6555eeaadcac9d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/FillNode.php
@@ -0,0 +1,52 @@
+<?
+// Contributed to the Sandcastle Help File Builder project by Thomas Levesque
+
+header("Content-Type: text/html; charset=utf-8");
+$toc = new DOMDocument();
+$toc->load('WebTOC.xml');
+$xpath = new DOMXPath($toc);
+$id = $_GET["Id"];
+$nodes = $xpath->query("//HelpTOCNode[@Id='$id']/*");
+if ($nodes->length == 0)
+{
+?>
+    <b>TOC node not found!</b>
+<?
+    die();
+}
+foreach($nodes as $node)
+{
+    $id = $node->getAttribute("Id");
+    $url = $node->getAttribute("Url");
+    $title = $node->getAttribute("Title");
+    if (empty($url))
+    {
+        $url = "#";
+        $target = "";
+    }
+    else
+    {
+        $target = " target=\"TopicContent\"";
+    }
+
+    if ($node->hasChildNodes())
+    {
+?>
+        <div class="TreeNode">
+            <img class="TreeNodeImg" onclick="javascript: Toggle(this);" src="Collapsed.gif"/>
+            <a class="UnselectedNode" onclick="javascript: Expand(this);" href="<?= $url ?>"<?= $target ?>><?= $title ?></a>
+            <div id="<?= $id ?>" class="Hidden"></div>
+        </div>
+<?
+    }
+    else
+    {
+?>
+        <div class="TreeItem">
+            <img src="Item.gif"/>
+            <a class="UnselectedNode" onclick="javascript: SelectNode(this);" href="<?= $url ?>"<?= $target ?>><?= $title ?></a>
+        </div>
+<?
+    }
+}
+?>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Index.aspx b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Index.aspx
new file mode 100644
index 0000000000000000000000000000000000000000..57c6290f97dbd0615cb421311879dad39b4f3b2e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Index.aspx
@@ -0,0 +1,152 @@
+<%@ Page Language="C#" EnableViewState="False" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head runat="server">
+<title>{@HtmlEncHelpTitle} - Table of Content</title>
+<link rel="stylesheet" href="TOC.css" />
+<link rel="shortcut icon" href="favicon.ico"/>
+<script type="text/javascript" src="TOC.js"></script>
+</head>
+
+<body onload="javascript: Initialize('.aspx');" onresize="javascript: ResizeTree();">
+<form id="IndexForm" runat="server">
+
+<div id="TOCDiv" class="TOCDiv">
+
+<div id="divSearchOpts" class="SearchOpts" style="height: 100px; display: none;">
+<img class="TOCLink" onclick="javascript: ShowHideSearch(false);"
+    src="CloseSearch.png" height="17" width="17" alt="Hide search" style="float: right;"/>
+Keyword(s) for which to search:
+<input id="txtSearchText" type="text" style="width: 100%;"
+  onkeypress="javascript: return OnSearchTextKeyPress(event);" /><br />
+<input id="chkSortByTitle" type="checkbox" /><label for="chkSortByTitle">&nbsp;Sort results by title</label><br />
+<input type="button" value="Search" onclick="javascript: return PerformSearch();" />
+</div>
+
+<div id="divIndexOpts" class="IndexOpts" style="height: 25px; display: none;">
+<img class="TOCLink" onclick="javascript: ShowHideIndex(false);"
+    src="CloseSearch.png" height="17" width="17" alt="Hide index" style="float: right;"/>
+Keyword Index
+</div>
+
+<div id="divNavOpts" class="NavOpts" style="height: 20px;">
+    <img class="TOCLink" onclick="javascript: SyncTOC();" src="SyncTOC.gif"
+        height="16" width="16" alt="Sync to TOC"/>
+    <img class="TOCLink" onclick="javascript: ExpandOrCollapseAll(false);"
+        src="CollapseAll.png" height="16" width="16" alt="Collapse all" />
+    <img class="TOCLink" onclick="javascript: ShowHideIndex(true);"
+        src="Index.gif" height="16" width="16" alt="Index" />
+    <img class="TOCLink" onclick="javascript: ShowHideSearch(true);"
+        src="Search.gif" height="16" width="16" alt="Search" />
+    <a href="#" title="Click to obtain a direct link to the displayed topic"
+        style="margin-left: 10px; vertical-align: top;"
+        onclick="javascript: ShowDirectLink();">Direct Link</a>
+</div>
+
+<div class="Tree" id="divSearchResults" style="display: none;"
+    onselectstart="javascript: return false;">
+</div>
+
+<div class="Tree" id="divIndexResults" style="display: none;"
+    onselectstart="javascript: return false;">
+</div>
+
+<div class="Tree" id="divTree" onselectstart="javascript: return false;">
+<asp:Literal ID="lcTOC" runat="server" />
+</div>
+
+</div>
+
+<div id="TOCSizer" class="TOCSizer" onmousedown="OnMouseDown(event)" onselectstart="javascript: return false;"></div>
+
+<iframe id="TopicContent" name="TopicContent" class="TopicContent" src="{@WebDefaultTopic}">
+This page uses an IFRAME but your browser does not support it.
+</iframe>
+
+</form>
+
+</body>
+
+</html>
+
+<script runat="server">
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : Index.aspx
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 04/09/2014
+// Note    : Copyright 2007-2014, Eric Woodruff, All rights reserved
+//
+// This file contains the code used to display the index page for a website produced by the help file builder.
+// The root nodes are loaded for the table of content.  Child nodes are loaded dynamically when first expanded
+// using an Ajax call.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+//    Date     Who  Comments
+// ==============================================================================================================
+// 06/21/2007  EFW  Created the code
+// 02/18/2012  EFW  Merged code from tom103 to show direct link
+//===============================================================================================================
+
+protected void Page_Load(object sender, EventArgs e)
+{
+    StringBuilder sb = new StringBuilder(10240);
+    string id, url, target, title;
+
+    XPathDocument toc = new XPathDocument(Server.MapPath("WebTOC.xml"));
+    XPathNavigator navToc = toc.CreateNavigator();
+    XPathNodeIterator root = navToc.Select("HelpTOC/*");
+
+    foreach(XPathNavigator node in root)
+    {
+        if(node.HasChildren)
+        {
+            // Write out a parent TOC entry
+            id = node.GetAttribute("Id", String.Empty);
+            title = node.GetAttribute("Title", String.Empty);
+            url = node.GetAttribute("Url", String.Empty);
+
+            if(!String.IsNullOrEmpty(url))
+                target = " target=\"TopicContent\"";
+            else
+            {
+                url = "#";
+                target = String.Empty;
+            }
+
+            sb.AppendFormat("<div class=\"TreeNode\">\r\n" +
+                "<img class=\"TreeNodeImg\" " +
+                "onclick=\"javascript: Toggle(this);\" " +
+                "src=\"Collapsed.gif\"/><a class=\"UnselectedNode\" " +
+                "onclick=\"javascript: return Expand(this);\" " +
+                "href=\"{0}\"{1}>{2}</a>\r\n" +
+                "<div id=\"{3}\" class=\"Hidden\"></div>\r\n</div>\r\n",
+								HttpUtility.HtmlEncode(url), target, HttpUtility.HtmlEncode(title), id);
+        }
+        else
+        {
+            title = node.GetAttribute("Title", String.Empty);
+            url = node.GetAttribute("Url", String.Empty);
+
+            if(String.IsNullOrEmpty(url))
+                url = "about:blank";
+
+            // Write out a TOC entry that has no children
+            sb.AppendFormat("<div class=\"TreeItem\">\r\n" +
+                "<img src=\"Item.gif\"/>" +
+                "<a class=\"UnselectedNode\" " +
+                "onclick=\"javascript: return SelectNode(this);\" " +
+                "href=\"{0}\" target=\"TopicContent\">{1}</a>\r\n" +
+								"</div>\r\n", HttpUtility.HtmlEncode(url), HttpUtility.HtmlEncode(title));
+        }
+    }
+
+    lcTOC.Text = sb.ToString();
+}
+</script>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Index.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Index.gif
new file mode 100644
index 0000000000000000000000000000000000000000..35ab04764b2cff6315a3a280c2c042be07ff55cb
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Index.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Item.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Item.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8e39a46042b2071c7f202ecee7c66ece736dbc2
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Item.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/LoadIndexKeywords.aspx b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/LoadIndexKeywords.aspx
new file mode 100644
index 0000000000000000000000000000000000000000..3ca957951415284cc4314aa91b97844f761689fa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/LoadIndexKeywords.aspx
@@ -0,0 +1,100 @@
+<%@ Page Language="C#" EnableViewState="False" %>
+
+<script runat="server">
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : LoadIndexKeywords.aspx
+// Author  : Eric Woodruff  (Eric@EWoodruff.us) from code by Ferdinand Prantl
+// Updated : 04/09/2014
+// Note    : Copyright 2008-2014, Eric Woodruff, All rights reserved
+//
+// This file contains the code used to search for keywords within the help topics using the full-text index
+// files created by the help file builder.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+//    Date     Who  Comments
+// ==============================================================================================================
+// 04/01/2008  EFW  Created the code
+//===============================================================================================================
+
+/// <summary>
+/// Render the keyword index
+/// </summary>
+/// <param name="writer">The writer to which the results are written</param>
+protected override void Render(HtmlTextWriter writer)
+{
+    XmlDocument ki;
+    XmlNode root, node;
+    StringBuilder sb = new StringBuilder(10240);
+    int startIndex = 0, endIndex;
+    string url, target;
+
+    ki = new XmlDocument();
+    ki.Load(Server.MapPath("WebKI.xml"));
+    root = ki.SelectSingleNode("HelpKI");
+
+    if(Request.QueryString["StartIndex"] != null)
+        startIndex = Convert.ToInt32(Request.QueryString["StartIndex"]) * 128;
+
+    endIndex = startIndex + 128;
+
+    if(endIndex > root.ChildNodes.Count)
+        endIndex = root.ChildNodes.Count;
+
+    if(startIndex > 0)
+    {
+        sb.Append("<div class=\"IndexItem\">\r\n" +
+            "<span>&nbsp;</span><a class=\"UnselectedNode\" " +
+            "onclick=\"javascript: return ChangeIndexPage(-1);\" " +
+            "href=\"#\"><b><< Previous page</b></a>\r\n</div>\r\n");
+    }
+
+    while(startIndex < endIndex)
+    {
+        node = root.ChildNodes[startIndex];
+
+        if(node.Attributes["Url"] == null)
+        {
+            url = "#";
+            target = String.Empty;
+        }
+        else
+        {
+            url = node.Attributes["Url"].Value;
+            target = " target=\"TopicContent\"";
+        }
+
+        sb.AppendFormat("<div class=\"IndexItem\">\r\n" +
+            "<span>&nbsp;</span><a class=\"UnselectedNode\" " +
+            "onclick=\"javascript: return SelectIndexNode(this);\" " +
+						"href=\"{0}\"{1}>{2}</a>\r\n", HttpUtility.HtmlEncode(url), target,
+            HttpUtility.HtmlEncode(node.Attributes["Title"].Value));
+
+        if(node.ChildNodes.Count != 0)
+            foreach(XmlNode subNode in node.ChildNodes)
+                sb.AppendFormat("<div class=\"IndexSubItem\">\r\n" +
+                    "<img src=\"Item.gif\"/><a class=\"UnselectedNode\" " +
+                    "onclick=\"javascript: return SelectIndexNode(this);\" " +
+                    "href=\"{0}\" target=\"TopicContent\">{1}</a>\r\n</div>\r\n",
+										HttpUtility.HtmlEncode(subNode.Attributes["Url"].Value),
+                    HttpUtility.HtmlEncode(subNode.Attributes["Title"].Value));
+
+        sb.Append("</div>\r\n");
+
+        startIndex++;
+    }
+
+    if(startIndex < root.ChildNodes.Count)
+        sb.Append("<div class=\"IndexItem\">\r\n" +
+            "<span>&nbsp;</span><a class=\"UnselectedNode\" " +
+            "onclick=\"javascript: return ChangeIndexPage(1);\" " +
+            "href=\"#\"><b>Next page >></b></a>\r\n</div>\r\n");
+
+    writer.Write(sb.ToString());
+}
+
+</script>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/LoadIndexKeywords.php b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/LoadIndexKeywords.php
new file mode 100644
index 0000000000000000000000000000000000000000..d7a8101dd06b033f231d4e0daa63a411ed7f4097
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/LoadIndexKeywords.php
@@ -0,0 +1,68 @@
+<?
+    // Contributed to the Sandcastle Help File Builder project by Thomas Levesque
+
+    $ki = new DOMDocument();
+    $ki->load("WebKI.xml");
+    $xpath = new DOMXPath($ki);
+    $nodes = $xpath->query("/HelpKI/*");
+    $startIndexParam = $_GET["StartIndex"];
+    $startIndex = 0;
+    if (!empty($startIndexParam))
+        $startIndex = intval($startIndexParam) * 128;
+    $endIndex = $startIndex + 128;
+
+    if ($endIndex > $nodes->length)
+        $endIndex = $nodes->length;
+
+    if($startIndex > 0)
+    {
+    ?>
+        <div class="IndexItem">
+        <span>&nbsp;</span><a class="UnselectedNode" onclick="javascript: return ChangeIndexPage(-1);" href="#"><b><< Previous page</b></a>
+        </div>
+    <?
+    }
+
+    while($startIndex < $endIndex)
+    {
+        $node = $nodes->item($startIndex);
+        $url = $node->getAttribute("Url");
+        $title = $node->getAttribute("Title");
+        $target = " target=\"TopicContent\"";
+
+        if (empty($url))
+        {
+            $url = "#";
+            $target = "";
+        }
+?>
+<div class="IndexItem">
+    <span>&nbsp;</span><a class="UnselectedNode" onclick="javascript: return SelectIndexNode(this);" href="<?= $url ?>"<?= $target ?>><?= $title ?></a>
+    <?
+        $subNodes = $xpath->query("./HelpKINode", $node);
+        foreach($subNodes as $subNode)
+        {
+            $subUrl = $subNode->getAttribute("Url");
+            $subTitle = $subNode->getAttribute("Title");
+    ?>
+        <div class="IndexSubItem">
+            <img src="Item.gif"/><a class="UnselectedNode" onclick="javascript: return SelectIndexNode(this);" href="<?= $subUrl ?>" target="TopicContent"><?= $subTitle ?></a>
+        </div>
+
+    <?
+        }
+    ?>
+</div>
+<?
+        $startIndex++;
+    }
+
+    if($startIndex < $nodes->length)
+    {
+    ?>
+        <div class="IndexItem">
+        <span>&nbsp;</span><a class="UnselectedNode" onclick="javascript: return ChangeIndexPage(1);" href="#"><b>Next page >></b></a>
+        </div>
+    <?
+    }
+?>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Search.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Search.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b4151e0d91293ef1108d753aece5c38d06bf3623
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Search.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.aspx b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.aspx
new file mode 100644
index 0000000000000000000000000000000000000000..8c08a058182bcc8aed30d94657bbc399a90df891
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.aspx
@@ -0,0 +1,235 @@
+<%@ Page Language="C#" EnableViewState="False" %>
+
+<script runat="server">
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : SearchHelp.aspx
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 04/09/2014
+// Note    : Copyright 2007-2014, Eric Woodruff, All rights reserved
+//
+// This file contains the code used to search for keywords within the help topics using the full-text index
+// files created by the help file builder.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+//    Date     Who  Comments
+// ==============================================================================================================
+// 06/24/2007  EFW  Created the code
+// 02/17/2012  EFW  Switched to JSON serialization to support websites that use something other than ASP.NET
+//                  such as PHP.
+//===============================================================================================================
+
+/// <summary>
+/// This class is used to track the results and their rankings
+/// </summary>
+private class Ranking
+{
+    public string Filename, PageTitle;
+    public int Rank;
+
+    public Ranking(string file, string title, int rank)
+    {
+        Filename = file;
+        PageTitle = title;
+        Rank = rank;
+    }
+}
+
+/// <summary>
+/// Render the search results
+/// </summary>
+/// <param name="writer">The writer to which the results are written</param>
+protected override void Render(HtmlTextWriter writer)
+{
+    JavaScriptSerializer jss = new JavaScriptSerializer();
+    string searchText, ftiFile;
+    char letter;
+    bool sortByTitle = false;
+
+    jss.MaxJsonLength = Int32.MaxValue;
+
+    // The keywords for which to search should be passed in the query string
+    searchText = this.Request.QueryString["Keywords"];
+
+    if(String.IsNullOrEmpty(searchText))
+    {
+        writer.Write("<b class=\"PaddedText\">Nothing found</b>");
+        return;
+    }
+
+    // An optional SortByTitle option can also be specified
+    if(this.Request.QueryString["SortByTitle"] != null)
+        sortByTitle = Convert.ToBoolean(this.Request.QueryString["SortByTitle"]);
+
+    List<string> keywords = this.ParseKeywords(searchText);
+    List<char> letters = new List<char>();
+    List<string> fileList;
+    Dictionary<string, List<long>> ftiWords, wordDictionary =
+        new Dictionary<string,List<long>>();
+
+    // Load the file index
+    using(StreamReader sr = new StreamReader(Server.MapPath("fti/FTI_Files.json")))
+    {
+        fileList = jss.Deserialize<List<string>>(sr.ReadToEnd());
+    }
+
+    // Load the required word index files
+    foreach(string word in keywords)
+    {
+        letter = word[0];
+
+        if(!letters.Contains(letter))
+        {
+            letters.Add(letter);
+            ftiFile = Server.MapPath(String.Format(CultureInfo.InvariantCulture,
+                "fti/FTI_{0}.json", (int)letter));
+
+            if(File.Exists(ftiFile))
+            {
+                using(StreamReader sr = new StreamReader(ftiFile))
+                {
+                    ftiWords = jss.Deserialize<Dictionary<string, List<long>>>(sr.ReadToEnd());
+                }
+
+                foreach(string ftiWord in ftiWords.Keys)
+                    wordDictionary.Add(ftiWord, ftiWords[ftiWord]);
+            }
+        }
+    }
+
+    // Perform the search and return the results as a block of HTML
+    writer.Write(this.Search(keywords, fileList, wordDictionary, sortByTitle));
+}
+
+/// <summary>
+/// Split the search text up into keywords
+/// </summary>
+/// <param name="keywords">The keywords to parse</param>
+/// <returns>A list containing the words for which to search</returns>
+private List<string> ParseKeywords(string keywords)
+{
+    List<string> keywordList = new List<string>();
+    string checkWord;
+    string[] words = Regex.Split(keywords, @"\W+");
+
+    foreach(string word in words)
+    {
+        checkWord = word.ToLower(CultureInfo.InvariantCulture);
+        
+        if(checkWord.Length > 2 && !Char.IsDigit(checkWord[0]) &&
+          !keywordList.Contains(checkWord))
+            keywordList.Add(checkWord);
+    }
+
+    return keywordList;
+}
+
+/// <summary>
+/// Search for the specified keywords and return the results as a block of
+/// HTML.
+/// </summary>
+/// <param name="keywords">The keywords for which to search</param>
+/// <param name="fileInfo">The file list</param>
+/// <param name="wordDictionary">The dictionary used to find the words</param>
+/// <param name="sortByTitle">True to sort by title, false to sort by
+/// ranking</param>
+/// <returns>A block of HTML representing the search results.</returns>
+private string Search(List<string> keywords, List<string> fileInfo,
+    Dictionary<string, List<long>> wordDictionary, bool sortByTitle)
+{
+    StringBuilder sb = new StringBuilder(10240);
+    Dictionary<string, List<long>> matches = new Dictionary<string, List<long>>();
+    List<long> occurrences;
+    List<int> matchingFileIndices = new List<int>(),
+        occurrenceIndices = new List<int>();
+    List<Ranking> rankings = new List<Ranking>();
+
+    string filename, title;
+    string[] fileIndex;
+    bool isFirst = true;
+    int idx, wordCount, matchCount;
+
+    foreach(string word in keywords)
+    {
+        if(!wordDictionary.TryGetValue(word, out occurrences))
+            return "<b class=\"PaddedText\">Nothing found</b>";
+
+        matches.Add(word, occurrences);
+        occurrenceIndices.Clear();
+
+        // Get a list of the file indices for this match
+        foreach(long entry in occurrences)
+            occurrenceIndices.Add((int)(entry >> 16));
+            
+        if(isFirst)
+        {
+            isFirst = false;
+            matchingFileIndices.AddRange(occurrenceIndices);
+        }
+        else
+        {
+            // After the first match, remove files that do not appear for
+            // all found keywords.
+            for(idx = 0; idx < matchingFileIndices.Count; idx++)
+                if(!occurrenceIndices.Contains(matchingFileIndices[idx]))
+                {
+                    matchingFileIndices.RemoveAt(idx);
+                    idx--;
+                }
+        }
+    }
+
+    if(matchingFileIndices.Count == 0)
+        return "<b class=\"PaddedText\">Nothing found</b>";
+
+    // Rank the files based on the number of times the words occurs
+    foreach(int index in matchingFileIndices)
+    {
+        // Split out the title, filename, and word count
+        fileIndex = fileInfo[index].Split('\x0');
+
+        title = fileIndex[0];
+        filename = fileIndex[1];
+        wordCount = Convert.ToInt32(fileIndex[2]);
+        matchCount = 0;
+        
+        foreach(string word in keywords)
+        {
+            occurrences = matches[word];
+
+            foreach(long entry in occurrences)
+                if((int)(entry >> 16) == index)
+                    matchCount += (int)(entry & 0xFFFF);
+        }
+
+        rankings.Add(new Ranking(filename, title, matchCount * 1000 / wordCount));
+    }
+
+    // Sort by rank in descending order or by page title in ascending order
+    rankings.Sort(delegate (Ranking x, Ranking y)
+    {
+        if(!sortByTitle)
+            return y.Rank - x.Rank;
+
+        return x.PageTitle.CompareTo(y.PageTitle);
+    });
+
+    // Format the file list and return the results
+    foreach(Ranking r in rankings)
+        sb.AppendFormat("<div class=\"TreeItem\">\r\n<img src=\"Item.gif\"/>" +
+            "<a class=\"UnselectedNode\" target=\"TopicContent\" " +
+            "href=\"{0}\" onclick=\"javascript: SelectSearchNode(this);\">" +
+            "{1}</a>\r\n</div>\r\n", r.Filename, r.PageTitle);
+
+    // Return the keywords used as well in a hidden span
+    sb.AppendFormat("<span id=\"SearchKeywords\" style=\"display: none\">{0}</span>",
+        String.Join(" ", keywords.ToArray()));
+
+    return sb.ToString();
+}
+
+</script>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.inc.php b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.inc.php
new file mode 100644
index 0000000000000000000000000000000000000000..ec21bc55803cdc3ce5e3a9cbf051b938e7231370
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.inc.php
@@ -0,0 +1,169 @@
+<?
+// Contributed to the Sandcastle Help File Builder project by Thomas Levesque
+
+class Ranking
+{
+    public $filename;
+    public $pageTitle;
+    public $rank;
+
+    function __construct($file, $title, $rank)
+    {
+        $this->filename = $file;
+        $this->pageTitle = $title;
+        $this->rank = $rank;
+    }
+}
+
+
+/// <summary>
+/// Split the search text up into keywords
+/// </summary>
+/// <param name="keywords">The keywords to parse</param>
+/// <returns>A list containing the words for which to search</returns>
+function ParseKeywords($keywords)
+{
+    $keywordList = array();
+    $words = preg_split("/[^\w]+/", $keywords);
+
+    foreach($words as $word)
+    {
+        $checkWord = strtolower($word);
+        $first = substr($checkWord, 0, 1);
+        if(strlen($checkWord) > 2 && !ctype_digit($first) && !in_array($checkWord, $keywordList))
+        {
+            array_push($keywordList, $checkWord);
+        }
+    }
+
+    return $keywordList;
+}
+
+
+/// <summary>
+/// Search for the specified keywords and return the results as a block of
+/// HTML.
+/// </summary>
+/// <param name="keywords">The keywords for which to search</param>
+/// <param name="fileInfo">The file list</param>
+/// <param name="wordDictionary">The dictionary used to find the words</param>
+/// <param name="sortByTitle">True to sort by title, false to sort by
+/// ranking</param>
+/// <returns>A block of HTML representing the search results.</returns>
+function Search($keywords, $fileInfo, $wordDictionary, $sortByTitle)
+{
+    $sb = "";
+    $matches = array();
+    $matchingFileIndices = array();
+    $rankings = array();
+
+    $isFirst = true;
+
+    foreach($keywords as $word)
+    {
+        if (!array_key_exists($word, $wordDictionary))
+        {
+            return "<b class=\"PaddedText\">Nothing found</b>";
+        }
+        $occurrences = $wordDictionary[$word];
+
+        $matches[$word] = $occurrences;
+        $occurrenceIndices = array();
+
+        // Get a list of the file indices for this match
+        foreach($occurrences as $entry)
+            array_push($occurrenceIndices, ($entry >> 16));
+
+        if($isFirst)
+        {
+            $isFirst = false;
+            foreach($occurrenceIndices as $i)
+            {
+                array_push($matchingFileIndices, $i);
+            }
+        }
+        else
+        {
+            // After the first match, remove files that do not appear for
+            // all found keywords.
+            for($idx = 0; $idx < count($matchingFileIndices); $idx++)
+            {
+                if (!in_array($matchingFileIndices[$idx], $occurrenceIndices))
+                {
+                    array_splice($matchingFileIndices, $idx, 1);
+                    $idx--;
+                }
+            }
+        }
+    }
+
+    if(count($matchingFileIndices) == 0)
+    {
+        return "<b class=\"PaddedText\">Nothing found</b>";
+    }
+
+    // Rank the files based on the number of times the words occurs
+    foreach($matchingFileIndices as $index)
+    {
+        // Split out the title, filename, and word count
+        $fileIndex = explode("\x00", $fileInfo[$index]);
+
+        $title = $fileIndex[0];
+        $filename = $fileIndex[1];
+        $wordCount = intval($fileIndex[2]);
+        $matchCount = 0;
+
+        foreach($keywords as $words)
+        {
+            $occurrences = $matches[$word];
+
+            foreach($occurrences as $entry)
+            {
+                if(($entry >> 16) == $index)
+                    $matchCount += $entry & 0xFFFF;
+            }
+        }
+
+        $r = new Ranking($filename, $title, $matchCount * 1000 / $wordCount);
+        array_push($rankings, $r);
+    }
+
+    // Sort by rank in descending order or by page title in ascending order
+    if($sortByTitle)
+    {
+        usort($rankings, "cmprankbytitle");
+    }
+    else
+    {
+        usort($rankings, "cmprank");
+    }
+
+    // Format the file list and return the results
+    foreach($rankings as $r)
+    {
+        $f = $r->filename;
+        $t = $r->pageTitle;
+        $sb .= "<div class=\"TreeItem\">\r\n<img src=\"Item.gif\"/>" .
+            "<a class=\"UnselectedNode\" target=\"TopicContent\" " .
+            "href=\"$f\" onclick=\"javascript: SelectSearchNode(this);\">" .
+            "$t</a>\r\n</div>\r\n";
+    }
+
+    // Return the keywords used as well in a hidden span
+    $k = implode(" ", $keywords);
+    $sb .= "<span id=\"SearchKeywords\" style=\"display: none\">$k</span>";
+
+    return $sb;
+}
+
+function cmprank($x, $y)
+{
+    return $y->rank - $x->rank;
+}
+
+function cmprankbytitle($x, $y)
+{
+    return strcmp($x->pageTitle, $y->pageTitle);
+}
+
+?>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.php b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.php
new file mode 100644
index 0000000000000000000000000000000000000000..ed698fdad322310f0bb52c198dc499fc53e7a1f5
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SearchHelp.php
@@ -0,0 +1,58 @@
+<?
+// Contributed to the Sandcastle Help File Builder project by Thomas Levesque
+
+include("SearchHelp.inc.php");
+
+    $sortByTitle = false;
+
+    // The keywords for which to search should be passed in the query string
+    $searchText = $_GET["Keywords"];
+
+    if(empty($searchText))
+    {
+    ?>
+        <b class=\"PaddedText\">Nothing found</b>
+    <?
+        return;
+    }
+
+    // An optional SortByTitle option can also be specified
+    if($_GET["SortByTitle"] == "true")
+        $sortByTitle = true;
+
+    $keywords = ParseKeywords($searchText);
+    $letters = array();
+    $wordDictionary = array();
+
+    // Load the file index
+    $json = file_get_contents("fti/FTI_Files.json");
+    $fileList = json_decode($json);
+
+    // Load the required word index files
+    foreach($keywords as $word)
+    {
+        $letter = substr($word, 0, 1);
+
+        if(!in_array($letter, $letters))
+        {
+            array_push($letters, $letter);
+            $ascii = ord($letter);
+            $ftiFile = "fti/FTI_$ascii.json";
+
+            if(file_exists($ftiFile))
+            {
+                $json = file_get_contents($ftiFile);
+                $ftiWords = json_decode($json, true);
+
+                foreach($ftiWords as $ftiWord => $val)
+                {
+                    $wordDictionary[$ftiWord] = $val;
+                }
+            }
+        }
+    }
+
+    // Perform the search and return the results as a block of HTML
+    $results = Search($keywords, $fileList, $wordDictionary, $sortByTitle);
+    echo $results;
+?>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Splitter.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Splitter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f052c6aff1d1e3879ef518e32d28829c82ebdd1d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Splitter.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SyncTOC.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SyncTOC.gif
new file mode 100644
index 0000000000000000000000000000000000000000..892fe676c19e30eacc9138bc3c672075d33b6299
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/SyncTOC.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/TOC.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/TOC.css
new file mode 100644
index 0000000000000000000000000000000000000000..a2198863d829eb52a4613e2f4ab30bb4cfd8ffd9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/TOC.css
@@ -0,0 +1,141 @@
+/* File    : TOC.css
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 01/26/2014
+//
+// Style sheet for the table of contents
+*/
+
+* {
+	margin: 0px 0px 0px 0px;
+	padding: 0px 0px 0px 0px;
+}
+
+body {
+	font-family: Verdana, Arial, sans-serif;
+	font-size: 9pt;
+	background-color: #6699CC;
+	color: White;
+	overflow: hidden;
+}
+
+input {
+	font-size: 8.5pt;
+}
+
+img {
+	border: 0;
+	margin-left: 5px;
+	margin-right: 2px;
+}
+
+img.TreeNodeImg {
+	cursor: pointer;
+}
+
+img.TOCLink {
+	cursor: pointer;
+	margin-left: 0;
+	margin-right: 0;
+}
+
+a.SelectedNode, a.UnselectedNode {
+	color: black;
+	text-decoration: none;
+	padding: 1px 3px 1px 3px;
+	white-space: nowrap;
+}
+
+a.SelectedNode {
+	background-color: #ffffff;
+	border: solid 1px #999999;
+	padding: 0px 2px 0px 2px;
+}
+
+a.UnselectedNode:hover, a.SelectedNode:hover {
+	background-color: #cccccc;
+	border: solid 1px #999999;
+	padding: 0px 2px 0px 2px;
+}
+
+.Visible {
+	display: block;
+	margin-left: 14px;
+}
+
+.Hidden {
+	display: none;
+}
+
+.Tree {
+	background-color: #ffffff;
+	color: Black;
+	width: 300px;
+	overflow: auto;
+}
+
+.TreeNode, .TreeItem {
+	white-space: nowrap;
+	margin: 2px 2px 2px 2px;
+}
+
+.TOCDiv {
+	position: relative;
+	float: left;
+	width: 300px;
+	height: 100%;
+}
+
+.TOCSizer {
+	clear: none;
+	float: left;
+	width: 10px;
+	height: 100%;
+	background-color: #6699CC;
+	background-image: url("Splitter.gif");
+	background-position: center center;
+	background-repeat: no-repeat;
+	position: relative;
+	cursor: w-resize;
+}
+
+.TopicContent {
+	position: relative;
+	float: right;
+	background-color: white;
+	height: 100%;
+}
+
+.SearchOpts {
+	padding: 5px 5px 0px 5px;
+	background-color: #d3d3d3;
+	color: black;
+	width: 300px;
+}
+
+.NavOpts {
+	padding: 5px 5px 0px 5px;
+	background-color: #d3d3d3;
+	color: black;
+	width: 300px;
+}
+
+.IndexOpts {
+	padding: 5px 5px 0px 5px;
+	background-color: #d3d3d3;
+	color: black;
+	width: 300px;
+}
+
+.IndexItem {
+	white-space: nowrap;
+	margin: 2px 2px 2px 2px;
+}
+
+.IndexSubItem {
+	white-space: nowrap;
+	margin: 2px 2px 2px 12px;
+}
+
+.PaddedText {
+	margin: 10px 10px 10px 10px;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/TOC.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/TOC.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cf52090fedabecc5ee202662e762878de0b74de
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/TOC.js
@@ -0,0 +1,906 @@
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : TOC.js
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 03/26/2014
+// Note    : Copyright 2006-2014, Eric Woodruff, All rights reserved
+//
+// This file contains the methods necessary to implement a simple tree view for the table of content with a
+// resizable splitter and Ajax support to load tree nodes on demand.  It also contains the script necessary to do
+// full-text searches.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+// Version     Date     Who  Comments
+// ==============================================================================================================
+// 1.3.0.0  09/12/2006  EFW  Created the code
+// 1.4.0.2  06/15/2007  EFW  Reworked to get rid of frame set and to add support for Ajax to load tree nodes on
+//                           demand.
+// 1.5.0.0  06/24/2007  EFW  Added full-text search capabilities
+// 1.6.0.7  04/01/2008  EFW  Merged changes from Ferdinand Prantl to add a website keyword index.  Added support
+//                           for "topic" query string option.
+// 1.9.4.0  02/21/2012  EFW  Merged code from Thomas Levesque to show direct link and support other page types
+//                           like PHP.
+// 1.9.5.0  07/25/2012  EFW  Made changes to support IE 10.
+// 1.9.8.0  07/26/2013  EFW  Merged changes from Dave Dansey to sync to TOC when the topic URL parameter is used
+//===============================================================================================================
+
+// IE and Chrome flags
+var isIE = (navigator.userAgent.indexOf("MSIE") >= 0);
+var isIE10OrLater = /MSIE 1\d\./.test(navigator.userAgent);
+var isChrome = (navigator.userAgent.indexOf("Chrome") >= 0);
+
+// Page extension
+var pageExtension = ".aspx";
+
+// Minimum width of the TOC div
+var minWidth = 100;
+
+// Elements and sizing info
+var divTOC, divSizer, topicContent, divNavOpts, divSearchOpts, divSearchResults, divIndexOpts, divIndexResults,
+    divTree, docBody, maxWidth, offset, txtSearchText, chkSortByTitle;
+
+// Last node selected
+var lastNode, lastSearchNode, lastIndexNode;
+
+// Last page with keyword index
+var currentIndexPage = 0;
+
+// XML Doc of the TOC
+var xmlTOCDoc
+
+//============================================================================
+
+// Initialize the tree view and resize the content.  Pass it the page extension to use (i.e. ".aspx")
+// for loading TOC element, index keywords, searching, etc.
+function Initialize(extension)
+{
+    docBody = document.getElementsByTagName("body")[0];
+    divTOC = document.getElementById("TOCDiv");
+    divSizer = document.getElementById("TOCSizer");
+    topicContent = document.getElementById("TopicContent");
+    divNavOpts = document.getElementById("divNavOpts");
+    divSearchOpts = document.getElementById("divSearchOpts");
+    divSearchResults = document.getElementById("divSearchResults");
+    divIndexOpts = document.getElementById("divIndexOpts");
+    divIndexResults = document.getElementById("divIndexResults");
+    divTree = document.getElementById("divTree");
+    txtSearchText = document.getElementById("txtSearchText");
+    chkSortByTitle = document.getElementById("chkSortByTitle");
+
+    // Set the page extension if specified
+    if(typeof(extension) != "undefined" && extension != "")
+        pageExtension = extension;
+
+    // The sizes are bit off in FireFox
+    if(!isIE)
+        divNavOpts.style.width = divSearchOpts.style.width = divIndexOpts.style.width = 292;
+
+    ResizeTree();
+    SyncTOC();
+
+    topicContent.onload = SyncTOC;
+
+    // Use an alternate default page if a topic is specified in the query string
+    var queryString = document.location.search;
+
+    if(queryString != "")
+    {
+        var idx, options = queryString.split(/[\?\=\&]/);
+
+        for(idx = 0; idx < options.length; idx++)
+            if(options[idx] == "topic" && idx + 1 < options.length)
+            {
+                // Don't allow javascript, or references outside the current site
+                if(options[idx + 1].match(/^\w[\w\/.-]*$/))
+                    topicContent.src = options[idx + 1];
+                break;
+            }
+    }
+}
+
+//============================================================================
+// Navigation and expand/collapse code
+
+// Synchronize the table of content with the selected page if possible
+function SyncTOC()
+{
+    var idx, anchor, base, href, url, anchors, treeNode, saveNode;
+
+    base = window.location.href;
+    base = base.substr(0, base.lastIndexOf("/") + 1);
+
+    if(base.substr(0, 5) == "file:" && base.substr(0, 8) != "file:///")
+        base = base.replace("file://", "file:///");
+
+    url = GetCurrentUrl();
+
+    if(url == "")
+        return false;
+
+    if(url.substr(0, 5) == "file:" && url.substr(0, 8) != "file:///")
+        url = url.replace("file://", "file:///");
+
+    while(true)
+    {
+        anchors = divTree.getElementsByTagName("A");
+        anchor = null;
+
+        for(idx = 0; idx < anchors.length; idx++)
+        {
+            href = anchors[idx].href;
+
+            if(href.substring(0, 7) != 'http://' && href.substring(0, 8) != 'https://' &&
+              href.substring(0, 7) != 'file://')
+                href = base + href;
+
+            if(href == url)
+            {
+                anchor = anchors[idx];
+                break;
+            }
+        }
+
+        if(anchor == null)
+        {
+            // If it contains a "#", strip anything after that and try again
+            if(url.indexOf("#") != -1)
+            {
+                url = url.substr(0, url.indexOf("#"));
+                continue;
+            }
+
+            LoadTOC(url);
+            return;
+        }
+
+        break;
+    }
+
+    // If found, select it and find the parent tree node
+    SelectNode(anchor);
+    saveNode = anchor;
+    lastNode = null;
+
+    while(anchor != null)
+    {
+        if(anchor.className == "TreeNode")
+        {
+            treeNode = anchor;
+            break;
+        }
+
+        anchor = anchor.parentNode;
+    }
+
+    // Expand it and all of its parents
+    while(anchor != null)
+    {
+        Expand(anchor);
+
+        anchor = anchor.parentNode;
+
+        while(anchor != null)
+        {
+            if(anchor.className == "TreeNode")
+                break;
+
+            anchor = anchor.parentNode;
+        }
+    }
+
+    lastNode = saveNode;
+
+    // Scroll the node into view
+    var windowTop = lastNode.offsetTop - divTree.offsetTop - divTree.scrollTop;
+    var windowBottom = divTree.clientHeight - windowTop - lastNode.offsetHeight;
+
+    if(windowTop < 0)
+        divTree.scrollTop += windowTop - 30;
+    else
+        if(windowBottom < 0)
+            divTree.scrollTop -= windowBottom - 30;
+}
+
+// Search an array to see if it contains the given object
+function Contains(a, obj)
+{
+    for(var i = 0; i < a.length; i++)
+        if(a[i] === obj)
+            return true;
+
+    return false;
+}
+
+// Get the parent TOC IDs from the TOC XML file
+function GetParentTOCIds(target)
+{
+    if(xmlTOCDoc == null)
+    {
+        // Load the TOC XML
+        try
+        {
+            var xmlhttp = GetXmlHttpRequest();
+            xmlhttp.open("GET", "WebTOC.xml", false);
+            xmlhttp.send();
+
+            xmlTOCDoc = xmlhttp.responseXML;
+        }
+        catch(e)
+        {
+//            alert(e.message);
+        }
+
+        if(xmlTOCDoc == null)
+            return new Array();
+    }
+
+    // Get all TOC nodes
+    x = xmlTOCDoc.getElementsByTagName("HelpTOCNode");
+
+    // Iterate nodes looking for the target
+    var targetNode = null;
+
+    for(i = 0; i < x.length; i++)
+    {
+        var id = x[i].getAttribute('Url');
+
+        if(id != null)
+        {
+            id = id.substring(id.lastIndexOf("/") + 1, id.length - (id.length - id.lastIndexOf(".")));
+
+            if(id == target)
+            {
+                targetNode = x[i];
+                break;
+            }
+        }
+    }
+
+    // Build an array of parent ids of the target node
+    var ids = new Array();
+
+    if(targetNode != null)
+    {
+        var index = 0;
+
+        while(targetNode.parentNode.tagName == "HelpTOCNode")
+        {
+            targetNode = targetNode.parentNode;
+            ids[index] = targetNode.getAttribute('Id');
+            index = index + 1;
+        }
+    }
+
+    return ids
+}
+
+// Load the TOC and expand all parent nodes down to the given entry
+function LoadTOC(url)
+{
+    // Extract the target id from the url
+    var target = url.substring(url.lastIndexOf("/") + 1, url.length - (url.length - url.lastIndexOf(".")));
+
+    // Get an array of parent id's
+    var idList = GetParentTOCIds(target);
+
+    var divIdx, childIdx, img, divs = document.getElementsByTagName("DIV");
+    var childNodes, child, div;
+
+    // Loop through all DIV tags, looking for the next one to lazy-load
+    for(divIdx = 0; divIdx < divs.length; divIdx++)
+        if(divs[divIdx].className == "Hidden" || divs[divIdx].className == "Visible")
+        {
+            childNodes = divs[divIdx].parentNode.childNodes;
+
+            for(childIdx = 0; childIdx < childNodes.length; childIdx++)
+            {
+                child = childNodes[childIdx];
+
+                if(child.className == "TreeNodeImg")
+                    img = child;
+
+                if(child.className == "Hidden" || child.className == "Visible")
+                {
+                    div = child;
+                    break;
+                }
+            }
+
+            if(div.className == "Hidden" && Contains(idList,div.id))
+            {
+                div.className = "Visible";
+                img.src = "Expanded.gif";
+
+                if(div.innerHTML == "")
+                    FillNodeAndTrySyncTOC(div)
+            }
+        }
+}
+
+// Lazy load the child TOC nodes and re-try to SyncTOC afterwards (if the TOC still can't be synced the process
+// will run again to expand the next parent down).
+function FillNodeAndTrySyncTOC(div)
+{
+    var xmlHttp = GetXmlHttpRequest(), now = new Date();
+
+    if(xmlHttp == null)
+    {
+        div.innerHTML = "<b>XML HTTP request not supported!</b>";
+        return;
+    }
+
+    div.innerHTML = "Loading...";
+
+    // Add a unique hash to ensure it doesn't use cached results
+    xmlHttp.open("GET", "FillNode" + pageExtension + "?Id=" + div.id + "&hash=" + now.getTime(), true);
+
+    xmlHttp.onreadystatechange = function()
+    {
+        if(xmlHttp.readyState == 4)
+        {
+            div.innerHTML = xmlHttp.responseText;
+
+            SyncTOC();
+        }
+    }
+
+    xmlHttp.send(null)
+}
+
+// Get the currently loaded URL from the IFRAME
+function GetCurrentUrl()
+{
+    var base, url = "";
+
+    try
+    {
+        url = window.frames["TopicContent"].document.URL.replace(/\\/g, "/");
+    }
+    catch(e)
+    {
+        // If this happens the user probably navigated to another frame set that didn't make itself the topmost
+        // frame set and we don't have control of the other frame anymore.  In that case, just reload our index
+        // page.
+        base = window.location.href;
+        base = base.substr(0, base.lastIndexOf("/") + 1);
+
+        // Chrome is too secure and won't let you access frame URLs when running from the file system unless
+        // you run Chrome with the "--disable-web-security" command line option.
+        if(isChrome && base.substr(0, 5) == "file:")
+        {
+            alert("Chrome security prevents access to file-based frame URLs.  As such, the TOC will not work " +
+                "with index.html.  Either run this website on a web server, run Chrome with the " +
+                "'--disable-web-security' command line option, or use FireFox or Internet Explorer.");
+
+            return "";
+        }
+
+        if(base.substr(0, 5) == "file:" && base.substr(0, 8) != "file:///")
+            base = base.replace("file://", "file:///");
+
+        // Use lowercase on name for case-sensitive servers
+        if(base.substr(0, 5) == "file:")
+            top.location.href = base + "index.html";
+        else
+            top.location.href = base + "index" + pageExtension;
+    }
+
+    return url;
+}
+
+// Expand or collapse all nodes
+function ExpandOrCollapseAll(expandNodes)
+{
+    var divIdx, childIdx, img, divs = document.getElementsByTagName("DIV");
+    var childNodes, child, div, link, img;
+
+    for(divIdx = 0; divIdx < divs.length; divIdx++)
+        if(divs[divIdx].className == "Hidden" || divs[divIdx].className == "Visible")
+        {
+            childNodes = divs[divIdx].parentNode.childNodes;
+
+            for(childIdx = 0; childIdx < childNodes.length; childIdx++)
+            {
+                child = childNodes[childIdx];
+
+                if(child.className == "TreeNodeImg")
+                    img = child;
+
+                if(child.className == "Hidden" || child.className == "Visible")
+                {
+                    div = child;
+                    break;
+                }
+            }
+
+            if(div.className == "Visible" && !expandNodes)
+            {
+                div.className = "Hidden";
+                img.src = "Collapsed.gif";
+            }
+            else
+                if(div.className == "Hidden" && expandNodes)
+                {
+                    div.className = "Visible";
+                    img.src = "Expanded.gif";
+
+                    if(div.innerHTML == "")
+                        FillNode(div, true)
+                }
+        }
+}
+
+// Toggle the state of the specified node
+function Toggle(node)
+{
+    var i, childNodes, child, div, link;
+
+    childNodes = node.parentNode.childNodes;
+
+    for(i = 0; i < childNodes.length; i++)
+    {
+        child = childNodes[i];
+
+        if(child.className == "Hidden" || child.className == "Visible")
+        {
+            div = child;
+            break;
+        }
+    }
+
+    if(div.className == "Visible")
+    {
+        div.className = "Hidden";
+        node.src = "Collapsed.gif";
+    }
+    else
+    {
+        div.className = "Visible";
+        node.src = "Expanded.gif";
+
+        if(div.innerHTML == "")
+            FillNode(div, false)
+    }
+}
+
+// Expand the selected node
+function Expand(node)
+{
+    var i, childNodes, child, div, img;
+
+    // If not valid, don't bother
+    if(GetCurrentUrl() == "")
+        return false;
+
+    if(node.tagName == "A")
+        childNodes = node.parentNode.childNodes;
+    else
+        childNodes = node.childNodes;
+
+    for(i = 0; i < childNodes.length; i++)
+    {
+        child = childNodes[i];
+
+        if(child.className == "TreeNodeImg")
+            img = child;
+
+        if(child.className == "Hidden" || child.className == "Visible")
+        {
+            div = child;
+            break;
+        }
+    }
+
+    if(lastNode != null)
+        lastNode.className = "UnselectedNode";
+
+    div.className = "Visible";
+    img.src = "Expanded.gif";
+
+    if(node.tagName == "A")
+    {
+        node.className = "SelectedNode";
+        lastNode = node;
+    }
+
+    if(div.innerHTML == "")
+        FillNode(div, false)
+
+    return true;
+}
+
+// Set the style of the specified node to "selected"
+function SelectNode(node)
+{
+    // If not valid, don't bother
+    if(GetCurrentUrl() == "")
+        return false;
+
+    if(lastNode != null)
+        lastNode.className = "UnselectedNode";
+
+    node.className = "SelectedNode";
+    lastNode = node;
+
+    return true;
+}
+
+//============================================================================
+// Ajax-related code used to fill the tree nodes on demand
+
+function GetXmlHttpRequest()
+{
+    var xmlHttp = null;
+
+    // If IE7, Mozilla, Safari, etc., use the native object.  Otherwise, use the ActiveX control for IE5.x and IE6.
+    if(window.XMLHttpRequest)
+        xmlHttp = new XMLHttpRequest();
+    else
+        if(window.ActiveXObject)
+            xmlHttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");
+
+    return xmlHttp;
+}
+
+// Perform an AJAX-style request for the contents of a node and put the contents into the empty div
+function FillNode(div, expandChildren)
+{
+    var xmlHttp = GetXmlHttpRequest(), now = new Date();
+
+    if(xmlHttp == null)
+    {
+        div.innerHTML = "<b>XML HTTP request not supported!</b>";
+        return;
+    }
+
+    div.innerHTML = "Loading...";
+
+    // Add a unique hash to ensure it doesn't use cached results
+    xmlHttp.open("GET", "FillNode" + pageExtension + "?Id=" + div.id + "&hash=" + now.getTime(), true);
+
+    xmlHttp.onreadystatechange = function()
+    {
+        if(xmlHttp.readyState == 4)
+        {
+            div.innerHTML = xmlHttp.responseText;
+
+            if(expandChildren)
+                ExpandOrCollapseAll(true);
+        }
+    }
+
+    xmlHttp.send(null)
+}
+
+//============================================================================
+// Resizing code
+
+// Resize the tree div so that it fills the document body
+function ResizeTree()
+{
+    var y, newHeight;
+
+    if(self.innerHeight)    // All but IE
+        y = self.innerHeight;
+    else    // IE - Strict
+        if(document.documentElement && document.documentElement.clientHeight)
+            y = document.documentElement.clientHeight;
+        else    // Everything else
+            if(document.body)
+                y = document.body.clientHeight;
+
+    newHeight = y - parseInt(divNavOpts.style.height, 10) - 6;
+
+    if(newHeight < 50)
+        newHeight = 50;
+
+    divTree.style.height = newHeight;
+
+    newHeight = y - parseInt(divSearchOpts.style.height, 10) - 6;
+
+    if(newHeight < 100)
+        newHeight = 100;
+
+    divSearchResults.style.height = newHeight;
+
+    newHeight = y - parseInt(divIndexOpts.style.height, 10) - 6;
+
+    if(newHeight < 25)
+        newHeight = 25;
+
+    divIndexResults.style.height = newHeight;
+
+    // Resize the content div
+    ResizeContent();
+}
+
+// Resize the content div
+function ResizeContent()
+{
+    // IE 10 sizes the frame like FireFox and Chrome
+    if(isIE && !isIE10OrLater)
+        maxWidth = docBody.clientWidth - 1;
+    else
+        maxWidth = docBody.clientWidth - 4;
+
+    topicContent.style.width = maxWidth - (divSizer.offsetLeft + divSizer.offsetWidth);
+    maxWidth -= minWidth;
+}
+
+// This is called to prepare for dragging the sizer div
+function OnMouseDown(event)
+{
+    var x;
+
+    // Make sure the splitter is at the top of the z-index
+    divSizer.style.zIndex = 5000;
+
+    // The content is in an IFRAME which steals mouse events so hide it while resizing
+    topicContent.style.display = "none";
+
+    if(isIE)
+        x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
+    else
+        x = event.clientX + window.scrollX;
+
+    // Save starting offset
+    offset = parseInt(divSizer.style.left, 10);
+
+    if(isNaN(offset))
+        offset = 0;
+
+    offset -= x;
+
+    if(isIE)
+    {
+        document.attachEvent("onmousemove", OnMouseMove);
+        document.attachEvent("onmouseup", OnMouseUp);
+        window.event.cancelBubble = true;
+        window.event.returnValue = false;
+    }
+    else
+    {
+        document.addEventListener("mousemove", OnMouseMove, true);
+        document.addEventListener("mouseup", OnMouseUp, true);
+        event.preventDefault();
+    }
+}
+
+// Resize the TOC and content divs as the sizer is dragged
+function OnMouseMove(event)
+{
+    var x, pos;
+
+    // Get cursor position with respect to the page
+    if(isIE)
+        x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
+    else
+        x = event.clientX + window.scrollX;
+
+    left = offset + x;
+
+    // Adjusts the width of the TOC divs
+    pos = (event.clientX > maxWidth) ? maxWidth : (event.clientX < minWidth) ? minWidth : event.clientX;
+
+    divTOC.style.width = divSearchResults.style.width = divIndexResults.style.width = divTree.style.width = pos;
+
+    if(!isIE)
+        pos -= 8;
+
+    divNavOpts.style.width = divSearchOpts.style.width = divIndexOpts.style.width = pos;
+
+    // Resize the content div to fit in the remaining space
+    ResizeContent();
+}
+
+// Finish the drag operation when the mouse button is released
+function OnMouseUp(event)
+{
+    if(isIE)
+    {
+        document.detachEvent("onmousemove", OnMouseMove);
+        document.detachEvent("onmouseup", OnMouseUp);
+    }
+    else
+    {
+        document.removeEventListener("mousemove", OnMouseMove, true);
+        document.removeEventListener("mouseup", OnMouseUp, true);
+    }
+
+    // Show the content div again
+    topicContent.style.display = "inline";
+}
+
+//============================================================================
+// Search code
+
+function ShowHideSearch(show)
+{
+    if(show)
+    {
+        divNavOpts.style.display = divTree.style.display = "none";
+        divSearchOpts.style.display = divSearchResults.style.display = "";
+    }
+    else
+    {
+        divSearchOpts.style.display = divSearchResults.style.display = "none";
+        divNavOpts.style.display = divTree.style.display = "";
+    }
+}
+
+// When enter is hit in the search text box, do the search
+function OnSearchTextKeyPress(evt)
+{
+    if(evt.keyCode == 13)
+    {
+        PerformSearch();
+        return false;
+    }
+
+    return true;
+}
+
+// Perform a keyword search
+function PerformSearch()
+{
+    var xmlHttp = GetXmlHttpRequest(), now = new Date();
+
+    if(xmlHttp == null)
+    {
+        divSearchResults.innerHTML = "<b>XML HTTP request not supported!</b>";
+        return;
+    }
+
+    divSearchResults.innerHTML = "<span class=\"PaddedText\">Searching...</span>";
+
+    // Add a unique hash to ensure it doesn't use cached results
+    xmlHttp.open("GET", "SearchHelp" + pageExtension + "?Keywords=" + txtSearchText.value +
+        "&SortByTitle=" + (chkSortByTitle.checked ? "true" : "false") +
+        "&hash=" + now.getTime(), true);
+
+    xmlHttp.onreadystatechange = function()
+    {
+        if(xmlHttp.readyState == 4)
+        {
+            divSearchResults.innerHTML = xmlHttp.responseText;
+
+            lastSearchNode = divSearchResults.childNodes[0].childNodes[1];
+
+            while(lastSearchNode != null && lastSearchNode.tagName != "A")
+                lastSearchNode = lastSearchNode.nextSibling;
+
+            if(lastSearchNode != null)
+            {
+                SelectSearchNode(lastSearchNode);
+                topicContent.src = lastSearchNode.href;
+            }
+        }
+    }
+
+    xmlHttp.send(null)
+}
+
+// Set the style of the specified search result node to "selected"
+function SelectSearchNode(node)
+{
+    if(lastSearchNode != null)
+        lastSearchNode.className = "UnselectedNode";
+
+    node.className = "SelectedNode";
+    lastSearchNode = node;
+
+    return true;
+}
+
+//============================================================================
+// KeyWordIndex code
+
+function ShowHideIndex(show)
+{
+    if(show)
+    {
+        PopulateIndex(currentIndexPage);
+
+        divNavOpts.style.display = divTree.style.display = "none";
+        divIndexOpts.style.display = divIndexResults.style.display = "";
+    }
+    else
+    {
+        divIndexOpts.style.display = divIndexResults.style.display = "none";
+        divNavOpts.style.display = divTree.style.display = "";
+    }
+}
+
+// Populate keyword index
+function PopulateIndex(startIndex)
+{
+    var xmlHttp = GetXmlHttpRequest(), now = new Date();
+    var firstNode;
+
+    if(xmlHttp == null)
+    {
+        divIndexResults.innerHTML = "<b>XML HTTP request not supported!</b>";
+        return;
+    }
+
+    divIndexResults.innerHTML = "<span class=\"PaddedText\">Loading keyword index...</span>";
+
+    // Add a unique hash to ensure it doesn't use cached results
+    xmlHttp.open("GET", "LoadIndexKeywords" + pageExtension + "?StartIndex=" + startIndex +
+      "&hash=" + now.getTime(), true);
+
+    xmlHttp.onreadystatechange = function()
+    {
+        if(xmlHttp.readyState == 4)
+        {
+            divIndexResults.innerHTML = xmlHttp.responseText;
+
+            if(startIndex > 0)
+            {
+                firstNode = divIndexResults.childNodes[1];
+
+                if(firstNode != null && !firstNode.innerHTML)
+                    firstNode = divIndexResults.childNodes[2];
+            }
+            else
+                firstNode = divIndexResults.childNodes[0];
+
+            if(firstNode != null)
+                lastIndexNode = firstNode.childNodes[0];
+
+            while(lastIndexNode != null && lastIndexNode.tagName != "A")
+                lastIndexNode = lastIndexNode.nextSibling;
+
+            if(lastIndexNode != null)
+            {
+                SelectIndexNode(lastIndexNode);
+                topicContent.src = lastIndexNode.href;
+            }
+
+            currentIndexPage = startIndex;
+        }
+    }
+
+    xmlHttp.send(null)
+}
+
+// Set the style of the specified keyword index node to "selected"
+function SelectIndexNode(node)
+{
+    if(lastIndexNode != null)
+        lastIndexNode.className = "UnselectedNode";
+
+    node.className = "SelectedNode";
+    lastIndexNode = node;
+
+    return true;
+}
+
+// Changes the current page with keyword index forward or backward
+function ChangeIndexPage(direction)
+{
+    PopulateIndex(currentIndexPage + direction);
+
+    return false;
+}
+
+// Show a direct link to the currently displayed topic
+function ShowDirectLink()
+{
+    var url = GetCurrentUrl();
+    var base = window.location.href;
+
+    if(base.indexOf("?") > 0)
+        base = base.substr(0, base.indexOf("?") + 1);
+
+    base = base.substr(0, base.lastIndexOf("/") + 1);
+
+    var relative = url.substr(base.length);
+
+    // Using prompt lets the user copy it from the text box
+    prompt("Direct link", base + "?topic=" + relative);
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Web.Config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Web.Config
new file mode 100644
index 0000000000000000000000000000000000000000..f0f3e6cb69cb213a726d4bfad9aa32c99abb7eeb
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/Web.Config
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
+	<system.web>
+		<customErrors mode="On" defaultRedirect="~/html/GeneralError.htm">
+			<error statusCode="404" redirect="~/html/PageNotFound.htm" />
+		</customErrors>
+		<compilation debug="false">
+			<assemblies>
+				<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+			</assemblies>
+		</compilation>
+		<pages>
+			<namespaces>
+				<add namespace="System"/>
+				<add namespace="System.Collections.Generic"/>
+				<add namespace="System.Globalization"/>
+				<add namespace="System.IO"/>
+				<add namespace="System.Text"/>
+				<add namespace="System.Text.RegularExpressions"/>
+				<add namespace="System.Web"/>
+				<add namespace="System.Web.Script.Serialization"/>
+				<add namespace="System.Web.UI"/>
+				<add namespace="System.Xml"/>
+				<add namespace="System.Xml.Serialization" />
+				<add namespace="System.Xml.XPath"/>
+			</namespaces>
+		</pages>
+	</system.web>
+	<appSettings>
+		<!-- Increase this value if you get an "Operation is not valid due to the current state of the object" error
+		     when using the search page. -->
+		<add key="aspnet:MaxJsonDeserializerMembers" value="100000" />
+	</appSettings>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/favicon.ico b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..2b9963f814281f0b1b7bb661be8d579191b59a42
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/favicon.ico differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/html/GeneralError.htm b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/html/GeneralError.htm
new file mode 100644
index 0000000000000000000000000000000000000000..a47b756e7e0160ed0ac762a16ee3d7fee95677b2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/html/GeneralError.htm
@@ -0,0 +1,24 @@
+<html>
+<head>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+	<link rel="shortcut icon" href="../icons/favicon.ico" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding.css" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" />
+	<script type="text/javascript" src="../scripts/branding.js"> </script>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<title>General Error</title>
+	<meta name="Language" content="en-us" />
+	<meta name="Description" content="A general error has occurred" />
+	<script type="text/javascript" src="../scripts/clipboard.min.js"></script>
+</head>
+<body">
+	<div style="padding: 20px;">
+		<p>
+			<span class="introStyle">{@HtmlEncProductTitle}</span>
+		</p>
+
+		<h1>We're sorry, a general error has occurred.</h1>
+		<p>Please try to load the page again.  If the error persists, please contact the site administrator.</p>
+	</div>
+</body>
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/html/PageNotFound.htm b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/html/PageNotFound.htm
new file mode 100644
index 0000000000000000000000000000000000000000..e9825424a08a84940bd33a17e54d66a3cb828781
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/html/PageNotFound.htm
@@ -0,0 +1,25 @@
+<html>
+<head>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+	<link rel="shortcut icon" href="../icons/favicon.ico" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding.css" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" />
+	<script type="text/javascript" src="../scripts/branding.js"> </script>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<title>Page Not Found</title>
+	<meta name="Language" content="en-us" />
+	<meta name="Description" content="The requested page was not found" />
+	<script type="text/javascript" src="../scripts/clipboard.min.js"></script>
+</head>
+<body">
+	<div style="padding: 20px;">
+		<p>
+			<span class="introStyle">{@HtmlEncProductTitle}</span>
+		</p>
+
+		<h1>We're sorry, the page you requested cannot be found.</h1>
+		<p>The URL might be misspelled or the page you are looking for is no longer available.  If you entered
+the web address, check that it doesn't contain a typo.</p>
+	</div>
+</body>
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/index.html b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..78440bcbfcb5adf0f44542703f40a426a190515c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/index.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<title>{@HtmlEncHelpTitle} - Table of Content</title>
+<link rel="stylesheet" href="TOC.css">
+<link rel="shortcut icon" href="favicon.ico"/>
+<script type="text/javascript" src="TOC.js"></script>
+</head>
+
+<body onload="javascript: Initialize('.aspx');" onresize="javascript: ResizeTree();">
+<form id="IndexForm" runat="server">
+
+<div id="TOCDiv" class="TOCDiv">
+
+<div id="divSearchOpts" class="SearchOpts" style="height: 100px; display: none;">
+<img class="TOCLink" onclick="javascript: ShowHideSearch(false);"
+    src="CloseSearch.png" height="16" width="16" alt="Hide search" style="float: right;"/>
+Keyword(s) for which to search:
+<input id="txtSearchText" type="text" style="width: 100%;"
+  onkeypress="javascript: return OnSearchTextKeyPress(event);" /><br />
+<input id="chkSortByTitle" type="checkbox" /><label for="chkSortByTitle">&nbsp;Sort results by title</label><br />
+<input type="button" value="Search" onclick="javascript: return PerformSearch();" />
+</div>
+
+<div id="divIndexOpts" class="IndexOpts" style="height: 25px; display: none;">
+<img class="TOCLink" onclick="javascript: ShowHideIndex(false);"
+    src="CloseSearch.png" height="17" width="17" alt="Hide index" style="float: right;"/>
+Keyword Index
+</div>
+
+<div id="divNavOpts" class="NavOpts" style="height: 20px;">
+    <img class="TOCLink" onclick="javascript: SyncTOC();" src="SyncTOC.gif"
+        height="16" width="16" alt="Sync to TOC"/>
+    <img class="TOCLink" onclick="javascript: ExpandOrCollapseAll(false);"
+        src="CollapseAll.png" height="16" width="16" alt="Collapse all" />
+    <a href="#" title="Click to obtain a direct link to the displayed topic"
+        style="margin-left: 10px; vertical-align: top;"
+        onclick="javascript: ShowDirectLink();">Direct Link</a>
+</div>
+
+<div class="Tree" id="divSearchResults" style="display: none;"
+    onselectstart="javascript: return false;">
+</div>
+
+<div class="Tree" id="divIndexResults" style="display: none;"
+    onselectstart="javascript: return false;">
+</div>
+
+<div class="Tree" id="divTree" onselectstart="javascript: return false;">
+{@HtmlTOC}
+</div>
+
+</div>
+
+<div id="TOCSizer" class="TOCSizer" onmousedown="OnMouseDown(event)" onselectstart="javascript: return false;"></div>
+
+<iframe id="TopicContent" name="TopicContent" class="TopicContent" src="{@WebDefaultTopic}">
+This page uses an IFRAME but your browser does not support it.
+</iframe>
+
+</form>
+
+</body>
+
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/index.php b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/index.php
new file mode 100644
index 0000000000000000000000000000000000000000..ba39e1e7deb7468aa3c16ac1df6d987fb88fa795
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/index.php
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+<title>{@HtmlEncHelpTitle} - Table of Content</title>
+<link rel="stylesheet" href="TOC.css">
+<link rel="shortcut icon" href="favicon.ico"/>
+<script type="text/javascript" src="TOC.js"></script>
+</head>
+
+<body onload="javascript: Initialize('.php');" onresize="javascript: ResizeTree();">
+<form id="IndexForm" runat="server">
+
+<div id="TOCDiv" class="TOCDiv">
+
+<div id="divSearchOpts" class="SearchOpts" style="height: 100px; display: none;">
+<img class="TOCLink" onclick="javascript: ShowHideSearch(false);"
+    src="CloseSearch.png" height="17" width="17" alt="Hide search" style="float: right;"/>
+Keyword(s) for which to search:
+<input id="txtSearchText" type="text" style="width: 100%;"
+  onkeypress="javascript: return OnSearchTextKeyPress(event);" /><br />
+<input id="chkSortByTitle" type="checkbox" /><label for="chkSortByTitle">&nbsp;Sort results by title</label><br />
+<input type="button" value="Search" onclick="javascript: return PerformSearch();" />
+</div>
+
+<div id="divIndexOpts" class="IndexOpts" style="height: 25px; display: none;">
+<img class="TOCLink" onclick="javascript: ShowHideIndex(false);"
+    src="CloseSearch.png" height="17" width="17" alt="Hide index" style="float: right;"/>
+Keyword Index
+</div>
+
+<div id="divNavOpts" class="NavOpts" style="height: 20px;">
+    <img class="TOCLink" onclick="javascript: SyncTOC();" src="SyncTOC.gif"
+        height="16" width="16" alt="Sync to TOC"/>
+    <img class="TOCLink" onclick="javascript: ExpandOrCollapseAll(false);"
+        src="CollapseAll.png" height="16" width="16" alt="Collapse all" />
+    <img class="TOCLink" onclick="javascript: ShowHideIndex(true);"
+        src="Index.gif" height="16" width="16" alt="Index" />
+    <img class="TOCLink" onclick="javascript: ShowHideSearch(true);"
+        src="Search.gif" height="16" width="16" alt="Search" />
+    <a href="#" title="Click to obtain a direct link to the displayed topic"
+        style="margin-left: 10px; vertical-align: top;"
+        onclick="javascript: ShowDirectLink();">Direct Link</a>
+</div>
+
+<div class="Tree" id="divSearchResults" style="display: none;"
+    onselectstart="javascript: return false;">
+</div>
+
+<div class="Tree" id="divIndexResults" style="display: none;"
+    onselectstart="javascript: return false;">
+</div>
+
+<div class="Tree" id="divTree" onselectstart="javascript: return false;">
+<?
+$toc = new DOMDocument();
+$toc->load('WebTOC.xml');
+$xpath = new DOMXPath($toc);
+$nodes = $xpath->query("/HelpTOC/*");
+foreach($nodes as $node)
+{
+    $id = $node->getAttribute("Id");
+    $url = $node->getAttribute("Url");
+    $title = $node->getAttribute("Title");
+    if (empty($url))
+    {
+        $url = "#";
+        $target = "";
+    }
+    else
+    {
+        $target = " target=\"TopicContent\"";
+    }
+
+    if ($node->hasChildNodes())
+    {
+?>
+        <div class="TreeNode">
+            <img class="TreeNodeImg" onclick="javascript: Toggle(this);" src="Collapsed.gif"/>
+            <a class="UnselectedNode" onclick="javascript: Expand(this);" href="<?= $url ?>"<?= $target ?>><?= $title ?></a>
+            <div id="<?= $id ?>" class="Hidden"></div>
+        </div>
+<?
+    }
+    else
+    {
+?>
+        <div class="TreeItem">
+            <img src="Item.gif"/>
+            <a class="UnselectedNode" onclick="javascript: SelectNode(this);" href="<?= $url ?>"<?= $target ?>><?= $title ?></a>
+        </div>
+<?
+    }
+}
+?>
+</div>
+
+</div>
+
+<div id="TOCSizer" class="TOCSizer" onmousedown="OnMouseDown(event)" onselectstart="javascript: return false;"></div>
+
+<iframe id="TopicContent" name="TopicContent" class="TopicContent" src="{@WebDefaultTopic}">
+This page uses an IFRAME but your browser does not support it.
+</iframe>
+
+</form>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/scripts/clipboard.min.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/scripts/clipboard.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..580433f1d89c0fc01c75c7e9ae2131deaacfdfcf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/Web/scripts/clipboard.min.js
@@ -0,0 +1,7 @@
+/*!
+ * clipboard.js v1.5.12
+ * https://zenorocha.github.io/clipboard.js
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(r)return r(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n?n:t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(t,e,n){var o=t("matches-selector");e.exports=function(t,e,n){for(var i=n?t:t.parentNode;i&&i!==document;){if(o(i,e))return i;i=i.parentNode}}},{"matches-selector":5}],2:[function(t,e,n){function o(t,e,n,o,r){var a=i.apply(this,arguments);return t.addEventListener(n,a,r),{destroy:function(){t.removeEventListener(n,a,r)}}}function i(t,e,n,o){return function(n){n.delegateTarget=r(n.target,e,!0),n.delegateTarget&&o.call(t,n)}}var r=t("closest");e.exports=o},{closest:1}],3:[function(t,e,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],4:[function(t,e,n){function o(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return i(t,e,n);if(c.nodeList(t))return r(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function r(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return s(document.body,t,e,n)}var c=t("./is"),s=t("delegate");e.exports=o},{"./is":3,delegate:2}],5:[function(t,e,n){function o(t,e){if(r)return r.call(t,e);for(var n=t.parentNode.querySelectorAll(e),o=0;o<n.length;++o)if(n[o]==t)return!0;return!1}var i=Element.prototype,r=i.matchesSelector||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector;e.exports=o},{}],6:[function(t,e,n){function o(t){var e;if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.focus(),t.setSelectionRange(0,t.value.length),e=t.value;else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),o=document.createRange();o.selectNodeContents(t),n.removeAllRanges(),n.addRange(o),e=n.toString()}return e}e.exports=o},{}],7:[function(t,e,n){function o(){}o.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function o(){i.off(t,o),e.apply(n,arguments)}var i=this;return o._=e,this.on(t,o,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;for(o;i>o;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,a=o.length;a>r;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},e.exports=o},{}],8:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","select"],r);else if("undefined"!=typeof o)r(n,e("select"));else{var a={exports:{}};r(a,i.select),i.clipboardAction=a.exports}}(this,function(t,e){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=n(e),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),c=function(){function t(e){o(this,t),this.resolveOptions(e),this.initSelection()}return t.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},t.prototype.initSelection=function t(){this.text?this.selectFake():this.target&&this.selectTarget()},t.prototype.selectFake=function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px",this.fakeElem.style.top=(window.pageYOffset||document.documentElement.scrollTop)+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()},t.prototype.removeFake=function t(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},t.prototype.selectTarget=function t(){this.selectedText=(0,i.default)(this.target),this.copyText()},t.prototype.copyText=function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(n){e=!1}this.handleResult(e)},t.prototype.handleResult=function t(e){e?this.emitter.emit("success",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)}):this.emitter.emit("error",{action:this.action,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},t.prototype.clearSelection=function t(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},t.prototype.destroy=function t(){this.removeFake()},a(t,[{key:"action",set:function t(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==("undefined"==typeof e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=c})},{select:6}],9:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof o)r(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(t,e,n,o){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var l=i(e),u=i(n),f=i(o),d=function(t){function e(n,o){r(this,e);var i=a(this,t.call(this));return i.resolveOptions(o),i.listenClick(n),i}return c(e,t),e.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},e.prototype.listenClick=function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})},e.prototype.onClick=function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})},e.prototype.defaultAction=function t(e){return s("action",e)},e.prototype.defaultTarget=function t(e){var n=s("target",e);return n?document.querySelector(n):void 0},e.prototype.defaultText=function t(e){return s("text",e)},e.prototype.destroy=function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},e}(u.default);t.exports=d})},{"./clipboard-action":8,"good-listener":4,"tiny-emitter":7}]},{},[9])(9)});
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/CFW.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/CFW.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbcabf1b2d1322c6e205b1ff5f5ab17a4565522d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/CFW.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/CodeExample.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/CodeExample.png
new file mode 100644
index 0000000000000000000000000000000000000000..a3b9fba4cc5f29460d711dddb32b79b85783af9a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/CodeExample.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_caution.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_caution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a3139226d6d333a00a096d7e633d2973b44c7ed4
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_caution.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_note.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_note.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3393af356494b91fbbe6a6bc54591a05bca980f6
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_note.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_security.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_security.gif
new file mode 100644
index 0000000000000000000000000000000000000000..48661ce7426c682f97dc9b27f58d6ef3a7184e89
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/alert_security.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/favicon.ico b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..2b9963f814281f0b1b7bb661be8d579191b59a42
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/favicon.ico differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/footer_slice.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/footer_slice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c3e2da35a92ec9c1e629331f258ed7dc1dd61145
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/footer_slice.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0939694ce08ad44508f6f017b68e46f0f22377b9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3aa8a65ef5277c6682f106de956da036c50d363
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..47f387ec2bf4ca4d6b1381cbe8c843912b6c616a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30db46df766c1b49bf86b168eaae03052ce8f292
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..51dd267f0f7fa11a657ef51a69cb9159ced8775f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbf70f7a3fc3875ee62d9a4dacf3a088e60f2eff
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f3b7950adc741c7b4085da8ab52167435bec317c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71f882264291eb056bc55dce1c73f9b7cae1aa4a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1e8074654b3fc0601b0302f1be7b39f5bf5eb7b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed6d1ef68f8736e5c05137be2af0ff7714ddb85b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/privstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9294292a9b5f94a281de7657b5555d06bb4a96
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b209f2d816d78188dbcd93907917d7a0ef34eaa9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cc96bb635982abc9d306f219ebdd71d29f95757c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e510b272cfca80656561d1d699dc644a4bce266
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dcd07f5e1a673de3120e3f82e6f8c24f8bcd723b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ae6833e0821dae813c941500d1e12a88c7c334f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1b96d2c6a0b681cb6d65d30f8e212a3c2d29081
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bc946873495112cc5b27bf66ea0d10ca8f30367
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protoperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protoperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2cb75ab8b05d4b8d65401c5270ae31836ce04f9b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protoperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55473d16e1321bc3e4cbcb5a165f51a55f9f07a0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af356a1db0b8e8821d2f6c94734b98354875e85d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/protstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1a968ab633207f47ec5e3130ec676f0d43598bb0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a43eb261adccddee2206769150a9e2d964ed136
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..46888adef937f09868b1aff485010ad847625183
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9226da8b49c88296ed4a10835b0b69212431473
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6262d1cca8a4286063ae8f168488a1d7c8587dcc
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5aed17576f4493ccfdb12f7a8a55fa2cbd74041c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c38a4c46a9a7603bc498664c294c7c06a713e555
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2c72988f50ab32eba45ccf5e52b5807c4a7ffa1b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/puboperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/puboperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0ebe10a7ec532625741cc8668b1126f2553cdc9c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/puboperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dfad7b43006984b0d27846a9c6d23d9bfb94ec95
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1344416abc3801850d955fb78969243e32976d9d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/pubstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/slMobile.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/slMobile.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5edc31f94c61a7a50c3285ef00dcbe86e8690974
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/slMobile.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/static.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/static.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33723a92be0a7b2b9fc8057fb6f9a2a3ee729a7e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/static.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/tabLeftBG.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/tabLeftBG.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3920c9603c377a9d7ceff128ba30a0ef49ca7e8e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/tabLeftBG.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/tabRightBG.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/tabRightBG.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1ea10a83f2478819c4cf6eeb192ce58c04d51948
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/tabRightBG.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/xna.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/xna.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9e6a9d4bd9ecdc3baf35f6c5a0266e74229bd901
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/icons/xna.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/scripts/branding.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/scripts/branding.js
new file mode 100644
index 0000000000000000000000000000000000000000..f61f2aae4b91e6bc022caa201aac582cf4010d3e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/scripts/branding.js
@@ -0,0 +1,623 @@
+// The IDs of all code snippet sets on the same page are stored so that we can keep them in synch when a tab is
+// selected.
+var allTabSetIds = new Array();
+
+// The IDs of language-specific text (LST) spans are used as dictionary keys so that we can get access to the
+// spans and update them when the user changes to a different language tab.  The values of the dictionary
+// objects are pipe separated language-specific attributes (lang1=value|lang2=value|lang3=value).  The language
+// ID can be specific (cs, vb, cpp, etc.) or may be a neutral entry (nu) which specifies text common to multiple
+// languages.  If a language is not present and there is no neutral entry, the span is hidden for all languages
+// to which it does not apply.
+var allLSTSetIds = new Object();
+
+// Help 1 persistence support.  This code must appear inline.
+var isHelp1;
+
+var curLoc = document.location + ".";
+
+if(curLoc.indexOf("mk:@MSITStore") == 0)
+{
+    isHelp1 = true;
+    curLoc = "ms-its:" + curLoc.substring(14, curLoc.length - 1);
+    document.location.replace(curLoc);
+}
+else
+    if(curLoc.indexOf("ms-its:") == 0)
+        isHelp1 = true;
+    else
+        isHelp1 = false;
+
+// The OnLoad method
+function OnLoad(defaultLanguage)
+{
+    var defLang;
+
+    if(typeof(defaultLanguage) == "undefined" || defaultLanguage == null || defaultLanguage == "")
+        defLang = "vb";
+    else
+        defLang = defaultLanguage;
+
+    // This is a hack to fix the URLs for the background images on certain styles.  Help Viewer 1.0 doesn't
+    // mind if you put the relative URL in the styles for fix up later in script.  However, Help Viewer 2.0 will
+    // abort all processing and won't run any startup script if it sees an invalid URL in the style.  As such, we
+    // put a dummy attribute in the style to specify the image filename and use this code to get the URL from the
+    // Favorites icon and then substitute the background image icons in the URL and set it in each affected style.
+    // This works in either version of the help viewer.
+    var iconPath = undefined;
+
+    try
+    {
+        var linkEnum = document.getElementsByTagName("link");
+
+        for(var idx = 0; idx < linkEnum.length; idx++)
+        {
+            var link = linkEnum[idx];
+
+            if(link.rel.toLowerCase() == "shortcut icon")
+                iconPath = link.href.toString();
+        }
+    }
+    catch(e) { }
+    finally { }
+
+    if(iconPath)
+    {
+        try
+        {
+            var styleSheetEnum = document.styleSheets;
+
+            for(var idx = 0; idx < styleSheetEnum.length; idx++)
+            {
+                var styleSheet = styleSheetEnum[idx];
+
+                // Ignore sheets at ms-help URLs
+                if(styleSheet.href != null && styleSheet.href.substr(0, 8) == "ms-help:")
+                    continue;
+
+                // Ignore errors (Help Viewer 2).  styleSheet.rules is inaccessible due to security restrictions
+                // for all style sheets not defined within the page.
+                try
+                {
+                    // Get sheet rules
+                    var rules = styleSheet.rules;
+
+                    if(rules == null)
+                        rules = styleSheet.cssRules;
+
+                    if(rules != null)
+                        if(rules.length != 0)
+                            for(var ruleNdx = 0; ruleNdx != rules.length; ruleNdx++)
+                            {
+                                var rule = rules.item(ruleNdx);
+
+                                var selectorText = rule.selectorText.toLowerCase();
+
+                                // The selector text may show up grouped or individually for these
+                                if(selectorText == ".oh_codesnippetcontainertableftactive, .oh_codesnippetcontainertableft, .oh_codesnippetcontainertableftdisabled" ||
+                                  selectorText == ".oh_codesnippetcontainertableftactive" ||
+                                  selectorText == ".oh_codesnippetcontainertableft" ||
+                                  selectorText == ".oh_codesnippetcontainertableftdisabled")
+                                {
+                                    rule.style.backgroundImage = "url(" + iconPath.replace("favicon.ico", "tabLeftBG.gif") + ")";
+                                }
+
+                                if(selectorText == ".oh_codesnippetcontainertabrightactive, .oh_codesnippetcontainertabright, .oh_codesnippetcontainertabrightdisabled" ||
+                                  selectorText == ".oh_codesnippetcontainertabrightactive" ||
+                                  selectorText == ".oh_codesnippetcontainertabright" ||
+                                  selectorText == ".oh_codesnippetcontainertabrightdisabled")
+                                {
+                                    rule.style.backgroundImage = "url(" + iconPath.replace("favicon.ico", "tabRightBG.gif") + ")";
+                                }
+
+                                if(selectorText == ".oh_footer")
+                                {
+                                    rule.style.backgroundImage = "url(" + iconPath.replace("favicon.ico", "footer_slice.gif") + ")";
+                                }
+                            }
+                }
+                catch(e) { }
+                finally { }
+            }
+        }
+        catch(e) { }
+        finally { }
+    }
+
+    // In MS Help Viewer, the transform the topic is ran through can move the footer.  Move it back where it
+    // belongs if necessary.
+    try
+    {
+        var footer = document.getElementById("OH_footer")
+
+        if(footer)
+        {
+            var footerParent = document.body;
+
+            if(footer.parentElement != footerParent)
+            {
+                footer.parentElement.removeChild(footer);
+                footerParent.appendChild(footer);
+            }
+        }
+    }
+    catch(e) { }
+    finally { }
+
+    var language = GetLanguageCookie("CodeSnippetContainerLanguage", defLang);
+
+    // If LST exists on the page, set the LST to show the user selected programming language
+    UpdateLST(language);
+
+    // If code snippet groups exist, set the current language for them
+    if(allTabSetIds.length > 0)
+    {
+        var i = 0;
+
+        while(i < allTabSetIds.length)
+        {
+            var tabCount = 1;
+
+            // The tab count may vary so find the last one in this set
+            while(document.getElementById(allTabSetIds[i] + "_tab" + tabCount) != null)
+                tabCount++;
+
+            tabCount--;
+
+            // If not grouped, skip it
+            if(tabCount > 1)
+                SetCurrentLanguage(allTabSetIds[i], language, tabCount);
+
+            i++;
+        }
+    }
+}
+
+// This function executes in the OnLoad event and ChangeTab action on code snippets.  The function parameter
+// is the user chosen programming language.  This function iterates through the "allLSTSetIds" dictionary object
+// to update the node value of the LST span tag per the user's chosen programming language.
+function UpdateLST(language)
+{
+    for(var lstMember in allLSTSetIds)
+    {
+        var devLangSpan = document.getElementById(lstMember);
+
+        if(devLangSpan != null)
+        {
+            // There may be a carriage return before the LST span in the content so the replace function below
+            // is used to trim the whitespace at the end of the previous node of the current LST node.
+            if(devLangSpan.previousSibling != null && devLangSpan.previousSibling.nodeValue != null)
+                devLangSpan.previousSibling.nodeValue = devLangSpan.previousSibling.nodeValue.replace(/\s+$/, "");
+
+            var langs = allLSTSetIds[lstMember].split("|");
+            var k = 0;
+            var keyValue;
+
+            while(k < langs.length)
+            {
+                keyValue = langs[k].split("=");
+
+                if(keyValue[0] == language)
+                {
+                    devLangSpan.innerHTML = keyValue[1];
+
+                    // Help 1 and MS Help Viewer workaround.  Add a space if the following text element starts
+                    // with a space to prevent things running together.
+                    if(devLangSpan.parentNode != null && devLangSpan.parentNode.nextSibling != null)
+                    {
+                        if(devLangSpan.parentNode.nextSibling.nodeValue != null &&
+                          !devLangSpan.parentNode.nextSibling.nodeValue.substring(0, 1).match(/[.,);:!/?]/) &&
+                          (isHelp1 || devLangSpan.innerHTML == '&gt;' || devLangSpan.innerHTML == ')'))
+                        {
+                            devLangSpan.innerHTML = keyValue[1] + " ";
+                        }
+                    }
+                    break;
+                }
+
+                k++;
+            }
+
+            // If not found, default to the neutral language.  If there is no neutral language entry, clear the
+            // content to hide it.
+            if(k >= langs.length)
+            {
+                if(language != "nu")
+                {
+                    k = 0;
+
+                    while(k < langs.length)
+                    {
+                        keyValue = langs[k].split("=");
+
+                        if(keyValue[0] == "nu")
+                        {
+                            devLangSpan.innerHTML = keyValue[1];
+
+                            // Help 1 and MS Help Viewer workaround.  Add a space if the following text element
+                            // starts with a space to prevent things running together.
+                            if(devLangSpan.parentNode != null && devLangSpan.parentNode.nextSibling != null)
+                            {
+                                if(devLangSpan.parentNode.nextSibling.nodeValue != null &&
+                                  !devLangSpan.parentNode.nextSibling.nodeValue.substring(0, 1).match(/[.,);:!/?]/) &&
+                                  (isHelp1 || devLangSpan.innerHTML == '&gt;' || devLangSpan.innerHTML == ')'))
+                                {
+                                    devLangSpan.innerHTML = keyValue[1] + " ";
+                                }
+                            }
+                            break;
+                        }
+
+                        k++;
+                    }
+                }
+
+                if(k >= langs.length)
+                    devLangSpan.innerHTML = "";
+            }
+        }
+    }
+}
+
+// Get the selected language cookie
+function GetLanguageCookie(cookieName, defaultValue)
+{
+    if(isHelp1)
+    {
+        try
+        {
+            var globals = Help1Globals;
+
+            var value = globals.Load(cookieName);
+
+            if(value == null)
+                value = defaultValue;
+
+            return value;
+        }
+        catch(e)
+        {
+            return defaultValue;
+        }
+    }
+
+    var cookie = document.cookie.split("; ");
+
+    for(var i = 0; i < cookie.length; i++)
+    {
+        var crumb = cookie[i].split("=");
+
+        if(cookieName == crumb[0])
+            return unescape(crumb[1])
+    }
+
+    return defaultValue;
+}
+
+// Set the selected language cookie
+function SetLanguageCookie(name, value)
+{
+    if(isHelp1)
+    {
+        try
+        {
+            var globals = Help1Globals;
+
+            globals.Save(name, value);
+        }
+        catch(e)
+        {
+        }
+
+        return;
+    }
+
+    var today = new Date();
+
+    today.setTime(today.getTime());
+
+    // Set the expiration time to be 60 days from now (in milliseconds)
+    var expires_date = new Date(today.getTime() + (60 * 1000 * 60 * 60 * 24));
+
+    document.cookie = name + "=" + escape(value) + ";expires=" + expires_date.toGMTString() + ";path=/";
+}
+
+// Add a language-specific text ID
+function AddLanguageSpecificTextSet(lstId)
+{
+    var keyValue = lstId.split("?")
+
+    allLSTSetIds[keyValue[0]] = keyValue[1];
+}
+
+var clipboardHandler;
+
+// Add a language tab set ID
+function AddLanguageTabSet(tabSetId)
+{
+    allTabSetIds.push(tabSetId);
+
+    // Create the clipboard handler on first use
+    if(clipboardHandler == null && typeof (Clipboard) == "function")
+    {
+        clipboardHandler = new Clipboard('.OH_copyCodeSnippet',
+        {
+            text: function (trigger)
+            {
+                // Get the code to copy to the clipboard from the active tab of the given tab set
+                var i = 1, tabSetId = trigger.id;
+                var pos = tabSetId.indexOf('_');
+
+                if(pos == -1)
+                    return "";
+
+                tabSetId = tabSetId.substring(0, pos);
+
+                do
+                {
+                    contentId = tabSetId + "_code_Div" + i;
+                    tabTemp = document.getElementById(contentId);
+
+                    if(tabTemp != null && tabTemp.style.display != "none")
+                        break;
+
+                    i++;
+
+                } while(tabTemp != null);
+
+                if(tabTemp == null)
+                    return "";
+
+                return document.getElementById(contentId).innerText;
+            }
+        });
+    }
+}
+
+// Switch the active tab for all of other code snippets
+function ChangeTab(tabSetId, language, snippetIdx, snippetCount)
+{
+    SetLanguageCookie("CodeSnippetContainerLanguage", language);
+
+    SetActiveTab(tabSetId, snippetIdx, snippetCount);
+
+    // If LST exists on the page, set the LST to show the user selected programming language
+    UpdateLST(language);
+
+    var i = 0;
+
+    while(i < allTabSetIds.length)
+    {
+        // We just care about other snippets
+        if(allTabSetIds[i] != tabSetId)
+        {
+            // Other tab sets may not have the same number of tabs
+            var tabCount = 1;
+
+            while(document.getElementById(allTabSetIds[i] + "_tab" + tabCount) != null)
+                tabCount++;
+
+            tabCount--;
+
+            // If not grouped, skip it
+            if(tabCount > 1)
+                SetCurrentLanguage(allTabSetIds[i], language, tabCount);
+        }
+
+        i++;
+    }
+}
+
+// Sets the current language in the specified tab set
+function SetCurrentLanguage(tabSetId, language, tabCount)
+{
+    var tabIndex = 1;
+
+    while(tabIndex <= tabCount)
+    {
+        var tabTemp = document.getElementById(tabSetId + "_tab" + tabIndex);
+
+        if(tabTemp != null && tabTemp.innerHTML.indexOf("'" + language + "'") != -1)
+            break;
+
+        tabIndex++;
+    }
+
+    if(tabIndex > tabCount)
+    {
+        // Select the first non-disabled tab
+        tabIndex = 1;
+
+        if(document.getElementById(tabSetId + "_tab1").className.indexOf("OH_CodeSnippetContainerTabDisabled") != -1)
+        {
+            tabIndex++;
+
+            while(tabIndex <= tabCount)
+            {
+                var tab = document.getElementById(tabSetId + "_tab" + tabIndex);
+
+                if(tab.className.indexOf("OH_CodeSnippetContainerTabDisabled") == -1)
+                {
+                    tab.className = "OH_CodeSnippetContainerTabActiveNotFirst";
+                    document.getElementById(tabSetId + "_code_Div" + j).style.display = "block";
+                    break;
+                }
+
+                tabIndex++;
+            }
+
+            // Disable left most image if first tab is disabled
+            document.getElementById(tabSetId + "_tabimgleft").className = "OH_CodeSnippetContainerTabLeftDisabled";
+        }
+    }
+
+    SetActiveTab(tabSetId, tabIndex, tabCount);
+
+    // Disable right most image if last tab is disabled
+    if(document.getElementById(tabSetId + "_tab" + tabCount).className.indexOf("OH_CodeSnippetContainerTabDisabled") != -1)
+        document.getElementById(tabSetId + "_tabimgright").className = "OH_CodeSnippetContainerTabRightDisabled";
+}
+
+// Set the active tab within a tab set
+function SetActiveTab(tabSetId, tabIndex, tabCount)
+{
+    var i = 1;
+
+    while(i <= tabCount)
+    {
+        var tabTemp = document.getElementById(tabSetId + "_tab" + i);
+
+        if(tabTemp.className == "OH_CodeSnippetContainerTabActive")
+            tabTemp.className = "OH_CodeSnippetContainerTabFirst";
+        else
+            if(tabTemp.className == "OH_CodeSnippetContainerTabActiveNotFirst")
+                tabTemp.className = "OH_CodeSnippetContainerTab";
+            else
+                if(tabTemp.className.indexOf("OH_CodeSnippetContainerTabDisabled") != -1)
+                {
+                    tabTemp.firstChild.style.color = "#a8a8a8";
+                    tabTemp.firstChild.style.fontWeight = "normal";
+                }
+
+        var codeTemp = document.getElementById(tabSetId + "_code_Div" + i);
+
+        if(codeTemp.style.display != "none")
+            codeTemp.style.display = "none";
+
+        i++;
+    }
+
+    if(document.getElementById(tabSetId + "_tab" + tabIndex).className.indexOf("OH_CodeSnippetContainerTabDisabled") == -1)
+    {
+        if(tabIndex == 1)
+            document.getElementById(tabSetId + "_tab" + tabIndex).className = "OH_CodeSnippetContainerTabActive";
+        else
+            document.getElementById(tabSetId + "_tab" + tabIndex).className = "OH_CodeSnippetContainerTabActiveNotFirst";
+    }
+    else
+    {
+        document.getElementById(tabSetId + "_tab" + tabIndex).firstChild.style.color = "black";
+        document.getElementById(tabSetId + "_tab" + tabIndex).firstChild.style.fontWeight = "bold";
+    }
+
+    document.getElementById(tabSetId + "_code_Div" + tabIndex).style.display = "block";
+
+    // Change the CSS of the first/last image div according the currently selected tab
+    if(tabIndex == 1 && document.getElementById(tabSetId + "_tab" + tabIndex).className.indexOf("OH_CodeSnippetContainerTabDisabled") == -1)
+        document.getElementById(tabSetId + "_tabimgleft").className = "OH_CodeSnippetContainerTabLeftActive";
+    else
+        if(document.getElementById(tabSetId + "_tabimgleft").className != "OH_CodeSnippetContainerTabLeftDisabled")
+            document.getElementById(tabSetId + "_tabimgleft").className = "OH_CodeSnippetContainerTabLeft";
+
+    if(tabIndex == tabCount && document.getElementById(tabSetId + "_tab" + tabIndex).className.indexOf("OH_CodeSnippetContainerTabDisabled") == -1)
+        document.getElementById(tabSetId + "_tabimgright").className = "OH_CodeSnippetContainerTabRightActive";
+    else
+        if(document.getElementById(tabSetId + "_tabimgright").className != "OH_CodeSnippetContainerTabRightDisabled")
+            document.getElementById(tabSetId + "_tabimgright").className = "OH_CodeSnippetContainerTabRight";
+}
+
+// Copy the code from the active tab of the given tab set to the clipboard
+function CopyToClipboard(tabSetId)
+{
+    var tabTemp, contentId;
+    var i = 1;
+
+    if(typeof (Clipboard) == "function")
+        return;
+
+    do
+    {
+        contentId = tabSetId + "_code_Div" + i;
+        tabTemp = document.getElementById(contentId);
+
+        if(tabTemp != null && tabTemp.style.display != "none")
+            break;
+
+        i++;
+
+    } while(tabTemp != null);
+
+    if(tabTemp == null)
+        return;
+
+    if(window.clipboardData)
+    {
+        try
+        {
+            window.clipboardData.setData("Text", document.getElementById(contentId).innerText);
+        }
+        catch(e)
+        {
+            alert("Permission denied. Enable copying to the clipboard.");
+        }
+    }
+    else if(window.netscape)
+    {
+        try
+        {
+            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+            var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(
+                Components.interfaces.nsIClipboard);
+
+            if(!clip)
+                return;
+
+            var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(
+                Components.interfaces.nsITransferable);
+
+            if(!trans)
+                return;
+
+            trans.addDataFlavor("text/unicode");
+
+            var str = new Object();
+            var len = new Object();
+            var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(
+                Components.interfaces.nsISupportsString);
+
+            var copytext = document.getElementById(contentId).textContent;
+
+            str.data = copytext;
+            trans.setTransferData("text/unicode", str, copytext.length * 2);
+
+            var clipid = Components.interfaces.nsIClipboard;
+
+            clip.setData(trans, null, clipid.kGlobalClipboard);
+        }
+        catch(e)
+        {
+            alert("Permission denied. Enter \"about:config\" in the address bar and double-click the \"signed.applets.codebase_principal_support\" setting to enable copying to the clipboard.");
+        }
+    }
+}
+
+// Help 1 persistence object.  This requires a hidden input element on the page with a class of "userDataStyle"
+// defined in the style sheet that implements the user data binary behavior:
+// <input type="hidden" id="userDataCache" class="userDataStyle" />
+var Help1Globals =
+{
+    UserDataCache: function()
+    {
+        var userData = document.getElementById("userDataCache");
+
+        return userData;
+    },
+
+    Load: function(key)
+    {
+        var userData = this.UserDataCache();
+
+        userData.load("userDataSettings");
+
+        var value = userData.getAttribute(key);
+
+        return value;
+    },
+
+    Save: function(key, value)
+    {
+        var userData = this.UserDataCache();
+        userData.setAttribute(key, value);
+        userData.save("userDataSettings");
+    }
+};
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-Help1.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-Help1.css
new file mode 100644
index 0000000000000000000000000000000000000000..5b6544e538eaf058aa991b81cc2bb2f53fcdbc25
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-Help1.css
@@ -0,0 +1,14 @@
+/* Define the userData cache persistence mechanism for Help 1 files */
+.userDataStyle {
+	behavior: url(#default#userdata);
+}
+
+/* Style adjustments for Help 1*/
+.OH_outerContent {
+	/* _width is some sort of hack for IE6 and earlier.  It does prevent a problem with the tabs shifting
+	   oddly in some cases in Help 1 files.  (i.e. the syntax section grows because it contains more lines) */
+	_width: 99.9%;
+}
+.OH_CodeSnippetToolBarText {
+	top: -14px;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-HelpViewer.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-HelpViewer.css
new file mode 100644
index 0000000000000000000000000000000000000000..26e3b673d01b37ad85b4579b31cd5b1921fa22cc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-HelpViewer.css
@@ -0,0 +1,8 @@
+/* Style adjustments for Help Viewer */
+.OH_CodeSnippetToolBarText {
+	top: -10px;
+}
+span.keyword {
+	color: #0000ff;
+	font-weight: normal;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-cs-CZ.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-cs-CZ.css
new file mode 100644
index 0000000000000000000000000000000000000000..f38de74970c9a4e61c8f4c5c480e35e88a1ae741
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-cs-CZ.css
@@ -0,0 +1,3 @@
+/* Start CS-CZ locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-de-DE.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-de-DE.css
new file mode 100644
index 0000000000000000000000000000000000000000..4cf80baddae913d710761bf77e8743d87bbb10e7
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-de-DE.css
@@ -0,0 +1,3 @@
+/* Start DE-DE locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-en-US.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-en-US.css
new file mode 100644
index 0000000000000000000000000000000000000000..248cbe5a2a4e42b5ab17c8ef49204fa1132d0594
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-en-US.css
@@ -0,0 +1,3 @@
+/* Start EN-US locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-es-ES.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-es-ES.css
new file mode 100644
index 0000000000000000000000000000000000000000..4a7ebbd68dcae7ca7830e16334218ffbe5bcf106
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-es-ES.css
@@ -0,0 +1,3 @@
+/* Start ES-ES locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-fr-FR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-fr-FR.css
new file mode 100644
index 0000000000000000000000000000000000000000..d924dec965412caef7d0c45410bb6321f42194dc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-fr-FR.css
@@ -0,0 +1,3 @@
+/* Start FR-FR locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-it-IT.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-it-IT.css
new file mode 100644
index 0000000000000000000000000000000000000000..36c6b224fb17dec7ad1b98fcb066de07e03c9617
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-it-IT.css
@@ -0,0 +1,3 @@
+/* Start IT-IT locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ja-JP.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ja-JP.css
new file mode 100644
index 0000000000000000000000000000000000000000..403aa6ddf8fe18796a08a666298a062f1d8fe494
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ja-JP.css
@@ -0,0 +1,18 @@
+/* Start JA-JP locale-specific CSS */
+body
+{
+	font-family: Segoe UI, Verdana, Arial, MS Pゴシック;
+}
+pre
+{
+  font-family: Consolas, Courier, monospace, MS ゴシック;
+}
+span.tt
+{
+  font-family: Consolas, Courier, monospace, MS ゴシック;
+}
+span.code
+{
+	font-family: Consolas, Courier, monospace, MS ゴシック;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ko-KR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ko-KR.css
new file mode 100644
index 0000000000000000000000000000000000000000..2b46e923efb5e004cbfc739dd45045ed826fa516
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ko-KR.css
@@ -0,0 +1,19 @@
+/* Start KO-KR locale-specific CSS */
+body
+{
+	font-family: Malgun Gothic, Segoe UI, Verdana, Arial;
+	font-size: 0.75em; /*9pt*/
+}
+pre
+{
+  font-family: Consolas, Courier, monospace, 돋움체;
+}
+span.tt
+{
+  font-family: Consolas, Courier, monospace, 돋움체;
+}
+span.code
+{
+	font-family: Consolas, Courier, monospace, 돋움체;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-pl-PL.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-pl-PL.css
new file mode 100644
index 0000000000000000000000000000000000000000..19e981032d452885746a8da942fbe19f4a5273fe
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-pl-PL.css
@@ -0,0 +1,3 @@
+/* Start PL-PL locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-pt-BR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-pt-BR.css
new file mode 100644
index 0000000000000000000000000000000000000000..a0683b0ef20d622972c7ffd74d3c623eb1f7a738
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-pt-BR.css
@@ -0,0 +1,3 @@
+/* Start PT-BR locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ru-RU.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ru-RU.css
new file mode 100644
index 0000000000000000000000000000000000000000..c31f83a44bcb22fae293bad0c7ddd4ef2c5d2324
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-ru-RU.css
@@ -0,0 +1,3 @@
+/* Start RU-RU locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-tr-TR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-tr-TR.css
new file mode 100644
index 0000000000000000000000000000000000000000..81ca462ef7ce46e6980a65547b9c24ffeafccd3a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-tr-TR.css
@@ -0,0 +1,3 @@
+/* Start TR-TR locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-zh-CN.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-zh-CN.css
new file mode 100644
index 0000000000000000000000000000000000000000..87e7090d7c5d04e87c2c5df7378d57938bf69147
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-zh-CN.css
@@ -0,0 +1,18 @@
+/* Start ZH-CN locale-specific CSS */
+body
+{
+    font-family: "Microsoft YaHei UI","Microsoft YaHei","SimSun","Segoe UI","Lucida Grande",Verdana,Arial,Helvetica,sans-serif
+}
+pre
+{
+    font-family: Consolas, Courier, monospace!important;
+}
+span.tt
+{
+    font-family: Consolas, Courier, monospace;
+}
+span.code
+{
+    font-family: Consolas, Courier, monospace;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-zh-TW.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-zh-TW.css
new file mode 100644
index 0000000000000000000000000000000000000000..eab654f8c5ef820463c73b934929ecec221ac2a2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding-zh-TW.css
@@ -0,0 +1,18 @@
+/* Start ZH-TW locale-specific CSS */
+body
+{
+	font-family: MS JhengHei, MingLiU, Segoe UI, Verdana, Arial;
+}
+pre
+{
+  font-family: Consolas, Courier, monospace, 細明體;
+}
+span.tt
+{
+  font-family: Consolas, Courier, monospace, 細明體;
+}
+span.code
+{
+	font-family: Consolas, Courier, monospace, 細明體;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding.css
new file mode 100644
index 0000000000000000000000000000000000000000..c0e27f793ca572e08324a929b53297cf94820eb8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2010/styles/branding.css
@@ -0,0 +1,803 @@
+body {
+	font-family: Segoe UI, Verdana, Arial;
+	font-size: 0.85em; /*10pt*/
+	color: #000;
+	margin: 0px;
+	padding: 0px 0px 0px 5px;
+	min-width: 600px;
+	background-color: #fff;
+}
+
+a {
+	color: #1364c4;
+	text-decoration: none;
+}
+
+a:link {
+	color: #1364c4;
+}
+a:visited {
+	color: #960bb4;
+}
+
+a:hover, a:active {
+	color: #960bb4;
+}
+
+a img {
+	border: none;
+}
+
+a.button, a.button:active, a.button:hover {
+    float: right;
+	background-color: #0080c0;
+    color: white;
+    padding: 6px 12px;
+    font-size: 14px;
+    border: 1px solid transparent;
+    border-radius: 4px;
+	margin-left: 6px;
+	margin-top: 6px;
+}
+
+a.button:link, a.button:visited {
+    color: white;
+}
+
+pre {
+	font-family: Consolas, Courier, monospace;
+	overflow: hidden;
+}
+
+div.OH_outerContent table {
+	width: 100%;
+	border-collapse: collapse;
+	border-color: #bbb;
+	border-width: 1px;
+	border-style: solid;
+}
+
+div.OH_outerContent table th {
+	border-color: #bbb;
+	border-width: 1px;
+	border-style: solid;
+	height: 21px;
+	text-align: left;
+	color: #000;
+	padding: 4px;
+	font-style: normal;
+	font-weight: bold;
+	background-color: rgb(229,229,229);
+}
+
+div.OH_outerContent table td {
+	border-color: #bbb;
+	border-width: 1px;
+	border-style: solid;
+	margin: 1px;
+}
+
+div.OH_outerContent table.TitleTable {
+	width: 100%;
+	border-collapse: collapse;
+	border-width: 0px;
+}
+
+div.OH_outerContent table.TitleTable td {
+	border-width: 0px;
+}
+
+.OH_tdTitleColumn {
+	padding: 0px;
+	padding-left: 10px;
+	text-align: left;
+}
+
+.OH_tdRunningTitleColumn {
+	padding: 0px;
+	padding-top: 11px;
+	padding-right: 13px;
+	padding-bottom: 12px;
+	vertical-align: middle;
+	text-align: right;
+}
+
+.OH_tdLogoColumn {
+	padding: 0px;
+	padding-top: 11px;
+	padding-left: 5px;
+	padding-right: 5px;
+	padding-bottom: 12px;
+	vertical-align: middle;
+	width: 1px;
+}
+
+.OH_tdLogoColumnAbove {
+	padding: 0px;
+	padding-top: 5px;
+	padding-left: 10px;
+	padding-right: 10px;
+	vertical-align: middle;
+}
+
+.target {
+	font-weight: bold;
+}
+
+table p {
+	margin-top: 0;
+}
+
+table.header {
+	width: 100%;
+}
+
+td.header {
+	padding: 0px 0px 0px 16px;
+}
+
+h1 {
+	font-size: 1.5em; /*18pt*/
+	font-weight: 400;
+	margin-top: 0px;
+}
+
+h1.heading {
+	font-size: 1.2em; /*14pt*/
+	font-family: Segoe UI, Verdana, Arial;
+	font-weight: bold;
+	line-height: 120%;
+}
+
+h2 {
+	font-size: 1.15em; /*13.5pt*/
+	font-weight: bold;
+}
+
+h2.subtitle {
+	font-size: 1.8em; /*22pt*/
+	font-weight: 400;
+	margin-bottom: 0.6em;
+}
+h3 {
+	font-size: 1.1em; /*13pt*/
+	font-weight: bold;
+}
+.heading {
+	font-size: 0.85em; /*10pt*/
+	font-family: Segoe UI, Verdana, Arial;
+	font-weight: bold;
+	margin: 0px;
+	margin-top: 18px;
+}
+h4.subHeading {
+	margin-top: 10px;
+	font-size: 1em; /*12pt*/
+}
+
+h4.subHeading, .subHeading {
+	font-size: 0.85em; /*10pt*/
+	font-family: Segoe UI, Verdana, Arial;
+	font-weight: bold;
+	margin: 0px;
+}
+dl {
+	margin-top: 0px;
+	margin-bottom: 10px;
+}
+dt {
+	font-style: normal;
+	margin: 0px;
+}
+dd {
+	margin-left: 20px;
+	margin-bottom: 5px;
+}
+dd p {
+	margin-top: 0;
+}
+li {
+	margin-bottom: 3px;
+	margin-left: 0;
+}
+ol {
+	line-height: 140%;
+	list-style-type: decimal;
+	margin-bottom: 15px;
+}
+ol ol {
+	line-height: 140%;
+	list-style-type: lower-alpha;
+	margin-bottom: 4px;
+	margin-top: 3px;
+}
+
+ol ol ol {
+	line-height: 140%;
+	list-style-type: lower-roman;
+	margin-bottom: 4px;
+	margin-top: 3px;
+}
+
+ol ul, ul ol {
+	line-height: 140%;
+	margin-bottom: 15px;
+	margin-top: 15px;
+}
+
+p {
+	margin: 12px 0px 12px 0px;
+}
+
+div.section p {
+	margin-bottom: 15px;
+	margin-top: 0;
+}
+
+ul {
+	line-height: 140%;
+	list-style-type: disc;
+	margin-bottom: 15px;
+}
+
+ul ul {
+	line-height: 140%;
+	list-style-type: circle;
+	margin-bottom: 4px;
+	margin-top: 3px;
+}
+
+div#mainSection {
+	padding-left: 10px;
+	padding-top: 10px;
+	padding-bottom: 15px;
+	padding-right: 10px;
+}
+
+div.OH_outerContent div#mainSection table {
+	border-collapse: collapse;
+	border: 1px solid #bbbbbb;
+	margin-bottom: 5px;
+	margin-top: 5px;
+	margin-right: 13px;
+	padding: 0px;
+	width: 97%;
+}
+
+div.OH_outerContent div#mainSection table th {
+	font-family: Segoe UI, Verdana, Arial;
+	font-size: 0.85em; /*10pt*/
+	border: 1px solid #bbbbbb;
+	color: #000000;
+	background-color: #e5e5e5;
+	padding-left: 13px;
+	padding-right: 13px;
+	vertical-align: middle;
+	text-align: left;
+	font-weight: bold;
+}
+
+div.OH_outerContent div#mainSection table td {
+	font-family: Segoe UI, Verdana, Arial;
+	font-size: 0.85em; /*10pt*/
+	border: 1px solid #bbbbbb;
+	color: #000000;
+	padding: 5px;
+	overflow: visible;
+	vertical-align: top;
+}
+
+div.OH_outerContent div#mainSection table td p {
+	padding: 5px 5px 0px 5px;
+}
+
+div.OH_outerContent div#mainSection table td.imageCell {
+	white-space: nowrap;
+}
+
+div.OH_outerContent div#mainSection table td img {
+	margin-top: 3px;
+	margin-bottom: 3px;
+}
+
+div.OH_outerContent div#mainSection table table td {
+	border-right: 0px;
+}
+
+.media img {
+	vertical-align: top;
+}
+
+div#mainBody div.alert, div#mainBody div.code {
+	width: 98.9%;
+}
+
+div#mainBody div.alert {
+	padding-bottom: 0.82em; /*9px*/
+}
+
+div#mainBody div.alert table {
+	width: 100%;
+}
+
+span.selflink {
+	font-weight: bold;
+}
+
+div.preliminary {
+	margin-top: 1em;
+	margin-bottom: 1em;
+	font-weight: bold;
+	color: #333333;
+}
+
+div.caption {
+	font-weight: bold;
+	font-size: 1em; /*12pt*/
+	color: #003399;
+}
+
+.procedureSubHeading {
+	font-size: 1.1em; /*13.5pt*/
+	font-weight: bold;
+}
+
+/* added for new spans that replace sub, sup, big and small tags */
+span.sub {
+	vertical-align: sub;
+}
+span.sup {
+	vertical-align: super;
+}
+span.big {
+	font-size: larger;
+}
+span.small {
+	font-size: smaller;
+}
+span.tt {
+	font-family: Consolas, Courier, monospace;
+}
+
+.OH_regiontitle {
+	font-size: 1.3em; /*15pt*/
+	font-family: Segoe UI, Verdana, Arial;
+	font-weight: bold;
+	color: #000000;
+	float: left;
+	background-color: #FFFFFF;
+	margin-top: 13px;
+	margin-bottom: 5px;
+	padding-right: 7px;
+	z-index: 2;
+}
+
+.OH_CollapsibleAreaRegion {
+	z-index: 100;
+}
+
+.OH_CollapsibleArea_HrDiv {
+	padding-top: 18px;
+}
+
+.OH_CollapsibleArea_Hr {
+	margin-left: 4px;
+	color: #e5e5e5;
+	border-top-style: none;
+	border-bottom: #e5e5e5 1px solid;
+	border-right-style: none;
+	border-left-style: none;
+}
+
+.OH_CodeSnippetContainer {
+	clear: both;
+	margin-top: 10px;
+	line-height: normal;
+	width: 100%;
+}
+
+.OH_CodeSnippetContainerTabs {
+	position: relative;
+	top: 2px;
+	float: left;
+	background-color: Transparent;
+	vertical-align: middle;
+	cursor: default;
+	margin: 0px;
+	padding: 0px;
+	z-index: 2;
+}
+
+.OH_CodeSnippetContainerTab, .OH_CodeSnippetContainerTabLeft, .OH_CodeSnippetContainerTabRight, .OH_CodeSnippetContainerTabFirst, .OH_CodeSnippetContainerTabActive, .OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabActiveNotFirst, .OH_CodeSnippetContainerTabDisabled, .OH_CodeSnippetContainerTabLeftDisabled, .OH_CodeSnippetContainerTabRightDisabled, .OH_CodeSnippetContainerTabDisabledNotFirst, .OH_CodeSnippetContainerTabSolo {
+	float: left;
+	font-size: 0.8em;
+	margin: 0px;
+	padding: 0px;
+	height: 20px;
+}
+
+.OH_CodeSnippetContainerTabSolo {
+	padding: 0px 5px 0px 5px;
+}
+
+.OH_CodeSnippetContainerTab, .OH_CodeSnippetContainerTabFirst, .OH_CodeSnippetContainerTabActive, .OH_CodeSnippetContainerTabActiveNotFirst, .OH_CodeSnippetContainerTabDisabled, .OH_CodeSnippetContainerTabDisabledNotFirst, .OH_CodeSnippetContainerTabSolo {
+	border-top: solid 1px #bbbbbb;
+}
+
+.OH_CodeSnippetContainerTab, .OH_CodeSnippetContainerTabLeft, .OH_CodeSnippetContainerTabRight, .OH_CodeSnippetContainerTabFirst, .OH_CodeSnippetContainerTabDisabled, .OH_CodeSnippetContainerTabLeftDisabled, .OH_CodeSnippetContainerTabRightDisabled, .OH_CodeSnippetContainerTabDisabledNotFirst {
+	border-bottom: solid 1px #d0d2d2;
+}
+
+.OH_CodeSnippetContainerTab, .OH_CodeSnippetContainerTabActiveNotFirst, .OH_CodeSnippetContainerTabDisabledNotFirst {
+	border-left: solid 1px #bbbbbb;
+}
+
+.OH_CodeSnippetContainerTab, .OH_CodeSnippetContainerTabLeft, .OH_CodeSnippetContainerTabRight, .OH_CodeSnippetContainerTabFirst {
+	background-color: #eff5ff;
+}
+
+.OH_CodeSnippetContainerTabDisabled, .OH_CodeSnippetContainerTabLeftDisabled, .OH_CodeSnippetContainerTabRightDisabled, .OH_CodeSnippetContainerTabDisabledNotFirst {
+	background-color: #f5f5f5;
+}
+
+.OH_CodeSnippetContainerTabActive, .OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabActiveNotFirst, .OH_CodeSnippetContainerTabSolo {
+	background-color: white;
+	font-weight: bold;
+}
+
+.OH_CodeSnippetContainerTab a, .OH_CodeSnippetContainerTab a:link, .OH_CodeSnippetContainerTab a:visited, .OH_CodeSnippetContainerTab a:active, .OH_CodeSnippetContainerTab a:hover, .OH_CodeSnippetContainerTabFirst a, .OH_CodeSnippetContainerTabFirst a:link, .OH_CodeSnippetContainerTabFirst a:visited, .OH_CodeSnippetContainerTabFirst a:active, .OH_CodeSnippetContainerTabFirst a:hover {
+	padding: 0px 5px 0px 5px;
+	color: #1364c4;
+	text-decoration: none;
+	cursor: pointer;
+}
+
+.OH_CodeSnippetContainerTab a:link, .OH_CodeSnippetContainerTab a:visited, .OH_CodeSnippetContainerTabFirst a:link, .OH_CodeSnippetContainerTabFirst a:visited {
+	color: #1364c4;
+}
+
+.OH_CodeSnippetContainerTab a:active, .OH_CodeSnippetContainerTab a:hover, .OH_CodeSnippetContainerTabFirst a:active, .OH_CodeSnippetContainerTabFirst a:hover {
+	color: #250c58;
+}
+
+.OH_CodeSnippetContainerTabActive a, .OH_CodeSnippetContainerTabActive a:link, .OH_CodeSnippetContainerTabActive a:visited, .OH_CodeSnippetContainerTabActive a:active, .OH_CodeSnippetContainerTabActive a:hover, .OH_CodeSnippetContainerTabActiveNotFirst a, .OH_CodeSnippetContainerTabActiveNotFirst a:link, .OH_CodeSnippetContainerTabActiveNotFirst a:visited, .OH_CodeSnippetContainerTabActiveNotFirst a:active, .OH_CodeSnippetContainerTabActiveNotFirst a:hover {
+	padding: 0px 5px 0px 5px;
+	background-color: white;
+	color: #250c58;
+	text-decoration: none;
+	cursor: pointer;
+}
+
+.OH_CodeSnippetContainerTabDisabled a, .OH_CodeSnippetContainerTabDisabledNotFirst a {
+	padding: 0px 5px 0px 5px;
+	color: #a8a8a8;
+	text-decoration: none;
+}
+
+.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft, .OH_CodeSnippetContainerTabLeftDisabled, .OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight, .OH_CodeSnippetContainerTabRightDisabled {
+	width: 5px;
+	float: left;
+}
+
+.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft, .OH_CodeSnippetContainerTabLeftDisabled {
+	/*  background-image: url(tabLeftBG.gif); Added by script */
+	background-repeat: no-repeat;
+}
+
+.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight, .OH_CodeSnippetContainerTabRightDisabled {
+	/*  background-image: url(tabRightBG.gif); Added by script */
+	background-repeat: no-repeat;
+}
+
+.OH_CodeSnippetToolBar {
+	width: 100%;
+	border-top: solid 1px #e5e5e5;
+}
+
+.OH_CodeSnippetToolBarText {
+	float: right;
+	position: relative;
+	background-color: white;
+	z-index: 100;
+	width: auto;
+	margin-right: 13px;
+	top: -8px;
+}
+
+.OH_CodeSnippetToolBarText a:link, .OH_CodeSnippetToolBarText a:visited, .OH_CodeSnippetToolBarText a:active, .OH_CodeSnippetToolBarText a:hover {
+	font-size: 0.8em;
+	padding-left: 3px;
+	padding-right: 3px;
+	text-decoration: none;
+}
+
+.OH_CodeSnippetToolBarText a:link, .OH_CodeSnippetToolBarText a:visited, .OH_CodeSnippetToolBarText a:active {
+	color: #1364c4;
+}
+
+.OH_CodeSnippetToolBarText a:hover {
+	color: #e66a38;
+}
+
+.OH_CodeSnippetContainerCodeCollection {
+	border-left: solid 1px #e5e5e5;
+	border-right: solid 1px #e5e5e5;
+	border-bottom: solid 1px #e5e5e5;
+	clear: both;
+	width: 99%;
+}
+
+.OH_CodeSnippetContainerCode {
+	width: 100%;
+	border-right-width: 0px;
+	margin: 0px;
+	padding-left: 10px;
+}
+
+.OH_copyCodeSnippet {
+}
+
+.members {
+	border-collapse: collapse;
+	border-spacing: 0;
+}
+
+.members td {
+	border: 1px solid #DDDDDD;
+}
+
+.members th {
+	background: #CCCCCC none repeat scroll 0 0;
+}
+
+.ps_iconColumn {
+}
+
+.OH_outerDiv {
+	background-color: #ffffff;
+}
+
+.OH_outerContent {
+	overflow: visible;
+	border-left: 1px solid #bbb;
+}
+
+.OH_footer {
+	clear: both;
+	border-top: solid 1px #bbb;
+	padding: 0px 10px 5px 10px; /*  background-image: url(footer_slice.gif); Added by script */
+	background-position: top;
+	background-repeat: repeat-x;
+}
+
+.OH_footer p {
+	margin: 0;
+}
+
+.OH_feedbacklink {
+	font-family: Segoe UI, Verdana, Arial;
+	font-size: 0.8em; /*10pt*/
+	padding-left: 0px;
+}
+
+.OH_clear {
+	clear: both;
+}
+
+/*Start of colorization*/
+div.seeAlsoStyle {
+	padding-top: 5px;
+}
+
+span.code, span.command {
+	font-size: 105%;
+	color: #000066;
+	font-family: Consolas, Courier, monospace;
+	background-color: #f4f4f4;
+}
+span.ui {
+	font-weight: bold;
+}
+span.math {
+	font-style: italic;
+}
+span.input {
+	font-weight: bold;
+}
+span.term {
+	font-style: italic;
+}
+span.label {
+	font-weight: bold;
+}
+span.foreignPhrase, span.phrase {
+	font-style: italic;
+}
+span.placeholder {
+	font-style: italic;
+}
+span.typeparameter {
+	font-style: italic;
+}
+span.identifier {
+}
+span.keyword {
+	color: #0000ff;
+}
+span.parameter {
+	font-style: italic;
+}
+span.literal, span.literalValue {
+	color: #cc0000;
+}
+span.comment {
+	color: #006633;
+}
+span.introStyle {
+	color: #a9a9a9;
+}
+/*End of colorization*/
+
+/* Various *******************************************************************/
+
+q {
+	font-style: italic;
+}
+
+dl.authored dt {
+	font-weight: bold;
+	margin-top: 5px;
+}
+
+dl.authored dd {
+	margin-left: 20px;
+	margin-bottom: 5px;
+}
+
+span.nolink {
+	font-weight: bold;
+}
+
+ul.autoOutline {
+}
+
+li.outlineSectionEntry {
+}
+
+div.outlineSectionEntrySummary {
+}
+
+/* Media *********************************************************************/
+
+div.ps_mediaNear {
+	text-align: left;
+	margin-top: 1em;
+	margin-bottom: 1em;
+}
+
+div.ps_mediaFar {
+	text-align: right;
+	margin-top: 1em;
+	margin-bottom: 1em;
+}
+
+div.ps_mediaCenter {
+	text-align: center;
+	margin-top: 1em;
+	margin-bottom: 1em;
+}
+
+span.ps_captionLead {
+	font-weight: bold;
+	margin-right: .5em;
+}
+
+/* Glossary ******************************************************************/
+
+div.clsTooltip {
+	border: 1px solid black;
+	padding: 2px;
+	position: absolute;
+	top: 0;
+	left: 0;
+	display: none;
+	background-color: #FFFFAA;
+	color: black;
+	font-size: 8pt;
+	font-family: Arial;
+}
+
+h1.ps_glossaryTitle {
+	color: #000000;
+	font-size: 140%;
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
+
+div.ps_glossaryDiv {
+}
+
+h2.ps_glossaryDivHeading {
+	color: Black;
+	font-size: 115%;
+	margin-top: 1em;
+	margin-bottom: 0px;
+}
+
+div.ps_glossaryLetterBar {
+	font-size: 90%;
+}
+
+hr.ps_glossaryRule {
+	text-align: left;
+	color: Black;
+}
+
+h3.ps_glossaryGroupHeading {
+	font-size: 120%;
+	color: Gray;
+	margin: 5px 0 5px 0;
+}
+
+div.ps_glossaryGroup {
+}
+
+dl.ps_glossaryGroupList {
+	margin: 0;
+	color: Black;
+}
+
+dt.ps_glossaryEntry {
+	font-weight: bold;
+	margin-left: 2em;
+}
+
+dd.ps_glossaryEntry {
+	margin-left: 2em;
+	margin-bottom: 2em;
+}
+
+dd.ps_glossaryEntry p {
+	margin-top: 0;
+}
+
+div.ps_relatedEntry {
+	margin-bottom: 4px;
+}
+
+/* Bibliography***************************************************************/
+
+div.bibliographStyle {
+	padding-top: 5px;
+}
+
+span.bibliographyNumber {
+}
+
+span.bibliographyAuthor {
+	font-weight: bold;
+}
+
+span.bibliographyTitle {
+	font-style: italic;
+}
+
+span.bibliographyPublisher {
+}
+
+sup.citation a:link a:visited a:active {
+	text-decoration: none;
+}
+
+/* Placeholder for the Help 1 user data style class */
+.userDataStyle {
+}
+
+
+
+.missing
+{
+	color:  #dc143c;
+	font-size: 8.5pt;
+	font-weight: bold;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Configuration/BuildAssembler.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Configuration/BuildAssembler.config
new file mode 100644
index 0000000000000000000000000000000000000000..937e3f5f88ac4c498927cd31d2b6dd9e3b1f98f8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Configuration/BuildAssembler.config
@@ -0,0 +1,717 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration verbosity="{@BuildAssemblerVerbosity}">
+	<dduetools>
+		<builder>
+			<componentLocations>
+				{@ComponentLocations}
+			</componentLocations>
+
+			<components>
+				<component id="Switch Component">
+					<switch value="string(/document/@type)" />
+
+					<case value="MAML">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\skeleton_conceptual.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in the topic content-->
+						<component id="Copy From Files Component">
+							<copy base=".\ddueXml" file="concat($key,'.xml')" source="/topic" target="/document" />
+						</component>
+
+						<!-- Resolve tokens -->
+						<component id="Shared Content Component">
+							<context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
+							<content file="HelpFileBuilderTokens.tokens" />
+							{@TokenFiles}
+							<replace elements="/*//ddue:token" item="string(.)" />
+						</component>
+
+						<!-- Copy in metadata attributes -->
+						<component id="Copy From Index Component">
+							<index name="metadata" value="/metadata/topic" key="@id">
+								<data files="_ContentMetadata_.xml" />
+							</index>
+							<copy name="metadata" source="*" target="/document/metadata" />
+						</component>
+
+						<!-- Resolve code snippets -->
+						<component id="Example Component">
+							{@CodeSnippetsFiles}
+							<colors language="VisualBasic">
+								<color pattern="^\s*'[^\r\n]*" class="comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="\b((AddHandler)|(AddressOf)|(Alias)|(And)|(AndAlso)|(As)|(Boolean)|(ByRef)|(Byte)|(ByVal)|(Call)|(Case)|(Catch)|(CBool)|(CByte)|(CChar)|(CDate)|(CDec)|(CDbl)|(Char)|(CInt)|(Class)|(CLng)|(CObj)|(Const)|(Continue)|(CSByte)|(CShort)|(CSng)|(CStr)|(CType)|(CUInt)|(CULng)|(CUShort)|(Date)|(Decimal)|(Declare)|(Default)|(Delegate)|(Dim)|(DirectCast)|(Do)|(Double)|(Each)|(Else)|(ElseIf)|(End)|(EndIf)|(Enum)|(Erase)|(Error)|(Event)|(Exit)|(False)|(Finally)|(For)|(Friend)|(From)|(Function)|(Get)|(GetType)|(GetXMLNamespace)|(Global)|(GoSub)|(GoTo)|(Handles)|(If)|(Implements)|(Imports)|(In)|(Inherits)|(Integer)|(Interface)|(Is)|(IsNot)|(Let)|(Lib)|(Like)|(Long)|(Loop)|(Me)|(Mod)|(Module)|(MustInherit)|(MustOverride)|(MyBase)|(MyClass)|(Namespace)|(Narrowing)|(New)|(Next)|(Not)|(Nothing)|(NotInheritable)|(NotOverridable)|(Object)|(Of)|(On)|(Operator)|(Option)|(Optional)|(Or)|(OrElse)|(Overloads)|(Overridable)|(Overrides)|(ParamArray)|(Partial)|(Private)|(Property)|(Protected)|(Public)|(RaiseEvent)|(ReadOnly)|(ReDim)|(REM)|(RemoveHandler)|(Resume)|(Return)|(SByte)|(Select)|(Set)|(Shadows)|(Shared)|(Short)|(Single)|(Static)|(Step)|(Stop)|(String)|(Structure)|(Sub)|(SyncLock)|(Then)|(Throw)|(To)|(True)|(Try)|(TryCast)|(TypeOf)|(Variant)|(Wend)|(UInteger)|(ULong)|(UShort)|(Until)|(Using)|(When)|(Where)|(While)|(Widening)|(With)|(WithEvents)|(WriteOnly)|(Xor)|(#Const)|(#Else)|(#ElseIf)|(#End)|(#If))\b" class="keyword" />
+							</colors>
+							<colors language="CSharp">
+								<color pattern="/\*(.|\n)+?\*/" class="comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="//[^\r\n]*" class="comment" />
+								<color pattern="\b((abstract)|(as)|(ascending)|(base)|(bool)|(break)|(by)|(byte)|(case)|(catch)|(char)|(checked)|(class)|(const)|(continue)|(decimal)|(default)|(delegate)|(descending)|(do)|(double)|(else)|(enum)|(equals)|(event)|(explicit)|(extern)|(false)|(finally)|(fixed)|(float)|(for)|(foreach)|(from)|(get)|(goto)|(group)|(if)|(implicit)|(in)|(int)|(interface)|(internal)|(into)|(is)|(join)|(let)|(lock)|(long)|(namespace)|(new)|(null)|(object)|(operator)|(on)|(orderby)|(out)|(override)|(params)|(partial)|(private)|(protected)|(public)|(readonly)|(ref)|(return)|(sbyte)|(sealed)|(select)|(set)|(short)|(sizeof)|(stackalloc)|(static)|(string)|(struct)|(switch)|(this)|(throw)|(true)|(try)|(typeof)|(uint)|(ulong)|(unchecked)|(unsafe)|(ushort)|(using)|(value)|(var)|(vield)|(virtual)|(volatile)|(void)|(where)|(while))\b" class="keyword" />
+							</colors>
+							<colors language="ManagedCPlusPlus">
+								<color pattern="/\*(.|\n)+?\*/" class="comment" />
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="//[^\r\n]*" class="comment" />
+								<color pattern="\b((abstract)|(array)|(bool)|(break)|(case)|(catch)|(char)|(class)|(const)|(continue)|(default)|(delegate)|(delete)|(deprecated)|(dllexport)|(dllimport)|(do)|(double)|(else)|(enum)|(event)|(explicit)|(extern)|(false)|(finally)|(float)|(for)|(friend)|(gcnew)|(generic)|(goto)|(if)|(initonly)|(inline)|(int)|(interface)|(literal)|(long)|(mutable)|(naked)|(namespace)|(new)|(noinline)|(noreturn)|(nothrow)|(novtable)|(nullptr)|(operator)|(private)|(property)|(protected)|(public)|(ref)|(register)|(return)|(safecast)|(sealed)|(selectany)|(short)|(signed)|(sizeof)|(static)|(struct)|(switch)|(template)|(this)|(thread)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(union)|(unsigned)|(using)|(uuid)|(value)|(virtual)|(void)|(volatile)|(while))\b" class="keyword" />
+							</colors>
+							<colors language="FSharp">
+								<color pattern="\(\*(.|\n)+?\*\)" class="comment" />"
+								<color pattern="\&#34;[^&#34;\r\n]*\&#34;" class="literal" />
+								<color pattern="//[^\r\n]*" class="comment" />
+								<color pattern="\b((abstract)|(and)|(as)|(asr)|(assert)|(atomic)|(base)|(begin)|(break)|(checked)|(class)|(component)|(const)|(constraint)|(constructor)|(continue)|(default)|(delegate)|(do)|(done)|(downcast)|(downto)|(eager)|(elif)|(else)|(end)|(event)|(exception)|(extern)|(external)|(false)|(finally)|(fixed)|(for)|(fun)|(function)|(functor)|(global)|(if)|(in)|(include)|(inherit)|(inline)|(interface)|(internal)|(land)|(lazy)|(let)|(lor)|(lsl)|(lsr)|(lxor)|(match)|(member)|(method)|(mixin)|(mod)|(module)|(mutable)|(namespace)|(new)|(null)|(object)|(of)|(open)|(or)|(override)|(parallel)|(private)|(process)|(protected)|(public)|(pure)|(rec)|(return)|(sealed)|(sig)|(static)|(struct)|(tailcall)|(then)|(to)|(trait)|(true)|(try)|(type)|(upcast)|(use)|(val)|(virtual)|(void)|(volatile)|(when)|(while)|(with)|(yield))\b" class="keyword" />
+							</colors>
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+							 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+							 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+							 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+							 Attributes:
+									Language syntax configuration file (required)
+									XSLT style sheet file (required)
+									CSS style sheet file (required)
+									Script file (required)
+									Disabled (optional, leading whitespace normalization only)
+									Default language (optional)
+									Enable line numbering (optional)
+									Enable outlining (optional)
+									Keep XML comment "see" tags within the code (optional)
+									Tab size override (optional, 0 = Use syntax file setting)
+									Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight.xsl" stylesheet="{@CoreComponentsFolder}Colorizer\highlight.css"
+									scriptFile="{@CoreComponentsFolder}Colorizer\highlight.js" disabled="{@DisableCodeBlockComponent}"
+									language="cs" numberLines="false" outlining="false" keepSeeTags="false" tabSize="0"
+									defaultTitle="true" />
+						</component>
+
+						<!-- Generate syntax -->
+						<component id="Syntax Component">
+							<!-- This element is not relevant to conceptual builds -->
+							<syntax input="/document/reference" output="/document/syntax" />
+							<!-- The list of syntax generators to use -->
+							<generators>
+								{@SyntaxFilters}
+							</generators>
+							<!-- Group snippets for languages in the syntax generator set within this element -->
+							<containerElement name="codeSnippetGroup" addNoExampleTabs="true" includeOnSingleSnippets="false"
+								groupingEnabled="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\main_conceptual.xsl">
+								<argument key="metadata" value="true" />
+								<argument key="languages">
+									{@SyntaxFiltersDropDown}
+								</argument>
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- Multi-format output component.  This must wrap the component set unique to each output file format. -->
+						<component id="Multi-format Output Component">
+							<!-- This defines the formats to generate -->
+							<build formats="{@HelpFileFormat}" />
+
+							<!-- This defines the set of components for HTML Help 1 files -->
+							<helpOutput format="HtmlHelp1">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="../styles/branding-Help1.css" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}conceptual_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve art links -->
+								<component id="Resolve Art Links Component">
+									<targets input="Media" baseOutput=".\Output\HtmlHelp1" outputPath="string('media')" link="../media"
+										map="_MediaContent_.xml" />
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@HtmlSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\HtmlHelp1\html" path="concat($key,'.htm')" indent="{@IndentHtml}"
+										omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Help1 MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for MS Help Viewer files -->
+							<helpOutput format="MSHelpViewer">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="styles/branding-HelpViewer.css" />
+									{@SearchResultsDisplayVersion}
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<!-- Override the paths for MS Help Viewer -->
+									<content file="{@ResourceItemsFolder}shared_content_mshc.xml" />
+									<content file="{@ResourceItemsFolder}conceptual_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve art links -->
+								<component id="Resolve Art Links Component">
+									<targets input="Media" baseOutput=".\Output\MSHelpViewer" outputPath="string('media')" link="media"
+										map="_MediaContent_.xml" />
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Id" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@MSHelpViewerSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Id" id="ProjectTargets" />
+								</component>
+
+								<!-- Add Microsoft Help Viewer metadata -->
+								<component id="Microsoft Help Viewer Metadata Component">
+									<data topic-version="{@TopicVersion}" toc-file="_ConceptualTOC_.xml"
+										toc-parent="{@TocParentId}" toc-parent-version="{@TocParentVersion}" locale="{@Locale}" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\MSHelpViewer\html" path="concat($key,'.htm')" indent="{@IndentHtml}"
+										omit-xml-declaration="false" add-xhtml-namespace="true"
+										groupId="MSHelpViewer MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for websites -->
+							<helpOutput format="Website">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+									<stylesheet name="../styles/branding-Website.css" />
+									<script name="../scripts/jquery-3.5.1.min.js" />
+									<script name="../scripts/branding-Website.js" />
+									<script name="../scripts/clipboard.min.js" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}conceptual_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									<content file="WebsiteContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve art links -->
+								<component id="Resolve Art Links Component">
+									<targets input="Media" baseOutput=".\Output\Website" outputPath="string('media')" link="../media"
+										map="_MediaContent_.xml" />
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\Website\html" path="concat($key,'.htm')" indent="{@IndentHtml}"
+										omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Website MAML" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+						</component>
+					</case>
+
+					<case value="API">
+						<!-- Create skeleton document -->
+						<component id="Copy From File Component">
+							<data file="{@PresentationPath}Transforms\skeleton.xml" />
+							<copy source="/document/*" target="/document" />
+						</component>
+
+						<!-- Copy in reflection data -->
+						<component id="Copy From Index Component">
+							<index name="reflection" value="/reflection/apis/api" key="@id" cache="15">
+								<data base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml" duplicateWarning="false">
+									{@ReferenceLinkNamespaceFiles}
+								</data>
+								<data files="reflection.xml" />
+							</index>
+							<copy name="reflection" source="*" target="/document/reference" />
+						</component>
+
+						<!-- Copy in container data -->
+						<component id="Copy From Index Component">
+							<copy name="reflection" key="string(/document/reference/containers/namespace/@api)"
+								source="*[not(local-name()='elements')]" target="/document/reference/containers/namespace" />
+						</component>
+
+						<component id="For Each Component">
+							<variable expression="/document/reference/containers//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="topicdata|apidata|typedata|family|templates|attributes"
+										target="/document/reference/containers//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in explicitInterfaceImplemented reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/implements/member/@api | /document/reference/implements//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/implements//*[@api=$key and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/implements//*[@api=$key and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in extension method template/type data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element[@source='extension']/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata)]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/elements//element[@source='extension']/templates//type[boolean(@api=$key) and not(apidata) and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in parameter data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/parameters/parameter//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/parameters/parameter//type[boolean(@api=$key) and not(apidata)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in templates type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/templates//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata"
+										target="/document/reference/templates//type[@api=$key]" />
+									<copy name="reflection" source="templates"
+										target="/document/reference/templates//type[@api=$key and not(specialization)]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in return type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/returns//type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/returns//type[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in event handler type reflection data -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/eventhandler/type/@api" />
+							<components>
+								<component id="Copy From Index Component">
+									<copy name="reflection" source="apidata|typedata|family|templates|containers|attributes"
+										target="/document/reference/eventhandler/type[@api=$key]"/>
+								</component>
+							</components>
+						</component>
+
+						<!-- Generate syntax -->
+						<component id="Syntax Component">
+							<!-- The input element and the output element. -->
+							<syntax input="/document/reference" output="/document/syntax" />
+							<!-- The list of syntax generators to use -->
+							<generators>
+								{@SyntaxFilters}
+							</generators>
+							<!-- Group snippets for languages in the syntax generator set within this element -->
+							<containerElement name="codeSnippetGroup" addNoExampleTabs="true" includeOnSingleSnippets="false"
+								groupingEnabled="true" />
+						</component>
+
+						<!-- Copy in comments -->
+						<component id="Copy From Index Component">
+							<index name="comments" value="/doc/members/member" key="@name" cache="30">
+								{@FrameworkCommentList}
+								{@CommentFileList}
+							</index>
+							<copy name="comments" source="*" target="/document/comments" />
+							<!-- Propagate the parent type's preliminary element to the members too if present -->
+							<copy name="comments" key="string(/document/reference/containers/type/@api)"
+								source="preliminary" target="/document/comments" />
+						</component>
+
+						<!-- Copy in reflection data and comments for members -->
+						<component id="For Each Component">
+							<variable expression="/document/reference/elements//element/@api" />
+							<components>
+								<component id="If Then Component">
+									<if condition="not(/document/reference/elements//element[@api=$key]/apidata)" />
+									<then>
+										<component id="Copy From Index Component">
+											<copy name="reflection" source="*[not(self::elements)]"
+												target="/document/reference/elements//element[@api=$key]" />
+										</component>
+									</then>
+								</component>
+								<component id="Copy From Index Component">
+									<copy name="comments" source="summary|overloads|example"
+										target="/document/reference/elements//element[@api=$key]" />
+								</component>
+							</components>
+						</component>
+
+						<!-- Copy in comments for the member's declaring type. -->
+						<component id="Copy From Index Component">
+							<copy name="comments" key="string(/document/reference/containers/type/@api)" source="summary"
+								target="/document/reference/containers" />
+						</component>
+
+						<!-- Show missing documentation component configuration.  This must appear before the TransformComponent. -->
+						<component id="Show Missing Documentation Component">
+							<!-- All elements are optional. -->
+
+							<!-- Auto-document constructors (true by default) -->
+							<AutoDocumentConstructors value="{@AutoDocumentConstructors}" />
+
+							<!-- Auto-document dispose methods (true by default) -->
+							<AutoDocumentDisposeMethods value="{@AutoDocumentDisposeMethods}" />
+
+							<!-- Show missing param tags (true by default) -->
+							<ShowMissingParams value="{@ShowMissingParams}" />
+
+							<!-- Show missing typeparam tags (true by default) -->
+							<ShowMissingTypeParams value="{@ShowMissingTypeParams}" />
+
+							<!-- Show missing remarks tags (false by default) -->
+							<ShowMissingRemarks value="{@ShowMissingRemarks}" />
+
+							<!-- Show missing returns tags (true by default) -->
+							<ShowMissingReturns value="{@ShowMissingReturns}" />
+
+							<!-- Show missing summary tags (true by default) -->
+							<ShowMissingSummaries value="{@ShowMissingSummaries}" />
+
+							<!-- Show missing value tags (false by default) -->
+							<ShowMissingValues value="{@ShowMissingValues}" />
+
+							<!-- Show missing namespace comments (true by default) -->
+							<ShowMissingNamespaces value="{@ShowMissingNamespaces}" />
+
+							<!-- Show missing include targets (true by default) -->
+							<ShowMissingIncludeTargets value="{@ShowMissingIncludeTargets}" />
+						</component>
+
+						<!-- Code block component configuration.  This must appear before the TransformComponent. -->
+						<component id="Code Block Component">
+							<!-- Base path for relative filenames in source attributes (optional) -->
+							<basePath value="{@HtmlEncProjectFolder}" />
+
+							<!-- Base output paths for the files (required).  These should match the parent folder of the output
+							 path of the HTML files (see each of the SaveComponent instances below). -->
+							<outputPaths>
+								{@HelpFormatOutputPaths}
+							</outputPaths>
+
+							<!-- Allow missing source files (Optional).  If omitted, it will generate errors if referenced source
+							 files are missing. -->
+							<allowMissingSource value="false" />
+
+							<!-- Remove region markers from imported code blocks.  If omitted, region markers in imported code
+							 blocks are left alone. -->
+							<removeRegionMarkers value="false" />
+
+							<!-- Code colorizer options (required).
+							 Attributes:
+									Language syntax configuration file (required)
+									XSLT style sheet file (required)
+									CSS style sheet file (required)
+									Script file (required)
+									Disabled (optional, leading whitespace normalization only)
+									Default language (optional)
+									Enable line numbering (optional)
+									Enable outlining (optional)
+									Keep XML comment "see" tags within the code (optional)
+									Tab size override (optional, 0 = Use syntax file setting)
+									Use language name as default title (optional) -->
+							<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml"
+									styleFile="{@CoreComponentsFolder}Colorizer\highlight.xsl" stylesheet="{@CoreComponentsFolder}Colorizer\highlight.css"
+									scriptFile="{@CoreComponentsFolder}Colorizer\highlight.js" disabled="{@DisableCodeBlockComponent}"
+									language="cs" numberLines="false" outlining="false" keepSeeTags="false" tabSize="0"
+									defaultTitle="true" />
+						</component>
+
+						<!-- Transform -->
+						<component id="XSL Transform Component">
+							<transform file="{@PresentationPath}Transforms\main_sandcastle.xsl">
+								<argument key="metadata" value="true" />
+								<argument key="languages">
+									{@SyntaxFiltersDropDown}
+								</argument>
+								{@TransformComponentArguments}
+							</transform>
+						</component>
+
+						<!-- This section is used in the component help topic -->
+						<!-- #region Multi-format output component -->
+
+						<!-- Multi-format output component.  This must wrap the component set
+             unique to each output file format. -->
+						<component id="Multi-format Output Component">
+							<!-- This defines the formats to generate -->
+							<build formats="{@HelpFileFormat}" />
+
+							<!-- This defines the set of components for HTML Help 1 files -->
+							<helpOutput format="HtmlHelp1">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="../styles/branding-Help1.css" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}reference_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@HtmlSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\HtmlHelp1\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')"
+										indent="{@IndentHtml}" omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Help1 API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for MS Help Viewer files -->
+							<helpOutput format="MSHelpViewer">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
+									<stylesheet name="styles/branding-HelpViewer.css" />
+									{@SearchResultsDisplayVersion}
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<!-- Override the paths for MS Help Viewer -->
+									<content file="{@ResourceItemsFolder}shared_content_mshc.xml" />
+									<content file="{@ResourceItemsFolder}reference_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Id"/>
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@MSHelpViewerSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Id" id="ProjectTargets" />
+								</component>
+
+								<!-- Add MSHC metadata -->
+								<component id="Microsoft Help Viewer Metadata Component">
+									<data topic-version="{@TopicVersion}" toc-file="toc.xml"
+										toc-parent="{@ApiTocParentId}" toc-parent-version="{@TocParentVersion}" locale="{@Locale}" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\MSHelpViewer\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')"
+										indent="{@IndentHtml}" omit-xml-declaration="false" add-xhtml-namespace="true"
+										groupId="MSHelpViewer API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+
+							<!-- This defines the set of components for websites -->
+							<helpOutput format="Website">
+								<!-- Add additional header resources -->
+								<component id="Additional Header Resources Component">
+									<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+									<stylesheet name="../styles/branding-Website.css" />
+									<script name="../scripts/jquery-3.5.1.min.js" />
+									<script name="../scripts/branding-Website.js" />
+									<script name="../scripts/clipboard.min.js" />
+								</component>
+
+								<!-- Resolve shared content -->
+								<component id="Shared Content Component">
+									<content file="{@ResourceItemsFolder}shared_content.xml" />
+									<content file="{@ResourceItemsFolder}reference_content.xml" />
+									<!-- These must be last in order to override other elements! -->
+									<content file="SHFBContent.xml" />
+									<content file="WebsiteContent.xml" />
+									{@ResourceItemFiles}
+								</component>
+
+								<!-- Resolve conceptual links -->
+								<component id="Resolve Conceptual Links Component">
+									<showBrokenLinkText value="true" />
+									<targets base="xmlComp" type="Local" />
+								</component>
+
+								<!-- Resolve reference links -->
+								<component id="Resolve Reference Links Component">
+									<locale value="{@Locale}" />
+									<linkTarget value="{@SdkLinkTarget}" />
+									<memberIdUrlCache path="{@LocalDataFolder}Cache\MemberIdUrl.cache" />
+									<targets base="{@FrameworkReflectionDataFolder}" recurse="true" files="*.xml"
+										type="{@WebsiteSdkLinkType}" id="FrameworkTargets">
+										{@ReferenceLinkNamespaceFiles}
+									</targets>
+									<targets files="reflection.xml" type="Local" id="ProjectTargets" />
+								</component>
+
+								<!-- Convert language-specific text spans to script elements -->
+								<component id="Language-Specific Text Component" />
+
+								<!-- Save the result -->
+								<component id="Save Component">
+									<save base="Output\Website\html" path="concat(/html/head/meta[@name='file']/@content,'.htm')"
+										indent="{@IndentHtml}" omit-xml-declaration="true" add-xhtml-namespace="false"
+										groupId="Website API" boundedCapacity="{@SaveComponentCacheCapacity}" />
+								</component>
+							</helpOutput>
+						</component>
+						<!-- #endregion -->
+					</case>
+				</component>
+			</components>
+
+		</builder>
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..395ea3620b4e59fd32d24b74c7d5bdf9a32c2a09
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">In This Section</item>
+	<item id="title_buildInstructions">Compiling the Code</item>
+	<item id="title_nextSteps">Next Steps</item>
+	<item id="title_requirements">Requirements</item>
+	<item id="title_relatedSections">Related Sections</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_returnValue">Return Value</item>
+  <item id="title_attributesAndElements">Attributes and Elements</item>
+	<item id="title_attributes">Attributes</item>
+	<item id="title_childElement">Child Elements</item>
+	<item id="title_parentElement">Parent Elements</item>
+	<item id="title_elementInformation">Element Information</item>
+  <item id="title_textValue">Text Value</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+  <item id="title_prerequisites">Prerequisites</item>
+  <item id="title_robustProgramming">Robust Programming</item>
+	<item id="title_securitySection">Security</item>
+	<item id="title_externalResources">External Resources</item>
+	<item id="title_demonstrates">Demonstrates</item>
+  <item id="title_appliesTo">Applies To</item>
+	<item id="title_conclusion">Conclusion</item>
+  <item id="title_background">Background</item>
+	<item id="title_whatsNew">What's New</item>
+  <item id="title_reference">Reference</item>
+  <item id="title_errorMessage">Error Message</item>
+  <item id="title_example">Example</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">This topic contains the following sections:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">This section contains the following subsections:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. All rights reserved.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">See Also:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..17cc3d1cf368f9b85ad8377fcae26eb92d9e1c35
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/conceptual_content.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">In diesem Abschnitt</item>
+	<item id="title_buildInstructions">Code-Kompilierung</item>
+	<item id="title_nextSteps">Nächste Schritte</item>
+	<item id="title_requirements">Voraussetzungen</item>
+	<item id="title_relatedSections">Verwandte Abschnitte</item>
+	<item id="title_relatedTopics">Siehe auch</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameter</item>
+	<item id="title_returnValue">Rückgabewert</item>
+  <item id="title_attributesAndElements">Attribute und Elemente</item>
+	<item id="title_attributes">Attribute</item>
+	<item id="title_childElement">Kindelemente</item>
+	<item id="title_parentElement">Elternelemente</item>
+	<item id="title_elementInformation">Elementinformation</item>
+  <item id="title_textValue">Textwert</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+  <item id="title_prerequisites">Voraussetzungen</item>
+  <item id="title_robustProgramming">Robuste Programmierung</item>
+	<item id="title_securitySection">Sicherheit</item>
+	<item id="title_externalResources">Externe Ressourcen</item>
+	<item id="title_demonstrates">Zeigt</item>
+  <item id="title_appliesTo">Trifft zu auf</item>
+	<item id="title_conclusion">Schlussfolgerung</item>
+  <item id="title_background">Hintergrund</item>
+	<item id="title_whatsNew">Was ist neu</item>
+  <item id="title_reference">Referenz</item>
+  <item id="title_errorMessage">Fehlermeldung</item>
+  <item id="title_example">Beispiel</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">Dieses Thema enthält die folgenden Abschnitte:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">Dieser Abschnitt enthält die folgenden Unterabschnitte:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. Alle Rechte vorbehalten.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">Verwandte Themen:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c6431cf7116b39f3143cb7554d767eec8a699450
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Michael Buchner -->
+
+  <!-- note text -->
+  <item id="notDocumented">Diese API ist nicht dokumentiert.</item>
+  <item id="preliminaryText">Diese API-Dokumentation befindet sich im Entwurf und kann sich noch ändern.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">Product</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">Produkt Klassenbibliothek</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namensräume</referenceLink></item>
+  <item id="definedBy">(Definiert von {0}.)</item>
+	<item id="inheritedFrom">(Vererbt von {0}.)</item>
+	<item id="overridesMember">(Ãœberschreibt {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Modul: {1})</item>
+ 
+  <item id="derivedClasses">Abgeleitete Klassen</item>
+  <item id="explicitInterfaceImplementation">Explizite Schnittstellenimplementierungen</item>
+  <item id="returnValue">Rückgabewert</item>
+  <item id="propertyValue">Eigenschaftswert</item>
+  <item id="fieldValue">Feldwert</item>
+  <item id="example">Beispiel</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Namensräume</item>
+	<item id="topicTitle_namespace">{0} Namensraum</item>
+	<item id="topicTitle_namespaceGroup">{0} Namensräume</item>
+	<item id="topicTitle_class">{0} Klasse</item>
+	<item id="topicTitle_structure">{0} Struktur</item>
+	<item id="topicTitle_interface">{0} Schnittstelle</item>
+	<item id="topicTitle_derivedTypeList">{0} Abgeleitete Klassen</item>
+  
+	<item id="topicTitle_delegate">{0} Delegat</item>
+	<item id="topicTitle_enumeration">{0} Enumeration</item>
+	<item id="topicTitle_field">{0} Feld</item>
+	<item id="topicTitle_method">{0} Methode {1}</item>
+	<item id="topicTitle_constructor">{0} Konstruktor {1}</item>
+	<item id="topicTitle_property">{0} Eigenschaft {1}</item>
+	<item id="topicTitle_event">{0} Ereignis</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} Operator {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Konvertierung {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Konvertierungsoperatoren</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Angefügte Eigenschaften</item>
+	<item id="topicTitle_attachedEvent">{0} Angefügte Ereignisse</item>
+
+  <item id="generic"> generisch</item>
+  <item id="topicTitle_generic_class">{0} Generische Klasse</item>
+  <item id="topicTitle_generic_structure">{0} Generische Struktur</item>
+  <item id="topicTitle_generic_interface">{0} Generische Schnittstelle</item>
+  <item id="topicTitle_generic_delegate">{0} Generischer Delegat</item>
+  <item id="topicTitle_generic_method">{0} Generische Methode {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} Felder</item>
+	<item id="topicTitle_methods">{0} Methoden</item>
+	<item id="topicTitle_enumMembers">Member</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operatoren</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operatoren and Typenkonvertierungen</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Typenkonvertierungen</item>
+  
+	<item id="topicTitle_constructors">{0} Konstruktoren</item>
+	<item id="topicTitle_properties">{0} Eigenschaften</item>
+	<item id="topicTitle_events">{0} Ereignisse</item>
+	<item id="topicTitle_attachedProperties">{0} Angefügte Eigenschaften</item>
+ 	<item id="topicTitle_attachedEvents">{0} Angefügte Ereignisse</item>
+	<item id="topicTitle_members">{0} Member</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">Namensräume</item>
+  <item id="indexEntry_namespace">{0} Namensraum</item>
+  <item id="indexEntry_class">{0} Klasse</item>
+	<item id="indexEntry_structure">{0} Struktur</item>
+	<item id="indexEntry_interface">{0} Schnittstelle</item>
+	<item id="indexEntry_delegate">{0} Delegat</item>
+	<item id="indexEntry_enumeration">{0} Enumeration</item>
+  <item id="indexEntry_enumerationMember">{0} Enumerationsmember</item>
+  <item id="indexEntry_members">{0}, Alle Member</item>
+  <item id="indexEntry_methods">{0}, Methoden</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, Operatoren</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, Operationen und Typkonvertierungen</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, Typkonvertierungen</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} Konvertierungen</item>
+  <item id="indexEntry_properties">{0}, Eigenschaften</item>
+  <item id="indexEntry_fields">{0}, Felder</item>
+  <item id="indexEntry_events">{0}, Ereignisse</item>
+  <item id="indexEntry_attachedProperties">{0}, Angefügte Eigenschaften</item>
+  <item id="indexEntry_attachedEvents">{0}, Angefügte Ereignisse</item>
+	<item id="indexEntry_constructors">{0}, Konstruktoren</item>
+	<item id="indexEntry_constructor">{0}, Konstruktor</item>
+	<item id="indexEntry_constructorType">{0} Konstruktor</item>
+  <item id="indexEntry_method">{0} Methode</item>
+	<item id="indexEntry_property">{0} Eigenschaft</item>
+	<item id="indexEntry_event">{0} Ereignis</item>
+	<item id="indexEntry_field">{0} Feld</item>
+	<item id="indexEntry_operator">{0} Operator</item>
+	<item id="indexEntry_attachedProperty">{0} Angefügte Eigenschaften</item>
+	<item id="indexEntry_attachedEvent">{0} Angefügte Ereignisse</item>
+	<item id="indexEntry_methodExplicit">{0} Explizit implementierte Methode</item>
+	<item id="indexEntry_propertyExplicit">{0} Explizit implementierte Eigenschaft</item>
+	<item id="indexEntry_eventExplicit">{0} Explizit implementiertes Ereignis</item>
+	<item id="indexEntry_fieldExplicit">{0} Explizit implementiertes Feld</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Syntax</item>
+	<item id="title_templates">Typenparameter</item>
+	<item id="title_parameters">Parameter</item>
+	<item id="title_value">Wert</item>
+	<item id="title_delegateValue">Rückgabewert</item>
+	<item id="title_methodValue">Rückgabewert</item>
+	<item id="title_propertyValue">Eigenschaftswert</item>
+	<item id="title_fieldValue">Feldwert</item>
+	<item id="title_implements">Implementiert</item>
+	<item id="title_examples">Beispiele</item>
+	<item id="title_threadSafety">Threadsicherheit</item>
+	<item id="title_permissions">.NET Framework Security</item>
+	<item id="title_namespaces">Namensräume</item>
+	<item id="title_types">Typen</item>
+	<item id="title_family">Vererbungshierarchie</item>
+	<item id="title_versions">Versionsinformation</item>
+	<item id="title_platforms">Plattformen</item>
+	<item id="title_relatedTopics">Siehe auch</item>
+	<item id="title_extensionUsage">Verwendungshinweise</item>
+	<item id="text_extensionUsage">In Visual Basic und C# können Sie diese Methode als Instanzmethode eines beliebigen Objektes vom Typ {0} aufrufen. Wenn Sie die Instanzmethodensyntax beim Methodenaufruf anwenden, lassen Sie den ersten Parameter weg. Für weitere Informationen siehe <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (Visual Basic)</a> or <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Erweiterungsmethoden (C# Programmierhandbuch)</a>.</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Namensraum</item>
+	<item id="header_namespaceDescription">Beschreibung</item>
+	<item id="header_typeIcon">Icon</item>
+  <item id="header_className">Klasse</item>
+  <item id="header_structureName">Struktur</item>
+  <item id="header_interfaceName">Schnittstelle</item>
+  <item id="header_delegateName">Delegat</item>
+  <item id="header_enumerationName">Enumeration</item>
+  
+	<item id="header_typeName">Name</item>
+	<item id="header_typeDescription">Beschreibung</item>
+	<item id="header_memberIcon">Icon</item>
+	<item id="header_memberName">Membername</item>
+	<item id="header_memberValue">Wert</item>
+	<item id="header_memberDescription">Beschreibung</item>
+	<item id="header_eventType">Ereignistyp</item>
+	<item id="header_eventReason">Grund</item>
+	<item id="header_exceptionName">Ausnahme</item>
+	<item id="header_exceptionCondition">Bedingung</item>
+	<item id="header_permissionName">Berechtigung</item>
+	<item id="header_permissionDescription">Beschreibung</item>
+  <item id="header_requiresName">Benötigt</item>
+  <item id="header_ensuresName">Garantiert</item>
+  <item id="header_ensuresOnThrowName">Garantiert beim Werfen</item>
+  <item id="header_invariantsName">Invarianten</item>
+
+	<item id="header_revHistoryDate">Date</item>
+	<item id="header_revHistoryVersion">Version</item>
+	<item id="header_revHistoryDescription">Description</item>
+
+  <!-- member list table titles -->
+	<item id="tableTitle_class">Klassen</item>
+	<item id="tableTitle_structure">Strukturen</item>
+	<item id="tableTitle_interface">Schnittstellen</item>
+	<item id="tableTitle_delegate">Delegat</item>
+	<item id="tableTitle_enumeration">Enumerationen</item>
+  <item id="tableTitle_constructor">Konstruktoren</item>
+  <item id="tableTitle_method">Methoden</item>
+  <item id="tableTitle_operator">Operatoren</item>
+  <item id="tableTitle_field">Felder</item>
+  <item id="tableTitle_property">Eigenschaften</item>
+  <item id="tableTitle_event">Ereignisse</item>
+  <item id="tableTitle_attachedEvent">Angefügte Ereignisse</item>
+  <item id="tableTitle_attachedProperty">Angefügte Eigenschaften</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Explizite&#160;Schnittstellen&#160;implementierungen</item>
+	<item id="tableTitle_overloadMembers">Liste&#160;der&#160;Ãœberladungen</item>
+  <item id="tableTitle_extensionMethod">Erweiterungsmethoden</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Threadsicherheit</item>
+  <item id="boilerplate_threadSafety">Jeder öffentliche <include item="devlang_staticKeyword"/> Member dieses Typs ist threadsicher. Instanzmember sind nicht generell threadsicher.</item>
+
+  <item id="text_staticThreadSafe">Statische Member dieses Typs sind threadsicher. </item>
+  <item id="text_staticNotThreadSafe">Statische Member dieses Typs sind nicht threadsicher. </item>
+  <item id="text_instanceThreadSafe">Instanzmember dieses Typs sind threadsicher. </item>
+  <item id="text_instanceNotThreadSafe">Instanzmember dieses Typs sind nicht threadsicher. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Der {0} generische Typ exponiert die folgenden Member.</item>
+  <item id="exposedMembersTableText">Der {0} Typ exponiert die folgenden Member.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Abhängigkeitseigenschaftsinformation</item>
+  <item id="routedEventInfoHeading">Weitergeleitete Ereignisinformation</item>
+  <item id="mrefTaskMoreCodeHeading">Mehr Code</item>
+
+  <item id="Overloaded">Ãœberladen. </item>	
+  <item id="defaultNamespace">( Standardnamensraum )</item>
+  
+  <item id="typeLink">Typ:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> Typparameter von {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtection Attribut. </item>
+	<item id="boilerplate_hostProtectionAttribute">Das <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> Attribut des Typs oder Members hat den folgenden <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> Eigenschaftswert: {1}. Das <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> hat keine Auswirkung auf Desktop Applikationen (die typischerweise durch Doppelklick auf ein Icon, durch Eingabe eines Befehls oder einer URL in einem Browser gestartet werden). Für mehr Information dazu siehe <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> class or <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server Programming and Host Protection Attributes</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsolet. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Hinweis: Die API ist nun obsolet.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">klasse</item>
+  <item id="text_delegateLower">delegat</item>
+  <item id="text_structureLower">struktur</item>
+  <item id="text_interfaceLower">schnittstelle</item>
+  <item id="text_enumerationLower">enumeration</item>
+
+  <item id="text_classUpper">Klasse</item>
+  <item id="text_structureUpper">Struktur</item>
+  <item id="text_interfaceUpper">Schnittstelle</item>
+  <item id="text_delegateUpper">Delegat</item>
+  <item id="text_enumerationUpper">Enumeration</item>
+
+	<item id="text_classTypesLower">klassen</item>
+	<item id="text_structureTypesLower">strukturen</item>
+	<item id="text_interfaceTypesLower">schnittstellen</item>
+	<item id="text_delegateTypesLower">delegaten</item>
+	<item id="text_enumerationTypesLower">enumerationen</item>
+  
+	<item id="text_classTypesUpper">Klassen</item>
+	<item id="text_structureTypesUpper">Strukturen</item>
+	<item id="text_interfaceTypesUpper">Schnittstellen</item>
+	<item id="text_delegateTypesUpper">Delegaten</item>
+	<item id="text_enumerationTypesUpper">Enumerationen</item>
+
+  <item id="text_membersLower">Member</item>
+  <item id="text_methodsLower">Methoden</item>
+  <item id="text_propertiesLower">Eigenschaften</item>
+  <item id="text_eventsLower">Ereignisse</item>
+  <item id="text_fieldsLower">Felder</item>
+  <item id="text_operatorsLower">Operatoren</item>
+  <item id="text_attachedPropertiesLower">Angefügte Eigenschaften</item>
+  <item id="text_attachedEventsLower">Angefügte Ereignisse</item>
+
+  <item id="text_membersUpper">Member</item>
+  <item id="text_methodsUpper">Methoden</item>
+  <item id="text_propertiesUpper">Eigenschaften</item>
+  <item id="text_eventsUpper">Ereignisse</item>
+  <item id="text_fieldsUpper">Felder</item>
+  <item id="text_operatorsUpper">Operatoren</item>
+  <item id="text_attachedPropertiesUpper">Angefügte Eigenschaften</item>
+  <item id="text_attachedEventsUpper">Angefügte Ereignisse</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Public Klasse</item>
+	<item id="altText_pubStructure">Public Struktur</item>
+	<item id="altText_pubInterface">Public Schnittstelle</item>
+	<item id="altText_pubDelegate">Public Delegat</item>
+	<item id="altText_pubEnumeration">Public Enumeration</item>
+	<item id="altText_protClass">Protected Klasse</item>
+	<item id="altText_protStructure">Protected Struktur</item>
+	<item id="altText_protInterface">Protected Schnittstelle</item>
+	<item id="altText_protDelegate">Protected Delegat</item>
+	<item id="altText_protEnumeration">Protected Enumeration</item>
+	<item id="altText_privClass">Private Klasse</item>
+	<item id="altText_privStructure">Private Struktur</item>
+	<item id="altText_privInterface">Private Schnittstelle</item>
+	<item id="altText_privDelegate">Private Delegat</item>
+	<item id="altText_privEnumeration">Private Enumeration</item>
+
+	<item id="altText_pubConstructor">Public Konstruktor</item>
+	<item id="altText_pubMethod">Public Methode</item>
+	<item id="altText_pubField">Public Feld</item>
+	<item id="altText_pubProperty">Public Eigenschaft</item>
+	<item id="altText_pubEvent">Public Ereignis</item>
+	<item id="altText_pubOperator">Public Operator</item>
+	<item id="altText_pubAttachedProperty">Public angefügte Eigenschaft</item>
+	<item id="altText_pubAttachedEvent">Public angefügtes Ereignis</item>
+	<item id="altText_protConstructor">Protected Konstruktor</item>
+	<item id="altText_protMethod">Protected Methode</item>
+	<item id="altText_protField">Protected Feld</item>
+	<item id="altText_protProperty">Protected Eigenschaft</item>
+	<item id="altText_protEvent">Protected Ereignis</item>
+	<item id="altText_protOperator">Protected Operator</item>
+	<item id="altText_protAttachedProperty">Protected angefügte Eigenschaft</item>
+	<item id="altText_protAttachedEvent">Protected angefügtes Ereignis</item>
+	<item id="altText_privConstructor">Private Konstruktor</item>
+	<item id="altText_privMethod">Private Methode</item>
+	<item id="altText_privField">Private Feld</item>
+	<item id="altText_privProperty">Private Eigenschaft</item>
+	<item id="altText_privEvent">Private Ereignis</item>
+	<item id="altText_privOperator">Private Operator</item>
+	<item id="altText_privtAttachedProperty">Private angefügte Eigenschaft</item>
+	<item id="altText_privAttachedEvent">Private angefügtes Ereignis</item>
+	<item id="altText_static">Static Member</item>
+	<item id="altText_pubextension">Public Erweiterungsmethode</item>
+	<item id="altText_protextension">Protected Erweiterungsmethode</item>
+	<item id="altText_privextension">Private Erweiterungsmethode</item>
+
+  <item id="altText_CompactFramework">Vom .NET Compact Framework unterstützt</item>
+  <item id="altText_XNAFramework">Vom XNA Framework unterstützt</item>
+  <item id="altText_SilverlightMobile">Von <include item="silverlight_mobile"/> unterstützt</item>
+  <item id="altText_ExplicitInterface">Explizite Schnittstellenimplementierung</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Namensraum</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Member</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Ãœberladung</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Namensraum:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Plattformen:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Assemblys:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Assembly:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Assembly:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Unterstützt in: {0}</item>
+  <item id="supportedIn_2">Unterstützt in: {0}, {1}</item>
+  <item id="supportedIn_3">Unterstützt in: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Unterstützt in: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Unterstützt in: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Unterstützt in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsolet (Compilerwarnung) in {0}</item>
+  <item id="obsoleteError">Obsolet (compiliert nicht) in {0} und später</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Volles Vertrauen gegenüber dem unmittelbaren Aufrufer. Dieser Member kann nicht von teilweise vertrautem Code verwendet werden. Für mehr Information dazu siehe <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Dieser Typparameter ist kovariant. Das bedeutet, Sie können entweder den spezifizierten oder einen weiter abgeleiteten Typ verwenden. </item>
+  <item id="text_contravariant">Dieser Typparameter ist kontravariant. Das bedeutet, Sie können entweder den spezifizierten oder einen weniger abgeleiteten Typ verwenden. </item>
+  <item id="text_variance">Für mehr Informationen über Kovarianz und Kontravarianz siehe <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Kovarianz und Kontravarianz (C# und Visual Basic).</a>.</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Die API ist nicht CLS-konform.</item>
+  <item id="boilerplate_AltClsCompliant">The CLS-konforme Alternative ist {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Dieser Typ besitzt ein SecurityCriticalAttribute Attribut, das ihn auf die ausschließlich interne Verwendung durch das .NET Framework für die Silverlight Klassenbibliothek beschränkt. Programmcode, der Member dieses Typs verwendet, wirft eine MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Dieser Member besitzt ein SecurityCriticalAttribute Attribut, das ihn auf die ausschließlich interne Verwendung durch das .NET Framework für die Silverlight Klassenbibliothek beschränkt. Programmcode, der Member dieses Typs verwendet, wirft eine MethodAccessException.</item>
+  <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Dieser Member ist überladen. Für eine vollständige Information über diesen Member einschließlich Syntax, Verwendung und Beispiele klicken Sie auf einen Namen in der Liste der Überladungen.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Plattformhinweis</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>Der <include item="netfw"/> und <include item="netcfw"/> unterstützen nicht alle Versionen jeglicher Plattform. Für eine Liste der unterstützten Versionen siehe <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework Systemanforderungen</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    Für Informationen bzgl. Betriebssystemen und Browsern, die von <include item="silverlight"/> unterstützt werden, siehe <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Unterstützte Betriebssysteme und Browser</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile für Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile für Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight für Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS für XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Nicht einem xmlns zugeordnet.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>In <include item="{0}"/>, dieser Member ist überschrieben durch {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, dieser Member ist abgeleitet von {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, dieser Member ist {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Dieser Member überschreibt {0}.</item>
+  <item id="boilerplate_useBaseSee">Siehe {0}.</item>
+  <item id="boilerplate_useBase">Dieser Member überschreibt {0}. Weitere Dokumentation dazu steht in diesem Thema zur Verfügung.</item>
+
+  <item id="boilerplate_flagsSummary">Diese Enumeration hat ein {0} Attribut, das eine bitweise Kombination seiner Memberwerte erlaubt.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Member</item>
+	<item id="membersTitle">Liste der Ãœberladungen</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+  <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0}&gt; documentation for "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}']</p></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89b1ffd250f80e7dcd53afb36177261fa2b2e124
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/shared_content.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+	<!-- Translations provided by Michael Buchner -->
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">de-DE</item>
+	<item id="brandingLocaleCss">branding-de-DE.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+  <item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+  <!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+  <!-- freshness date -->
+  <item id="boilerplate_UpdateTitle"><span class="introStyle">Aktualisiert: {0}</span></item>
+  <!-- if the TransformComponent of the BuildAssembler config file has the argument:
+             argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+       the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+  <item id="text_defaultFreshnessDate"/>
+
+  <!-- topic title -->
+  <item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Tipp</item>
+	<item id="alert_title_caution">Achtung</item>
+	<item id="alert_title_security">Sicherheitshinweis</item>
+	<item id="alert_title_note">Hinweis</item>
+	<item id="alert_title_important">Wichtig</item>
+	<item id="alert_title_visualBasic">Visual Basic Hinweis</item>
+	<item id="alert_title_visualC#">C# Hinweis</item>
+	<item id="alert_title_visualC++">C++ Hinweis</item>
+	<item id="alert_title_visualJ#">J# Hinweis</item>
+	<item id="text_NotesForImplementers">Hinweise an Implementierer</item>
+	<item id="text_NotesForCallers">Hinweise an Anrufer</item>
+	<item id="text_NotesForInheritors">Hinweise an Erben</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Tipp</item>
+	<item id="alert_altText_caution">Achtung</item>
+	<item id="alert_altText_security">Sicherheitshinweis</item>
+	<item id="alert_altText_note">Hinweis</item>
+	<item id="alert_altText_important">Wichtig</item>
+	<item id="alert_altText_visualBasic">Visual Basic Hinweis</item>
+	<item id="alert_altText_visualC#">C# Hinweis</item>
+	<item id="alert_altText_visualC++">C++ Hinweis</item>
+	<item id="alert_altText_visualJ#">J# Hinweis</item>	
+
+  <!-- section titles -->
+  <item id="title_remarks">Anmerkungen</item>
+  <item id="title_changeHistory">Änderungshistorie</item>
+  <item id="title_events">Ereignisse</item>
+  <item id="title_exceptions">Ausnahmen</item>
+  <item id="title_contracts">Verträge</item>
+  <item id="title_setter">Set</item>
+  <item id="title_getter">Get</item>
+  <item id="title_seeAlso_tasks">Aufgaben</item>
+  <item id="title_seeAlso_reference">Referenz</item>
+  <item id="title_seeAlso_concepts">Konzepte</item>
+  <item id="title_seeAlso_otherResources">Andere Ressourcen</item>
+  <item id="title_revisionHistory">Revision History</item>
+  
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">Für mehr Information siehe </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> und </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic und C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>No code example is currently available or this language may not be supported.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+  <!-- language keywords -->
+  <item id="devlang_nullKeyword">eine Null Referenz (<span class="keyword">Nothing</span> in Visual Basic)</item>
+  <item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> in Visual Basic)</item>
+  <item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> in Visual Basic)</item>
+  <item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> in Visual Basic)</item>
+  <item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> in Visual Basic)</item>
+  <item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> in Visual Basic)</item>
+  <item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> in Visual Basic)</item>
+  <item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> in Visual Basic)</item>
+  <item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> in Visual Basic)</item>
+  <item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> in Visual Basic)</item>
+  
+  <!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+  <item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+  <item id="top">Zurück nach oben</item>
+
+  <!-- Copyright -->	
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. Alle Rechte vorbehalten.</item> 
+
+  <!-- Bibliography -->
+  <item id="bibliographyTitle">Quellenverzeichnis</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copy</item>
+	
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">Click or drag to resize</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/de-DE/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..71e69f0a6a1c96e64617012c8817b6688e178592
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">Gu&#237;a del desarrollador de .NET Framework</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">En esta secci&#243;n</item>
+	<item id="title_buildInstructions">Compilar el c&#243;digo</item>
+	<item id="title_nextSteps">Pasos siguientes</item>
+	<item id="title_requirements">Requerimientos</item>
+	<item id="title_relatedSections">Secciones relacionadas</item>
+	<item id="title_relatedTopics">Vea tambi&#233;n</item>
+	<item id="title_syntax">Sintaxis</item>
+	<item id="title_parameters">Par&#225;metros</item>
+	<item id="title_returnValue">Valor devuelto</item>
+  <item id="title_attributesAndElements">Atributos y elementos</item>
+	<item id="title_attributes">Atributos</item>
+	<item id="title_childElement">Elementos secundarios</item>
+	<item id="title_parentElement">Elementos primarios</item>
+	<item id="title_elementInformation">Informaci&#243;n del elemento</item>
+  <item id="title_textValue">Valor textual</item>
+  <item id="title_dotNetFrameworkEquivalent">Equivalente de .NET Framework</item>
+  <item id="title_prerequisites">Requisitos previos</item>
+  <item id="title_robustProgramming">Programaci&#243;n eficaz</item>
+	<item id="title_securitySection">Seguridad</item>
+	<item id="title_externalResources">Recursos externos</item>
+	<item id="title_demonstrates">Demuestra</item>
+  <item id="title_appliesTo">Aplicable a</item>
+	<item id="title_conclusion">Conclusi&#243;n</item>
+  <item id="title_background">Background</item>
+	<item id="title_whatsNew">Novedades</item>
+  <item id="title_reference">Referencia</item>
+  <item id="title_errorMessage">Mensaje de error</item>
+  <item id="title_example">Ejemplo</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">Este tema contiene las secciones siguientes.</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">Este tema contiene las siguientes subsecciones.</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. Todos los derechos reservados.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">Vea tambi&#233;n:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..006228323f4b71dfbb0558173818d74371f1c766
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">Esta API no est&#225; documentada.</item>
+  <item id="preliminaryText">Esta API es preliminar y est&#225; sujeta a cambios.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Class Library</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">.NET Framework Class Library</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namespaces</referenceLink></item>
+  <item id="definedBy">(Definido por {0}.)</item>
+	<item id="inheritedFrom">(Se hereda de {0}.)</item>
+	<item id="overridesMember">(Reemplaza a {0}.)</item>
+	<item id="locationInformation">Ensamblado: {0} (M&#243;dulo: {1})</item>
+ 
+  <item id="derivedClasses">Clases derivadas</item>
+  <item id="explicitInterfaceImplementation">Implementaciones expl&#237;citas de interfaces</item>
+  <item id="returnValue">Valor devuelto</item>
+  <item id="propertyValue">Valor de propiedad</item>
+  <item id="fieldValue">Valor de campo</item>
+  <item id="example">Ejemplo</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Espacios de nombres</item>
+	<item id="topicTitle_namespace">{0} (Espacio de nombres)</item>
+	<item id="topicTitle_namespaceGroup">{0} (Espacios de nombres)</item>
+	<item id="topicTitle_class">{0} (Clase)</item>
+	<item id="topicTitle_structure">{0} (Estructura)</item>
+	<item id="topicTitle_interface">{0} (Interfaz)</item>
+	<item id="topicTitle_derivedTypeList">{0} (Clases derivadas)</item>
+  
+	<item id="topicTitle_delegate">{0} (Delegado)</item>
+	<item id="topicTitle_enumeration">{0} (Enumeraci&#243;n)</item>
+	<item id="topicTitle_field">{0} (Campo)</item>
+	<item id="topicTitle_method">{0} (M&#233;todo {1})</item>
+	<item id="topicTitle_constructor">{0} (Constructor {1})</item>
+	<item id="topicTitle_property">{0} (Propiedad {1})</item>
+	<item id="topicTitle_event">{0} (Evento)</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} (Operador {1})</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} (Conversi&#243;n {1})</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} (Operadores de Conversi&#243;n)</item>
+      
+	<item id="topicTitle_attachedProperty">{0} (Propiedad adjunta)</item>
+	<item id="topicTitle_attachedEvent">{0} (Evento adjunto)</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} (Clase gen&#233;rica)</item>
+  <item id="topicTitle_generic_structure">{0} (Estructura gen&#233;rica)</item>
+  <item id="topicTitle_generic_interface">{0} (Interfaz gen&#243;rica)</item>
+  <item id="topicTitle_generic_delegate">{0} (Delegado gen&#233;rico)</item>
+  <item id="topicTitle_generic_method">{0} (M&#233;todo gen&#233;rico {1})</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} (Campos)</item>
+	<item id="topicTitle_methods">{0} (M&#233;todos)</item>
+	<item id="topicTitle_enumMembers">Miembros</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} (Operadores)</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} (Operadores y Conversiones de Tipos)</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} (Conversiones de Tipos)</item>
+  
+	<item id="topicTitle_constructors">{0} (Constructores)</item>
+	<item id="topicTitle_properties">{0} (Propiedades)</item>
+	<item id="topicTitle_events">{0} (Eventos)</item>
+	<item id="topicTitle_attachedProperties">{0} (Propiedades adjuntas)</item>
+ 	<item id="topicTitle_attachedEvents">{0} (Eventos adjuntos)</item>
+	<item id="topicTitle_members">{0} (Miembros)</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">namespaces</item>
+  <item id="indexEntry_namespace">{0} namespace</item>
+  <item id="indexEntry_class">{0} class</item>
+	<item id="indexEntry_structure">{0} structure</item>
+	<item id="indexEntry_interface">{0} interface</item>
+	<item id="indexEntry_delegate">{0} delegate</item>
+	<item id="indexEntry_enumeration">{0} enumeration</item>
+  <item id="indexEntry_enumerationMember">{0} enumeration member</item>
+  <item id="indexEntry_members">{0}, all members</item>
+  <item id="indexEntry_methods">{0}, methods</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, operators</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, operators and type conversions</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, type conversions</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} conversion</item>
+  <item id="indexEntry_properties">{0}, properties</item>
+  <item id="indexEntry_fields">{0}, fields</item>
+  <item id="indexEntry_events">{0}, events</item>
+  <item id="indexEntry_attachedProperties">{0}, attached properties</item>
+  <item id="indexEntry_attachedEvents">{0}, attached events</item>
+	<item id="indexEntry_constructors">{0}, constructors</item>
+	<item id="indexEntry_constructor">{0}, constructor</item>
+	<item id="indexEntry_constructorType">{0} constructor</item>
+  <item id="indexEntry_method">{0} method</item>
+	<item id="indexEntry_property">{0} property</item>
+	<item id="indexEntry_event">{0} event</item>
+	<item id="indexEntry_field">{0} field</item>
+	<item id="indexEntry_operator">{0} operator</item>
+	<item id="indexEntry_attachedProperty">{0} attached property</item>
+	<item id="indexEntry_attachedEvent">{0} attached event</item>
+	<item id="indexEntry_methodExplicit">{0} explicitly implemented method</item>
+	<item id="indexEntry_propertyExplicit">{0} explicitly implemented property</item>
+	<item id="indexEntry_eventExplicit">{0} explicitly implemented event</item>
+	<item id="indexEntry_fieldExplicit">{0} explicitly implemented field</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Sintaxis</item>
+	<item id="title_templates">Par&#225;metros de tipo</item>
+	<item id="title_parameters">Par&#225;metros</item>
+	<item id="title_value">Valor</item>
+	<item id="title_delegateValue">Valor del delegado</item>
+	<item id="title_methodValue">Valor devuelto</item>
+	<item id="title_propertyValue">Valor de propiedad</item>
+	<item id="title_fieldValue">Valor del campo</item>
+	<item id="title_implements">Implementa</item>
+	<item id="title_examples">Ejemplos</item>
+	<item id="title_threadSafety">Seguridad para subprocesos</item>
+	<item id="title_permissions">Seguridad de .NET Framework</item>
+	<item id="title_namespaces">Espacios de nombres</item>
+	<item id="title_types">Tipos</item>
+	<item id="title_family">Jerarqu&#237;a de herencia</item>
+	<item id="title_versions">Informaci&#243;n de versi&#243;n</item>
+	<item id="title_platforms">Platformas</item>
+	<item id="title_relatedTopics">Vea tambi&#233;n</item>
+	<item id="title_extensionUsage">Nota sobre el uso</item>
+	<item id="text_extensionUsage">En Visual Basic y C#, se puede llamar a este m&#233;todo como a un m&#233;todo de instancia en cualquier objeto de tipo {0}. Cuando emplee la sintaxis de m&#233;todo de instancia para llamar a este m&#233;todo, omita el primer par&#225;metro. Para obtener m&#225;s informaci&#243;n, vea <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">M&#233;todos de extensi&#243;n (Visual Basic)</a> o <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">M&#233;todos de extensi&#243;n (Gu&#237;a de programaci&#243;n C#)</a>.</item>
+	<item id="text_moreInheritance">Mas...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Espacio de nombre</item>
+	<item id="header_namespaceDescription">Descripci&#243;n</item>
+	<item id="header_typeIcon">&#205;cono</item>
+  <item id="header_className">Clase</item>
+  <item id="header_structureName">Estructura</item>
+  <item id="header_interfaceName">Interfaz</item>
+  <item id="header_delegateName">Delegado</item>
+  <item id="header_enumerationName">Enumeraci&#243;n</item>
+  
+	<item id="header_typeName">Nombre</item>
+	<item id="header_typeDescription">Descripci&#243;n</item>
+	<item id="header_memberIcon">&#205;cono</item>
+	<item id="header_memberName">Nombre del miembro</item>
+	<item id="header_memberValue">Valor</item>
+	<item id="header_memberDescription">Descripci&#243;n</item>
+	<item id="header_eventType">Tipo de evento</item>
+	<item id="header_eventReason">Raz&#243;</item>
+	<item id="header_exceptionName">Excepci&#243;n</item>
+	<item id="header_exceptionCondition">Condici&#243;n</item>
+	<item id="header_permissionName">Permission</item>
+	<item id="header_permissionDescription">Description</item>
+  <item id="header_requiresName">Requires</item>
+  <item id="header_ensuresName">Ensures</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariants</item>
+
+	<item id="header_revHistoryDate">Fecha</item>
+	<item id="header_revHistoryVersion">Versi&#243;n</item>
+	<item id="header_revHistoryDescription">Descripci&#423;n</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">Espacios de nombres</item>
+	<item id="tableTitle_class">Clases</item>
+	<item id="tableTitle_structure">Estructuras</item>
+	<item id="tableTitle_interface">Interfaces</item>
+	<item id="tableTitle_delegate">Delegados</item>
+	<item id="tableTitle_enumeration">Enumeraciones</item>
+  <item id="tableTitle_constructor">Constructores</item>
+  <item id="tableTitle_method">M&#233;todos</item>
+  <item id="tableTitle_operator">Operadores</item>
+  <item id="tableTitle_field">Campos</item>
+  <item id="tableTitle_property">Propiedades</item>
+  <item id="tableTitle_event">Eventos</item>
+  <item id="tableTitle_attachedEvent">Eventos adjuntos</item>
+  <item id="tableTitle_attachedProperty">Propiedades adjuntas</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Implementaciones de interaz expl&#237;cita</item>
+	<item id="tableTitle_overloadMembers">Lista de sobrecargas</item>
+  <item id="tableTitle_extensionMethod">M&#233;todos de extensi&#243;</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Seguridad para subprocesos</item>
+  <item id="boilerplate_threadSafety">Los miembros <include item="devlang_staticKeyword"/> p&#250;blicos de este tipo son seguros para la ejecuci&#243;n de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecuci&#243;n de subprocesos.</item>
+
+  <item id="text_staticThreadSafe">Los miembros est&#225;ticos de este tipo son seguros para la ejecuci&#243;n de subprocesos. </item>
+  <item id="text_staticNotThreadSafe">Los miembros est&#225;ticos de este tipo no son seguros para la ejecuci&#243;n de subprocesos. </item>
+  <item id="text_instanceThreadSafe">Los miembros de instancia de este tipo son seguros para la ejecuci&#243;n de subprocesos. </item>
+  <item id="text_instanceNotThreadSafe">Los miembros de instancia de este tipo no son seguros para la ejecuci&#243;n de subprocesos. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">El tipo gen&#233;rico {0} expone a los siguientes miembros.</item>
+  <item id="exposedMembersTableText">El tipo {0} expone a los siguientes miembros.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Informaci&#243; de la propiedad de dependencia</item>
+  <item id="routedEventInfoHeading">Informaci&#243; del evento enrutado</item>
+  <item id="mrefTaskMoreCodeHeading">M&#225;s c&#243;digo</item>
+
+  <item id="Overloaded">Sobrecargado. </item>	
+  <item id="defaultNamespace">( Espacio de nombres predeterminado )</item>
+  
+  <item id="typeLink">Tipo:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> par&#225;metro de tipo de {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">El atributo <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> aplicado a este tipo o miembro tiene los siguientes <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> valor de propiedad: {1}. El atributo <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> no afecta a aplicaciones de escritorio (que son iniciadas comunmente haciendo doble clic en un &#237;cono, escribiendo un comando, o ingresando una URL en un navegador). Para mas informaci&#243;n, vea la clase <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> o <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">Programaci&#243;n de SQL Server y atributos de protecci&#243;n del host</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsoleto. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Nota: Esta API es obsoleta.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">clase</item>
+  <item id="text_delegateLower">delegade</item>
+  <item id="text_structureLower">estructura</item>
+  <item id="text_interfaceLower">interfaz</item>
+  <item id="text_enumerationLower">enumeraci&#243;n</item>
+
+  <item id="text_classUpper">Clase</item>
+  <item id="text_structureUpper">Estructura</item>
+  <item id="text_interfaceUpper">Interfaz</item>
+  <item id="text_delegateUpper">Delegado</item>
+  <item id="text_enumerationUpper">Enumeraci&#243;n</item>
+
+	<item id="text_classTypesLower">clases</item>
+	<item id="text_structureTypesLower">estructuras</item>
+	<item id="text_interfaceTypesLower">interfaces</item>
+	<item id="text_delegateTypesLower">delegados</item>
+	<item id="text_enumerationTypesLower">enumeraciones</item>
+  
+	<item id="text_classTypesUpper">Clases</item>
+	<item id="text_structureTypesUpper">Estructuras</item>
+	<item id="text_interfaceTypesUpper">Interfaces</item>
+	<item id="text_delegateTypesUpper">Delegados</item>
+	<item id="text_enumerationTypesUpper">Enumeraciones</item>
+
+  <item id="text_membersLower">miembros</item>
+  <item id="text_methodsLower">m&#233;todos</item>
+  <item id="text_propertiesLower">propiedades</item>
+  <item id="text_eventsLower">eventos</item>
+  <item id="text_fieldsLower">campos</item>
+  <item id="text_operatorsLower">operadores</item>
+  <item id="text_attachedPropertiesLower">propiedades adjuntas</item>
+  <item id="text_attachedEventsLower">eventos adjuntos</item>
+
+  <item id="text_membersUpper">Miembros</item>
+  <item id="text_methodsUpper">M&#233;todos</item>
+  <item id="text_propertiesUpper">Propiedades</item>
+  <item id="text_eventsUpper">Eventos</item>
+  <item id="text_fieldsUpper">Campos</item>
+  <item id="text_operatorsUpper">Operadores</item>
+  <item id="text_attachedPropertiesUpper">Propiedades adjuntas</item>
+  <item id="text_attachedEventsUpper">Eventos adjuntos</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Clase p&#250;blica</item>
+	<item id="altText_pubStructure">Estructura p&#250;blica</item>
+	<item id="altText_pubInterface">Interfaz p&#250;blica</item>
+	<item id="altText_pubDelegate">Delegado p&#250;blico</item>
+	<item id="altText_pubEnumeration">Enumeraci&#243; p&#250;blica</item>
+	<item id="altText_protClass">Clase protegida</item>
+	<item id="altText_protStructure">Estructura protegida</item>
+	<item id="altText_protInterface">Interfaz protegida</item>
+	<item id="altText_protDelegate">Delegado protegido</item>
+	<item id="altText_protEnumeration">Enumeraci&#243;n protegida</item>
+	<item id="altText_privClass">Clase privada</item>
+	<item id="altText_privStructure">Estructura privada</item>
+	<item id="altText_privInterface">Interfaz privada</item>
+	<item id="altText_privDelegate">Delegado privado</item>
+	<item id="altText_privEnumeration">Enumeraci&#243;n privada</item>
+
+	<item id="altText_pubConstructor">Constructor p&#250;blico</item>
+	<item id="altText_pubMethod">M&#233;todo p&#250;blico</item>
+	<item id="altText_pubField">Campo p&#250;blico</item>
+	<item id="altText_pubProperty">Propiedad p&#250;blica</item>
+	<item id="altText_pubEvent">Evento p&#250;blico</item>
+	<item id="altText_pubOperator">Operador p&#250;blico</item>
+	<item id="altText_pubAttachedProperty">Propiedad adjunta p&#250;blica</item>
+	<item id="altText_pubAttachedEvent">Evento adjunto p&#250;blico</item>
+	<item id="altText_protConstructor">Constructor protegido</item>
+	<item id="altText_protMethod">M&#233;todo protegido</item>
+	<item id="altText_protField">Campo protegido</item>
+	<item id="altText_protProperty">Propiedad protegida</item>
+	<item id="altText_protEvent">Evento protegido</item>
+	<item id="altText_protOperator">Operador protegido</item>
+	<item id="altText_protAttachedProperty">Propiedad adjunta protegida</item>
+	<item id="altText_protAttachedEvent">Evento adjunto protegido</item>
+	<item id="altText_privConstructor">Constructor privado</item>
+	<item id="altText_privMethod">M&#233;todo privado</item>
+	<item id="altText_privField">Campo privado</item>
+	<item id="altText_privProperty">Propiedad privada</item>
+	<item id="altText_privEvent">Evento privado</item>
+	<item id="altText_privOperator">Operador privado</item>
+	<item id="altText_privtAttachedProperty">Propiedad adjunta privada</item>
+	<item id="altText_privAttachedEvent">Evento adjunto privado</item>
+	<item id="altText_static">Miembro est&#225;tico</item>
+	<item id="altText_pubextension">M&#233;todo de extensi&#243;n p&#250;blico</item>
+	<item id="altText_protextension">M&#233;todo de extensi&#243;n protegido</item>
+	<item id="altText_privextension">M&#233;todo de extensi&#243;n privado</item>
+
+  <item id="altText_CompactFramework">Compatible con .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Compatible con XNA Framework</item>
+  <item id="altText_SilverlightMobile">Compatible con <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Implementaci&#243;n expl&#237;cita de interfaz</item>
+  <item id="altText_CodeExample">C&#243;digo de ejemplo</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">Espacio de nombres {0}</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">Miembros de {0}</item>
+  <item id="boilerplate_seeAlsoOverloadLink">Sobrecargas de {0}</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Espacio de nombres:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Plataformas:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Ensamblados:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Ensamblado:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (en {1}.{2}) Versi&#243;n: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Ensamblado:</strong> {0} (en {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Compatible con: {0}</item>
+  <item id="supportedIn_2">Compatible con: {0}, {1}</item>
+  <item id="supportedIn_3">Compatible con: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Compatible con: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Compatible con: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Compatible con: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsoleto (advertencia del compilador) en {0}</item>
+  <item id="obsoleteError">Obsoleto (no compila) en {0} y posteriores</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Este par&#225;metro de tipo es covariante. Es decir, puede usar el tipo especificado o cualquier tipo que sea m&#225;s derivado. </item>
+  <item id="text_contravariant">Este par&#225;metro de tipo es contravariante. Es decir, puede usar el tipo especificado o cualquier tipo que sea menos derivado. </item>
+  <item id="text_variance">Para obtener m&#225;s informaci&#243;n sobre la covarianza y la contravarianza, vea <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Covarianza and contravarianza (C# y Visual Basic).</a>.</item>
+
+  <!-- Non Cls Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Esta API no es conforme a CLS.</item>
+  <item id="boilerplate_AltClsCompliant">La alternativa conforme a CLS es {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Este tipo tiene un atributo SecurityCriticalAttribute, que lo restringe a uso interno de la biblioteca .NET Framework para Silverlight. Si c&#243;digo de aplicaci&#243;n usa un miembro de esto tipo, producir&#225; un MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Este miembro tiene un atributo SecurityCriticalAttribute, que lo restringe a uso interno de la biblioteca .NET Framework para Silverlight. Si c&#243;digo de aplicaci&#243;n usa este miembro, producir&#225; un MethodAccessException.</item>
+  <item id="text_securityCritical">[CR&#205;TICO DE SEGURIDAD] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Este miembro est&#225; sobrecargado. Para obtener informaci&#243;n completa sobre este miembro, incluida la sintaxis, el uso y algunos ejemplos, haga clic en un nombre de la lista de sobrecarga.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Nota sobre plataforma:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>El <include item="netfw"/> y el <include item="netcfw"/> no soportan todas las versiones de todas las plataformas. Para obtener una lista de las versiones soportadas, vea <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">Requisitos de sistema de .NET Framework</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    Para obtener informaci&#243;n sobre los sistemas operativos y navegadores soportados por <include item="silverlight"/>, vea <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Sistemas operativos y navegadores soportados</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS para XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">No asignada a un xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>En <include item="{0}"/>, este miembro es invalidado por {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>En <include item="{0}"/>&#160;<include item="{1}"/>, este miembro hereda de {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>En <include item="{0}"/>&#160;<include item="{1}"/>, este miembro es {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Este miembro invalida {0}.</item>
+  <item id="boilerplate_useBaseSee">Vea {0}.</item>
+  <item id="boilerplate_useBase">Este miembro invalida {0}, y puede haber documentaci&#243;n mas completa sobre este tema.</item>
+
+  <item id="boilerplate_flagsSummary">Esta enumeraci&#243;n tiene un atributo {0} que permite una combinaci&#243;n bit a bit de los valores de miembro.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Miembros</item>
+	<item id="membersTitle">Lista de sobrecarga</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Inicializa una nueva instancia de la clase <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocStaticConstructor">Inicializa los campos est&#225;ticos de la clase <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDispose">Libera todos los recursos utilizados por <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Libera los recursos no administrados que utiliza <referenceLink target="T:{0}" /> y libera los recursos administrados de forma opcional</item>
+  <item id="SMCAutoDocDisposeParam">Es true para liberar tanto recursos administrados como no administrados; es false para liberar &#250;nicamente recursos no administrados</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Falta documentaci&#243;n &lt;{0}&gt; para "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Falta documentaci&#243;n &lt;{0} name="{1}"/&gt; para "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Falta documentaci&#243;n objetivo &lt;include&gt; en '{0}'.  Archivo: '{1}' Ruta: '{2}']</p></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b088b3782e92a8926b0f53c9e984f175c6742cba
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/shared_content.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve"
+				 xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">es-ES</item>
+	<item id="brandingLocaleCss">branding-es-ES.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Actualizado: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Consejo</item>
+	<item id="alert_title_caution">Advertencia</item>
+	<item id="alert_title_security">Nota de seguridad</item>
+	<item id="alert_title_note">Nota</item>
+	<item id="alert_title_important">Importante</item>
+	<item id="alert_title_visualBasic">Nota para Visual Basic</item>
+	<item id="alert_title_visualC#">Nota para C#</item>
+	<item id="alert_title_visualC++">Nota para C++</item>
+	<item id="alert_title_visualJ#">Nota para J#</item>
+	<item id="text_NotesForImplementers">Nota a los implementadores</item>
+	<item id="text_NotesForCallers">Nota a los consumidores</item>
+	<item id="text_NotesForInheritors">Nota a los herederos</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Consejo</item>
+	<item id="alert_altText_caution">Advertencia</item>
+	<item id="alert_altText_security">Nota de seguridad</item>
+	<item id="alert_altText_note">Nota</item>
+	<item id="alert_altText_important">Importante</item>
+	<item id="alert_altText_visualBasic">Nota para Visual Basic</item>
+	<item id="alert_altText_visualC#">Nota para C#</item>
+	<item id="alert_altText_visualC++">Nota para C++</item>
+	<item id="alert_altText_visualJ#">Nota para J#</item>
+
+	<!-- section titles -->
+	<item id="title_remarks">Observaciones</item>
+	<item id="title_changeHistory">Historial de cambios</item>
+	<item id="title_events">Eventos</item>
+	<item id="title_exceptions">Excepciones</item>
+	<item id="title_contracts">Contratos</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tareas</item>
+	<item id="title_seeAlso_reference">Referencia</item>
+	<item id="title_seeAlso_concepts">Conceptos</item>
+	<item id="title_seeAlso_otherResources">Otros recursos</item>
+	<item id="title_revisionHistory">Historial de revisiones</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">Para mas informaci&#243; vea </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> y </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic y C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>No hay ning&#250;n ejemplo de c&#243;digo disponible, o este lenguaje no est&#225; soportado.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">una referencia null (<span class="keyword">Nothing</span> en Visual Basic)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> en Visual Basic)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> en Visual Basic)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> en Visual Basic)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> en Visual Basic)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> en Visual Basic)</item>
+  <item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> en Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> en Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> en Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> en Visual Basic)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Top</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. Todos los derechos reservados.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">Bibliograf&#237;a</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copy</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">Arrastre para cambiar el tamaño</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/es-ES/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..97a657ecbf5296f7646a11b95541f8bb2a918958
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/conceptual_content.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- French translations contributed by Stéphane Gagnon -->
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">Dans cette section</item>
+	<item id="title_buildInstructions">Compilation du code</item>
+	<item id="title_nextSteps">Étapes suivante</item>
+	<item id="title_requirements">Exigences</item>
+	<item id="title_relatedSections">Sections connexes</item>
+	<item id="title_relatedTopics">Voir aussi</item>
+	<item id="title_syntax">Syntaxe</item>
+	<item id="title_parameters">Parametètres</item>
+	<item id="title_returnValue">Valeur de retour</item>
+  <item id="title_attributesAndElements">Attributs et Éléments</item>
+	<item id="title_attributes">Attributs</item>
+	<item id="title_childElement">Éléments enfants</item>
+	<item id="title_parentElement">Éléments parent</item>
+	<item id="title_elementInformation">Information sur l'élément</item>
+  <item id="title_textValue">Valeur du texte</item>
+  <item id="title_dotNetFrameworkEquivalent">Équivalent .NET Framework</item>
+  <item id="title_prerequisites">Prérequis</item>
+  <item id="title_robustProgramming">Programmation robuste</item>
+	<item id="title_securitySection">Sécurité</item>
+	<item id="title_externalResources">Ressources externes</item>
+	<item id="title_demonstrates">Démonstrations</item>
+  <item id="title_appliesTo">S'applique à</item>
+	<item id="title_conclusion">Conclusion</item>
+  <item id="title_background">Background</item>
+	<item id="title_whatsNew">Quoi de neuf</item>
+  <item id="title_reference">Réference</item>
+  <item id="title_errorMessage">Message d'erreur</item>
+  <item id="title_example">Exemple</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">Ce sujet contient les sections suivantes:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">Cette section contient les sous-sections suivantes:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. Tout droits réservés.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">Voir aussi:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..87ad0a56b3aa6ea9b22584e7603754d9be37ad4c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/reference_content.xml
@@ -0,0 +1,552 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- French translations contributed by Stéphane Gagnon -->
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">Cette API n'est pas documenté.</item>
+  <item id="preliminaryText">Cette API est préliminaire et sujet à changements.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Class Library</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">.NET Framework Class Library</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namespaces</referenceLink></item>
+  <item id="definedBy">(Défini par {0}.)</item>
+	<item id="inheritedFrom">(Hérité de {0}.)</item>
+	<item id="overridesMember">(Overrides {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Module: {1})</item>
+ 
+  <item id="derivedClasses">Classes dérivées</item>
+  <item id="explicitInterfaceImplementation">Implémentation d'interface explicite</item>
+  <item id="returnValue">Valeur de retour</item>
+  <item id="propertyValue">Valeur de propriété</item>
+  <item id="fieldValue">Valeur de champ</item>
+  <item id="example">Exemple</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Espaces de noms</item>
+	<item id="topicTitle_namespace">{0} Espace de nom</item>
+	<item id="topicTitle_namespaceGroup">{0} Espaces de noms</item>
+	<item id="topicTitle_class">{0} Classe</item>
+	<item id="topicTitle_structure">{0} Structure</item>
+	<item id="topicTitle_interface">{0} Interface</item>
+	<item id="topicTitle_derivedTypeList">{0} Classes dérivées</item>
+  
+	<item id="topicTitle_delegate">{0} Délégués</item>
+	<item id="topicTitle_enumeration">{0} Énumeration</item>
+	<item id="topicTitle_field">{0} Champ</item>
+	<item id="topicTitle_method">{0} Méthode {1}</item>
+	<item id="topicTitle_constructor">{0} Constructeur {1}</item>
+	<item id="topicTitle_property">{0} Propriété {1}</item>
+	<item id="topicTitle_event">{0} Événement</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} Opérateur {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Conversion {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Conversion d'opérateur</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Propriété attaché</item>
+	<item id="topicTitle_attachedEvent">{0} Événement attaché</item>
+
+  <item id="generic"> générique</item>
+  <item id="topicTitle_generic_class">{0}Classe générique</item>
+  <item id="topicTitle_generic_structure">{0}Structure générique</item>
+  <item id="topicTitle_generic_interface">{0}Interface générique</item>
+  <item id="topicTitle_generic_delegate">{0}Délégué générique</item>
+  <item id="topicTitle_generic_method">{0}Méthode générique{1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} Champs</item>
+	<item id="topicTitle_methods">{0} Méthodes</item>
+	<item id="topicTitle_enumMembers">Membres</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Opérateur</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Opérateurs et conversions de type</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Conversions de type</item>
+  
+	<item id="topicTitle_constructors">{0} Constructeurs</item>
+	<item id="topicTitle_properties">{0} Propriétés</item>
+	<item id="topicTitle_events">{0} Événements</item>
+	<item id="topicTitle_attachedProperties">{0} Propriétés attachés</item>
+ 	<item id="topicTitle_attachedEvents">{0} Événement attaché</item>
+	<item id="topicTitle_members">{0} Membres</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">espaces de nom</item>
+  <item id="indexEntry_namespace">{0} espace de nom</item>
+  <item id="indexEntry_class">{0} classe</item>
+	<item id="indexEntry_structure">{0} structure</item>
+	<item id="indexEntry_interface">{0} interface</item>
+	<item id="indexEntry_delegate">{0} délégué</item>
+	<item id="indexEntry_enumeration">{0} énumeration</item>
+  <item id="indexEntry_enumerationMember">{0} énumeration de membre</item>
+  <item id="indexEntry_members">{0}, tous les membres</item>
+  <item id="indexEntry_methods">{0}, méthodes</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, opérateurs</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, opérateurs et conversions de type</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, conversions de type</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} conversion</item>
+  <item id="indexEntry_properties">{0}, propriétés</item>
+  <item id="indexEntry_fields">{0}, champs</item>
+  <item id="indexEntry_events">{0}, événements</item>
+  <item id="indexEntry_attachedProperties">{0}, propriétés attachés</item>
+  <item id="indexEntry_attachedEvents">{0}, événements attachés</item>
+	<item id="indexEntry_constructors">{0}, constructeurs</item>
+	<item id="indexEntry_constructor">{0}, constructeur</item>
+	<item id="indexEntry_constructorType">{0} constructeur</item>
+  <item id="indexEntry_method">{0} méthode</item>
+	<item id="indexEntry_property">{0} propriété</item>
+	<item id="indexEntry_event">{0} événement</item>
+	<item id="indexEntry_field">{0} champ</item>
+	<item id="indexEntry_operator">{0} opérateur</item>
+	<item id="indexEntry_attachedProperty">{0} propriété attachée</item>
+	<item id="indexEntry_attachedEvent">{0} événement attaché</item>
+	<item id="indexEntry_methodExplicit">{0} implémentation explicite de méthode</item>
+	<item id="indexEntry_propertyExplicit">{0} implémentation explicite de propriété</item>
+	<item id="indexEntry_eventExplicit">{0}implémentation explicite d'événement</item>
+	<item id="indexEntry_fieldExplicit">{0} implémentation explicite de champ</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Syntaxe</item>
+	<item id="title_templates">Type Parameters</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_value">Valeur</item>
+	<item id="title_delegateValue">Valeur de retour</item>
+	<item id="title_methodValue">Valeur de retour</item>
+	<item id="title_propertyValue">Valeur de propriété</item>
+	<item id="title_fieldValue">Valeur de champs</item>
+	<item id="title_implements">Implémentes</item>
+	<item id="title_examples">Exemples</item>
+	<item id="title_threadSafety">Sécurité des threads</item>
+	<item id="title_permissions">.NET Framework Security</item>
+	<item id="title_namespaces">Espaces de noms</item>
+	<item id="title_types">Types</item>
+	<item id="title_family">Hiérarchie d'héritage</item>
+	<item id="title_versions">Information de version</item>
+	<item id="title_platforms">Plateformes</item>
+	<item id="title_relatedTopics">Voir aussi</item>
+	<item id="title_extensionUsage">Note d'utilisation</item>
+	<item id="text_extensionUsage">En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type {0}. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Méthodes d'extension (Visual Basic)</a> ou <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Méthodes d'extension (Guide de programmation C#)</a>.</item>
+	<item id="text_moreInheritance">Plus...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Espace de nom</item>
+	<item id="header_namespaceDescription">Description</item>
+	<item id="header_typeIcon">Icône</item>
+  <item id="header_className">Classe</item>
+  <item id="header_structureName">Structure</item>
+  <item id="header_interfaceName">Interface</item>
+  <item id="header_delegateName">Délégué</item>
+  <item id="header_enumerationName">Énumeration</item>
+  
+	<item id="header_typeName">Nom</item>
+	<item id="header_typeDescription">Description</item>
+	<item id="header_memberIcon">Icône</item>
+	<item id="header_memberName">Nom du membre</item>
+	<item id="header_memberValue">Valeur</item>
+	<item id="header_memberDescription">Description</item>
+	<item id="header_eventType">Type d'événement</item>
+	<item id="header_eventReason">Raison</item>
+	<item id="header_exceptionName">Exception</item>
+	<item id="header_exceptionCondition">Condition</item>
+	<item id="header_permissionName">Permission</item>
+	<item id="header_permissionDescription">Description</item>
+  <item id="header_requiresName">Nécessite</item>
+  <item id="header_ensuresName">Ensures</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariants</item>
+
+	<item id="header_revHistoryDate">Date</item>
+	<item id="header_revHistoryVersion">Version</item>
+	<item id="header_revHistoryDescription">Description</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">Espace de noms</item>
+	<item id="tableTitle_class">Classes</item>
+	<item id="tableTitle_structure">Structures</item>
+	<item id="tableTitle_interface">Interfaces</item>
+	<item id="tableTitle_delegate">Délégués</item>
+	<item id="tableTitle_enumeration">Énumerations</item>
+  <item id="tableTitle_constructor">Constructeurs</item>
+  <item id="tableTitle_method">Méthodes</item>
+  <item id="tableTitle_operator">Opérateurs</item>
+  <item id="tableTitle_field">Champs</item>
+  <item id="tableTitle_property">Propriétés</item>
+  <item id="tableTitle_event">Événements</item>
+  <item id="tableTitle_attachedEvent">Événements attachés</item>
+  <item id="tableTitle_attachedProperty">Propriétés attachés</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Implémnetations d'interface explicite</item>
+	<item id="tableTitle_overloadMembers">Liste de surcharge</item>
+  <item id="tableTitle_extensionMethod">Méthodes d'extensions</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Sécurité des threads</item>
+  <item id="boilerplate_threadSafety">Tous les membres public  <include item="devlang_staticKeyword"/>  de ce type sont thread safe. Tous les membres de l'instance ne sont pas garantis d'être thread-safe.</item>
+
+  <item id="text_staticThreadSafe">Les membres statiques de ce type sont sûrs pour des opérations multi-thread. </item>
+  <item id="text_staticNotThreadSafe">Les membres statiques de ce type ne sont pas sûrs pour les opérations multi-thread. </item>
+  <item id="text_instanceThreadSafe">Les membres d'instance de ce type sont sûrs pour des opérations multi-thread. </item>
+  <item id="text_instanceNotThreadSafe">Les membres d'instance de ce type ne sont pas sûrs pour les opérations multi-thread. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Le type générique {0} expose les membres suivants.</item>
+  <item id="exposedMembersTableText">Le type {0} expose les membres suivants.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Information de propriété de dépendence </item>
+  <item id="routedEventInfoHeading">Information d'événement routé</item>
+  <item id="mrefTaskMoreCodeHeading">Plus de code</item>
+
+  <item id="Overloaded">Surchargé. </item>	
+  <item id="defaultNamespace">( Espace de nom par défaut )</item>
+  
+  <item id="typeLink">Type:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> type du paramètre de {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> attribut appliqué à ce type ou membre a ce qui suit <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> valeur de la propriété: {1}. Le <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> n'affecte pas les applications Desktop (qui sont généralement démarrées en double-cliquant sur une icône, en tapant une commande ou en entrant une URL dans un navigateur). Pour de l'information supplémentaire, voir également<referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> classe ou <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">Attributs de programmation et de protection des hôtes SQL Server</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsolète. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Note: Cette API est maintenant obsolète.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">classe</item>
+  <item id="text_delegateLower">délégué</item>
+  <item id="text_structureLower">structure</item>
+  <item id="text_interfaceLower">interface</item>
+  <item id="text_enumerationLower">énumeration</item>
+
+  <item id="text_classUpper">Classe</item>
+  <item id="text_structureUpper">Structure</item>
+  <item id="text_interfaceUpper">Interface</item>
+  <item id="text_delegateUpper">Délégué</item>
+  <item id="text_enumerationUpper">Énumeration</item>
+
+	<item id="text_classTypesLower">classes</item>
+	<item id="text_structureTypesLower">structures</item>
+	<item id="text_interfaceTypesLower">interfaces</item>
+	<item id="text_delegateTypesLower">delegates</item>
+	<item id="text_enumerationTypesLower">énumerations</item>
+  
+	<item id="text_classTypesUpper">Classes</item>
+	<item id="text_structureTypesUpper">Structures</item>
+	<item id="text_interfaceTypesUpper">Interfaces</item>
+	<item id="text_delegateTypesUpper">Delegates</item>
+	<item id="text_enumerationTypesUpper">Énumerations</item>
+
+  <item id="text_membersLower">membres</item>
+  <item id="text_methodsLower">méthodes</item>
+  <item id="text_propertiesLower">propriétés</item>
+  <item id="text_eventsLower">événements</item>
+  <item id="text_fieldsLower">champ</item>
+  <item id="text_operatorsLower">opérateurs</item>
+  <item id="text_attachedPropertiesLower">propriétés attachés</item>
+  <item id="text_attachedEventsLower">événements attachés</item>
+
+  <item id="text_membersUpper">Membres</item>
+  <item id="text_methodsUpper">Méthodes</item>
+  <item id="text_propertiesUpper">Propriétés</item>
+  <item id="text_eventsUpper">Événements</item>
+  <item id="text_fieldsUpper">Champs</item>
+  <item id="text_operatorsUpper">Opérateurs</item>
+  <item id="text_attachedPropertiesUpper">Propriétés attachés</item>
+  <item id="text_attachedEventsUpper">Événements attachés</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Classe publique</item>
+	<item id="altText_pubStructure">Structure publique</item>
+	<item id="altText_pubInterface">Interface publique</item>
+	<item id="altText_pubDelegate">Délégué publique</item>
+	<item id="altText_pubEnumeration">Énumération publique</item>
+	<item id="altText_protClass">Classe protégée</item>
+	<item id="altText_protStructure">Structure protégée</item>
+	<item id="altText_protInterface">Interface protégée</item>
+	<item id="altText_protDelegate">protégée delegate</item>
+	<item id="altText_protEnumeration">Énumération protégée</item>
+	<item id="altText_privClass">Classe privée</item>
+	<item id="altText_privStructure">Structure Privée</item>
+	<item id="altText_privInterface">Interface Privée</item>
+	<item id="altText_privDelegate">Délégué Privé</item>
+	<item id="altText_privEnumeration">Énumération Privée</item>
+
+	<item id="altText_pubConstructor">Constructeur publique</item>
+	<item id="altText_pubMethod">Méthode publique</item>
+	<item id="altText_pubField">Membre publique</item>
+	<item id="altText_pubProperty">Propriété publique</item>
+	<item id="altText_pubEvent">Évenement publique</item>
+	<item id="altText_pubOperator">Opérateur publique</item>
+	<item id="altText_pubAttachedProperty">Propriété attachée publique</item>
+	<item id="altText_pubAttachedEvent">Événement attaché publique</item>
+	<item id="altText_protConstructor">Constructeur protégé</item>
+	<item id="altText_protMethod">Méthode protégé</item>
+	<item id="altText_protField">Membre protégé</item>
+	<item id="altText_protProperty">Propriété protégé</item>
+	<item id="altText_protEvent">Évenement protégé</item>
+	<item id="altText_protOperator">Opérateur protégé</item>
+	<item id="altText_protAttachedProperty">Propriété attachée protégée</item>
+	<item id="altText_protAttachedEvent">Événement attaché protégé</item>
+	<item id="altText_privConstructor">Constructeur privé</item>
+	<item id="altText_privMethod">Méthode privée</item>
+	<item id="altText_privField">Membre privé</item>
+	<item id="altText_privProperty">Propriété privée</item>
+	<item id="altText_privEvent">Évenement privé</item>
+	<item id="altText_privOperator">Opérateur privé</item>
+	<item id="altText_privtAttachedProperty">Propriété attachée privée</item>
+	<item id="altText_privAttachedEvent">Événement attaché privé</item>
+	<item id="altText_static">Membre statique</item>
+	<item id="altText_pubextension">Méthode d'extension publique</item>
+	<item id="altText_protextension">Méthode d'extension protégée</item>
+	<item id="altText_privextension">Méthode d'extension privée</item>
+
+  <item id="altText_CompactFramework">Supporté par le .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Supporté par le XNA Framework</item>
+  <item id="altText_SilverlightMobile">Supporté par <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Implémentation d'interface explicite</item>
+  <item id="altText_CodeExample">Exemple de code</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Espace de nom</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Membres</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Surcharges</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Espace de nom:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Platformes:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Assemblies:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Assembly:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Assembly:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Pris en charge dans: {0}</item>
+  <item id="supportedIn_2">Pris en charge dans: {0}, {1}</item>
+  <item id="supportedIn_3">Pris en charge dans: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Pris en charge dans: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Pris en charge dans: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Pris en charge dans: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsolète (avertissement du compilateur) dans {0}</item>
+  <item id="obsoleteError">Obsolète (ne compile pas) dans {0} et ultérieur</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Ce paramètre de type est covariant. Autrement dit, vous pouvez utiliser soit le type que vous avez spécifié ou tout type plus dérivé. </item>
+  <item id="text_contravariant">Ce paramètre de type est contravariant. Autrement dit, vous pouvez utiliser soit le type que vous avez spécifié ou tout type qui est moins dérivé. </item>
+  <item id="text_variance">Pour plus d'informations sur la covariance et contravariance, consultez <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Covariance et Contravariance (C# et Visual Basic).</a>.</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Cette API est pas CLS-conforme.</item>
+  <item id="boilerplate_AltClsCompliant">L'alternative CLS-conforme est {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Ce type a un attribut SecurityCriticalAttribute, qui le limite à un usage interne par la bibliothèque de classes .NET Framework pour Silverlight. Un code d'application qui utilise un membre de ce type lève une exception MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Ce membre a un attribut SecurityCriticalAttribute, qui le limite à un usage interne par la bibliothèque de classes .NET Framework pour Silverlight. Un code d'application qui utilise ce membre lève une exception MethodAccessException.</item>
+  <item id="text_securityCritical">[ESSENTIEL POUR LA SÉCURITÉ] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Ce membre est surchargé. Pour l'information complète sur ce membre, incluant la syntaxe, l'usage et exemples, cliqué sur un nom dans la liste des surcharges.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Note de plateforme:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>Le <include item="netfw"/> et <include item="netcfw"/> ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez, <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">Configuration requise du .NET Framework.</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    Pour plus d'informations sur les systèmes d'exploitation et navigateurs pris en charge par <include item="silverlight"/>, consultez <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Systèmes d'exploitation et navigateurs pris en charges</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Édition</item>
+  <item id="WinSvr2000">Windows Serveur 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professionel x64 Édition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile pour Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile pour Smartphone</item>
+  <item id="WinSvr2003">Windows Serveur 2003</item>
+  <item id="WinSvr2008">Windows Serveur 2008</item>
+  <item id="WinSvr2008R2">Windows Serveur 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Édition</item>
+  <item id="WinXPSE">Windows XP Starter Édition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight pour Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS pour XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Nom mappé à un xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>Dans <include item="{0}"/>, ce membre est surchargé par {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>Dans <include item="{0}"/>&#160;<include item="{1}"/>, ce membre hérite de {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>Dans <include item="{0}"/>&#160;<include item="{1}"/>, ce membre est {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Ce membre surcharge {0}.</item>
+  <item id="boilerplate_useBaseSee">Consultez {0}.</item>
+  <item id="boilerplate_useBase">Ce membre surcharge {0}, et de la documentation plus complète peut être disponible dans cette rubrique.</item>
+
+  <item id="boilerplate_flagsSummary">Cette énumération possède un {0} attribut qui permet la combinaison d'opérations de bits de ses valeurs de membres.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Membres</item>
+	<item id="membersTitle">Liste de surcharge</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Initialise une nouvelle instance de la classe <referenceLink target="T:{0}" />.</item>
+  <item id="SMCAutoDocStaticConstructor">Initialise les champs statiques de la classe <referenceLink target="T:{0}" />.</item>
+  <item id="SMCAutoDocDispose">Libère toutes les ressources utilisées par le <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Libère les ressources non managées utilisées par <referenceLink target="T:{0}" /> et libère éventuellement les ressources managées</item>
+  <item id="SMCAutoDocDisposeParam">Vrai pour libérer les ressources gérées et non gérées; faux pour libérer seulement des ressources non managées</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Documentation manquante &lt;{0}&gt; pour "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Documentation manquante &lt;{0} name="{1}"/&gt; pour "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Source de documentation manquante &lt;include&gt; dans '{0}'.  Fichier: '{1}' Chemin: '{2}']</p></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5c4e252ca7d182409d8dc8c8be24e89e30859fae
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/shared_content.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- French translations contributed by Stéphane Gagnon -->
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">fr-FR</item>
+	<item id="brandingLocaleCss">branding-fr-FR.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Mise à jour: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Conseil</item>
+	<item id="alert_title_caution">Avertissement</item>
+	<item id="alert_title_security">Note de sécurité</item>
+	<item id="alert_title_note">Note</item>
+	<item id="alert_title_important">Important</item>
+	<item id="alert_title_visualBasic">Visual Basic Note</item>
+	<item id="alert_title_visualC#">C# Note</item>
+	<item id="alert_title_visualC++">C++ Note</item>
+	<item id="alert_title_visualJ#">J# Note</item>
+	<item id="text_NotesForImplementers">Remarques pour les implémenteurs</item>
+	<item id="text_NotesForCallers">Remarques pour les appelants</item>
+	<item id="text_NotesForInheritors">Remarques à l'attention des héritiers</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Conseil</item>
+	<item id="alert_altText_caution">Avertissement</item>
+	<item id="alert_altText_security">Note de sécurité</item>
+	<item id="alert_altText_note">Note</item>
+	<item id="alert_altText_important">Important note</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">Remarques</item>
+	<item id="title_changeHistory">Historique des modifications</item>
+	<item id="title_events">Événéments</item>
+	<item id="title_exceptions">Exceptions</item>
+	<item id="title_contracts">Contrats</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tâches</item>
+	<item id="title_seeAlso_reference">Référence</item>
+	<item id="title_seeAlso_concepts">Concepts</item>
+	<item id="title_seeAlso_otherResources">Autres ressources</item>
+	<item id="title_revisionHistory">Historique des modifications</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">Pour de l'information supplémentaire, voir </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> et </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic et C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>Il n'y a pas d'exemple de code disponible actuellement ou le langage n'est pas supporté.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB et C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">une référence null (<span class="keyword">Nothing</span> en Visual Basic)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> en Visual Basic)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> en Visual Basic)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> en Visual Basic)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> en Visual Basic)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> en Visual Basic)</item>
+  <item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> en Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> en Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> en Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> en Visual Basic)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Haut de la page</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2015 UQAC. Tout droit réservé.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">Bibliographie</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copie</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">Cliquez ou draguez pour réajuster</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4fa1549c53e487242767e9636df705d061f966c3
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/fr-FR/shared_content_mshc.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- French translations contributed by Stéphane Gagnon -->
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..be55539acb29681bca939bcd7a895ab54aaf6fcc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">In This Section</item>
+	<item id="title_buildInstructions">Compiling the Code</item>
+	<item id="title_nextSteps">Next Steps</item>
+	<item id="title_requirements">Requirements</item>
+	<item id="title_relatedSections">Related Sections</item>
+	<item id="title_relatedTopics">Vedi anche</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_returnValue">Return Value</item>
+  <item id="title_attributesAndElements">Attributes and Elements</item>
+	<item id="title_attributes">Attributes</item>
+	<item id="title_childElement">Child Elements</item>
+	<item id="title_parentElement">Parent Elements</item>
+	<item id="title_elementInformation">Element Information</item>
+  <item id="title_textValue">Text Value</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+  <item id="title_prerequisites">Prerequisites</item>
+  <item id="title_robustProgramming">Robust Programming</item>
+	<item id="title_securitySection">Security</item>
+	<item id="title_externalResources">External Resources</item>
+	<item id="title_demonstrates">Demonstrates</item>
+  <item id="title_appliesTo">Applies To</item>
+	<item id="title_conclusion">Conclusion</item>
+  <item id="title_background">Background</item>
+	<item id="title_whatsNew">Novità</item>
+  <item id="title_reference">Documentazione</item>
+  <item id="title_errorMessage">Messaggio di errore</item>
+  <item id="title_example">Esempio</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">Questa pagina contiene le seguenti sezioni:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">Questa sezione contiene le seguenti sottosezioni:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. All rights reserved.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">See Also:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f0bb084d53d5e1014789a4f4901d0e2a10051a22
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">Questa API non è documentata.</item>
+  <item id="preliminaryText">Questa API è preliminare e soggetta a variazioni.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">Class library del Framework .NET</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">Class library del Framework .NET</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namespace</referenceLink></item>
+  <item id="definedBy">(Definito da {0}.)</item>
+	<item id="inheritedFrom">(Ereditato da {0}.)</item>
+	<item id="overridesMember">(Sovrascrive {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Modulo: {1})</item>
+ 
+  <item id="derivedClasses">Classi derivate</item>
+  <item id="explicitInterfaceImplementation">Implementazioni esplicite di interfacce</item>
+  <item id="returnValue">Valore di ritorno</item>
+  <item id="propertyValue">Valore della proprietà</item>
+  <item id="fieldValue">Valore del campo</item>
+  <item id="example">Esempio</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Namespace</item>
+	<item id="topicTitle_namespace">{0} Namespace</item>
+	<item id="topicTitle_namespaceGroup">{0} Namespace</item>
+	<item id="topicTitle_class">Classe {0}</item>
+	<item id="topicTitle_structure">Struttura {0}</item>
+	<item id="topicTitle_interface">Interfaccia {0}</item>
+	<item id="topicTitle_derivedTypeList">Classi derivate da {0}</item>
+  
+	<item id="topicTitle_delegate">Delegate {0}</item>
+	<item id="topicTitle_enumeration">Enumerazione {0}</item>
+	<item id="topicTitle_field">Campo {0}</item>
+	<item id="topicTitle_method">Metodo {0} {1}</item>
+	<item id="topicTitle_constructor">Costruttore {0} {1}</item>
+	<item id="topicTitle_property">Proprietà {0} {1}</item>
+	<item id="topicTitle_event">Evento {0}</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} Operatore {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Conversione {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Operatori di conversione</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Proprietà attached</item>
+	<item id="topicTitle_attachedEvent">{0} Attached Event</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} Generic Class</item>
+  <item id="topicTitle_generic_structure">{0} Generic Structure</item>
+  <item id="topicTitle_generic_interface">{0} Generic Interface</item>
+  <item id="topicTitle_generic_delegate">{0} Generic Delegate</item>
+  <item id="topicTitle_generic_method">{0} Generic Method {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">Campi di {0}</item>
+	<item id="topicTitle_methods">Metodi di {0}</item>
+	<item id="topicTitle_enumMembers">Membri</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operators</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operators and Type Conversions</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Type Conversions</item>
+  
+	<item id="topicTitle_constructors">Costruttori di {0}</item>
+	<item id="topicTitle_properties">Proprietà di {0}</item>
+	<item id="topicTitle_events">Eventi di {0}</item>
+	<item id="topicTitle_attachedProperties">Proprietà attached di {0}</item>
+ 	<item id="topicTitle_attachedEvents">Eventi attached di {0}</item>
+	<item id="topicTitle_members">Membri di {0}</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">namespace</item>
+  <item id="indexEntry_namespace">{0} namespace</item>
+  <item id="indexEntry_class">{0} class</item>
+	<item id="indexEntry_structure">{0} structure</item>
+	<item id="indexEntry_interface">{0} interface</item>
+	<item id="indexEntry_delegate">{0} delegate</item>
+	<item id="indexEntry_enumeration">{0} enumeration</item>
+  <item id="indexEntry_enumerationMember">{0} enumeration member</item>
+  <item id="indexEntry_members">{0}, all members</item>
+  <item id="indexEntry_methods">{0}, methods</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, operators</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, operators and type conversions</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, type conversions</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} conversion</item>
+  <item id="indexEntry_properties">{0}, properties</item>
+  <item id="indexEntry_fields">{0}, fields</item>
+  <item id="indexEntry_events">{0}, events</item>
+  <item id="indexEntry_attachedProperties">{0}, attached properties</item>
+  <item id="indexEntry_attachedEvents">{0}, attached events</item>
+	<item id="indexEntry_constructors">{0}, constructors</item>
+	<item id="indexEntry_constructor">{0}, constructor</item>
+	<item id="indexEntry_constructorType">{0} constructor</item>
+  <item id="indexEntry_method">{0} method</item>
+	<item id="indexEntry_property">{0} property</item>
+	<item id="indexEntry_event">{0} event</item>
+	<item id="indexEntry_field">{0} field</item>
+	<item id="indexEntry_operator">{0} operator</item>
+	<item id="indexEntry_attachedProperty">{0} attached property</item>
+	<item id="indexEntry_attachedEvent">{0} attached event</item>
+	<item id="indexEntry_methodExplicit">{0} explicitly implemented method</item>
+	<item id="indexEntry_propertyExplicit">{0} explicitly implemented property</item>
+	<item id="indexEntry_eventExplicit">{0} explicitly implemented event</item>
+	<item id="indexEntry_fieldExplicit">{0} explicitly implemented field</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Sintassi</item>
+	<item id="title_templates">Parametri di tipo</item>
+	<item id="title_parameters">Parametri</item>
+	<item id="title_value">Valore</item>
+	<item id="title_delegateValue">Valore di ritorno</item>
+	<item id="title_methodValue">Valore di ritorno</item>
+	<item id="title_propertyValue">Valore della proprietà</item>
+	<item id="title_fieldValue">Valore del campo</item>
+	<item id="title_implements">Implementa</item>
+	<item id="title_examples">Esempi</item>
+	<item id="title_threadSafety">Thread Safety</item>
+	<item id="title_permissions">Sicurezza nel Framework .NET</item>
+	<item id="title_namespaces">Namespace</item>
+	<item id="title_types">Tipi</item>
+	<item id="title_family">Gerarchia di ereditarietà</item>
+	<item id="title_versions">Informazioni sulle versioni</item>
+	<item id="title_platforms">Piattaforme</item>
+	<item id="title_relatedTopics">Vedi anche</item>
+	<item id="title_extensionUsage">Nota d'uso</item>
+	<item id="text_extensionUsage">In Visual Basic e C# puoi chiamare questo metodo come metodo di istanza su qualunque oggetto di tipo {0}. Quando usi la sintassi del metodo di istanza, devi omettere il primo parametro. Per maggiori informazioni, vedi <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Metodi di estensione (Visual Basic)</a> o <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Metodi di estensione (C# Programming Guide)</a>.</item>
+	<item id="text_moreInheritance">Altro...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Namespace</item>
+	<item id="header_namespaceDescription">Descrizione</item>
+	<item id="header_typeIcon">Icona</item>
+  <item id="header_className">Classe</item>
+  <item id="header_structureName">Struttura</item>
+  <item id="header_interfaceName">Interfaccia</item>
+  <item id="header_delegateName">Delegate</item>
+  <item id="header_enumerationName">Enumerazione</item>
+  
+	<item id="header_typeName">Nome</item>
+	<item id="header_typeDescription">Descrizione</item>
+	<item id="header_memberIcon">Icona</item>
+	<item id="header_memberName">Nome</item>
+	<item id="header_memberValue">Valore</item>
+	<item id="header_memberDescription">Descrizione</item>
+	<item id="header_eventType">Event Type</item>
+	<item id="header_eventReason">Motivo</item>
+	<item id="header_exceptionName">Eccezione</item>
+	<item id="header_exceptionCondition">Condizione</item>
+	<item id="header_permissionName">Permission</item>
+	<item id="header_permissionDescription">Description</item>
+  <item id="header_requiresName">Requires</item>
+  <item id="header_ensuresName">Ensures</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariants</item>
+
+	<item id="header_revHistoryDate">Data</item>
+	<item id="header_revHistoryVersion">Versione</item>
+	<item id="header_revHistoryDescription">Descrizione</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">Namespace</item>
+	<item id="tableTitle_class">Classi</item>
+	<item id="tableTitle_structure">Strutture</item>
+	<item id="tableTitle_interface">Interfacce</item>
+	<item id="tableTitle_delegate">Delegate</item>
+	<item id="tableTitle_enumeration">Enumerazioni</item>
+  <item id="tableTitle_constructor">Costruttori</item>
+  <item id="tableTitle_method">Metodi</item>
+  <item id="tableTitle_operator">Operatori</item>
+  <item id="tableTitle_field">Campi</item>
+  <item id="tableTitle_property">Proprietà</item>
+  <item id="tableTitle_event">Eventi</item>
+  <item id="tableTitle_attachedEvent">Eventi attached</item>
+  <item id="tableTitle_attachedProperty">Proprietà attached</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Implementazioni esplicite di interfacce</item>
+	<item id="tableTitle_overloadMembers">Lista degli overload</item>
+  <item id="tableTitle_extensionMethod">Metodi di estensione</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Thread Safety</item>
+  <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/>  members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+  <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+  <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+  <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+  <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Il tipo generico {0} espone i seguenti membri.</item>
+  <item id="exposedMembersTableText">Il tipo {0} espone i seguenti membri.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+  <item id="routedEventInfoHeading">Routed Event Information</item>
+  <item id="mrefTaskMoreCodeHeading">More Code</item>
+
+  <item id="Overloaded">Overloaded. </item>	
+  <item id="defaultNamespace">( Default Namespace )</item>
+  
+  <item id="typeLink">Tipo:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> type parameter of {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> attribute applied to this type or member has the following <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> property value: {1}. The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> class or <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server Programming and Host Protection Attributes</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsoleto. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Nota: questa API è obsoleta.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">classe</item>
+  <item id="text_delegateLower">delegate</item>
+  <item id="text_structureLower">struttura</item>
+  <item id="text_interfaceLower">interfaccia</item>
+  <item id="text_enumerationLower">enumerazione</item>
+
+  <item id="text_classUpper">Classe</item>
+  <item id="text_structureUpper">Struttura</item>
+  <item id="text_interfaceUpper">Interfaccia</item>
+  <item id="text_delegateUpper">Delegate</item>
+  <item id="text_enumerationUpper">Enumerazione</item>
+
+	<item id="text_classTypesLower">classi</item>
+	<item id="text_structureTypesLower">strutture</item>
+	<item id="text_interfaceTypesLower">interfacce</item>
+	<item id="text_delegateTypesLower">delegate</item>
+	<item id="text_enumerationTypesLower">enumerazioni</item>
+  
+	<item id="text_classTypesUpper">Classi</item>
+	<item id="text_structureTypesUpper">Strutture</item>
+	<item id="text_interfaceTypesUpper">Interfacce</item>
+	<item id="text_delegateTypesUpper">Delegate</item>
+	<item id="text_enumerationTypesUpper">Enumerazioni</item>
+
+  <item id="text_membersLower">membri</item>
+  <item id="text_methodsLower">metodi</item>
+  <item id="text_propertiesLower">proprietà</item>
+  <item id="text_eventsLower">eventi</item>
+  <item id="text_fieldsLower">campi</item>
+  <item id="text_operatorsLower">operatori</item>
+  <item id="text_attachedPropertiesLower">proprietà attached</item>
+  <item id="text_attachedEventsLower">eventi attached</item>
+
+  <item id="text_membersUpper">Membri</item>
+  <item id="text_methodsUpper">Metodi</item>
+  <item id="text_propertiesUpper">Proprietà</item>
+  <item id="text_eventsUpper">Eventi</item>
+  <item id="text_fieldsUpper">Campi</item>
+  <item id="text_operatorsUpper">Operatori</item>
+  <item id="text_attachedPropertiesUpper">Proprietà attached</item>
+  <item id="text_attachedEventsUpper">Eventi attached</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Classe pubblica</item>
+	<item id="altText_pubStructure">Struttura pubblica</item>
+	<item id="altText_pubInterface">Interfaccia pubblica</item>
+	<item id="altText_pubDelegate">Delegate pubblico</item>
+	<item id="altText_pubEnumeration">Enumerazione pubblica</item>
+	<item id="altText_protClass">Classe protetta</item>
+	<item id="altText_protStructure">Struttura protetta</item>
+	<item id="altText_protInterface">Interfaccia protetta</item>
+	<item id="altText_protDelegate">Delegate protetto</item>
+	<item id="altText_protEnumeration">Enumerazione protetta</item>
+	<item id="altText_privClass">Classe privata</item>
+	<item id="altText_privStructure">Struttura privata</item>
+	<item id="altText_privInterface">Interfaccia privata</item>
+	<item id="altText_privDelegate">Delegate privato</item>
+	<item id="altText_privEnumeration">Enumerazione privata</item>
+
+	<item id="altText_pubConstructor">Costruttore pubblico</item>
+	<item id="altText_pubMethod">Metodo pubblico</item>
+	<item id="altText_pubField">Campo pubblico</item>
+	<item id="altText_pubProperty">Proprietà pubblica</item>
+	<item id="altText_pubEvent">Evento pubblico</item>
+	<item id="altText_pubOperator">Operatore pubblico</item>
+	<item id="altText_pubAttachedProperty">Proprietà attached pubblica</item>
+	<item id="altText_pubAttachedEvent">Evento attached pubblico</item>
+	<item id="altText_protConstructor">Costruttore pubblico</item>
+	<item id="altText_protMethod">Metodo protetto</item>
+	<item id="altText_protField">Campo protetto</item>
+	<item id="altText_protProperty">Proprietà protetta</item>
+	<item id="altText_protEvent">Evento protetto</item>
+	<item id="altText_protOperator">Operatore protetto</item>
+	<item id="altText_protAttachedProperty">Proprietà attached protetta</item>
+	<item id="altText_protAttachedEvent">Evento attached protetto</item>
+	<item id="altText_privConstructor">Costruttore privato</item>
+	<item id="altText_privMethod">Metodo privato</item>
+	<item id="altText_privField">Campo privato</item>
+	<item id="altText_privProperty">Proprietà privata</item>
+	<item id="altText_privEvent">Evento privato</item>
+	<item id="altText_privOperator">Operatore privato</item>
+	<item id="altText_privtAttachedProperty">Proprietà attached privata</item>
+	<item id="altText_privAttachedEvent">Evento attached privato</item>
+	<item id="altText_static">Membro statico</item>
+	<item id="altText_pubextension">Metodo di estensione pubblico</item>
+	<item id="altText_protextension">Metodo di estensione protetto</item>
+	<item id="altText_privextension">Metodo di estensione privato</item>
+
+  <item id="altText_CompactFramework">Supportato dal Compact Framework .NET</item>
+  <item id="altText_XNAFramework">Supportato dal framework XNA</item>
+  <item id="altText_SilverlightMobile">Supportato da <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Implementazione esplicita di interfacce</item>
+  <item id="altText_CodeExample">Esempio di codice</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">Namespace {0}</item>
+  <item id="boilerplate_seeAlsoTypeLink"><include item="text_{1}Upper"/> {0}</item>
+  <item id="boilerplate_seeAlsoMembersLink">Membri di {0}</item>
+  <item id="boilerplate_seeAlsoOverloadLink">Overload di {0}</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Namespace:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Piattaforme:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Assembly:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Assembly:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Versione: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Assembly:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Supportato in: {0}</item>
+  <item id="supportedIn_2">Supportato in: {0}, {1}</item>
+  <item id="supportedIn_3">Supportato in: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Supportato in: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Supportato in: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Supportato in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsoleto (warning dal compilatore) in {0}</item>
+  <item id="obsoleteError">Obsoleto (non compila) in {0} e successive</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+  <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+  <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+  <!-- Non Cls Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+  <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+  <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">This member is overloaded. For complete information about this member, including syntax, usage, and examples, click a name in the overload list.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Platform Note:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>The <include item="netfw"/> and <include item="netcfw"/> do not support all versions of every platform. For a list of the supported versions, see <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    For information on the operating systems and browsers supported by <include item="silverlight"/>, see <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS for XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Not mapped to an xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>In <include item="{0}"/>, questo membro è sovrascritto da {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, questo membro è ereditato da {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, questo membro è {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">This member overrides {0}.</item>
+  <item id="boilerplate_useBaseSee">See {0}.</item>
+  <item id="boilerplate_useBase">This member overrides {0}, and more complete documentation might be available in that topic.</item>
+
+  <item id="boilerplate_flagsSummary">This enumeration has a {0} attribute that allows a bitwise combination of its member values.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Members</item>
+	<item id="membersTitle">Overload List</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Inizializza una nuova istanza della classe <referenceLink target="T:{0}" />.</item>
+  <item id="SMCAutoDocStaticConstructor">Inizializza i campi statici della classe <referenceLink target="T:{0}" />.</item>
+  <item id="SMCAutoDocDispose">Rilascia tutte le risorse utilizzate da <referenceLink target="T:{0}" />.</item>
+  <item id="SMCAutoDocDisposeBool">Rilascia le risorse unmanaged usate da <referenceLink target="T:{0}" /> e opzionalmente rilascia anche le risorse managed.</item>
+  <item id="SMCAutoDocDisposeParam">True per rilasciare sia le risorse managed che quelle unmanaged; false per rilasciare solo quelle unmanaged.</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Manca la documentazione &lt;{0}&gt; per "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Manca &lt;{0} nome="{1}"/&gt; documentazione per "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Manca la documentazione di &lt;include&gt; in '{0}'.  File: '{1}' Percorso: '{2}']</p></item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..74b28b59f734c643b066fb902ed52238e0c76199
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/shared_content.xml
@@ -0,0 +1,138 @@
+<content xml:space="preserve"
+				 xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-en-US.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Tip</item>
+	<item id="alert_title_caution">Caution</item>
+	<item id="alert_title_security">Security Note</item>
+	<item id="alert_title_note">Note</item>
+	<item id="alert_title_important">Important</item>
+	<item id="alert_title_visualBasic">Visual Basic Note</item>
+	<item id="alert_title_visualC#">C# Note</item>
+	<item id="alert_title_visualC++">C++ Note</item>
+	<item id="alert_title_visualJ#">J# Note</item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Tip</item>
+	<item id="alert_altText_caution">Caution note</item>
+	<item id="alert_altText_security">Security note</item>
+	<item id="alert_altText_note">Note</item>
+	<item id="alert_altText_important">Important note</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">Note</item>
+	<item id="title_changeHistory">Storia delle modifiche</item>
+	<item id="title_events">Eventi</item>
+	<item id="title_exceptions">Eccezioni</item>
+	<item id="title_contracts">Contracts</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Task</item>
+	<item id="title_seeAlso_reference">Documentazione</item>
+	<item id="title_seeAlso_concepts">Concepts</item>
+	<item id="title_seeAlso_otherResources">Altre risorse</item>
+	<item id="title_revisionHistory">Storia delle revisioni</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">For more information, see </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> and </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic and C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>No code example is currently available or this language may not be supported.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">a null reference (<span class="keyword">Nothing</span> in Visual Basic)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> in Visual Basic)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> in Visual Basic)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> in Visual Basic)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> in Visual Basic)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> in Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> in Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> in Visual Basic)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Torna su</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">Bibliography</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copy</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">Click or drag to resize</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..50370c39b93bd2877d7fc33264f4b12ae372188a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/it-IT/shared_content_mshc.xml
@@ -0,0 +1,8 @@
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9cfb5d4d67103c88bab252114a191a1bf2f231e0
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework 開発者ガイド</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">セクションの内容</item>
+	<item id="title_buildInstructions">コードのコンパイル</item>
+	<item id="title_nextSteps">次の手順</item>
+	<item id="title_requirements">å¿…é ˆ</item>
+	<item id="title_relatedSections">関連するセクション</item>
+	<item id="title_relatedTopics">参照</item>
+	<item id="title_syntax">構文</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_returnValue">戻り値</item>
+  <item id="title_attributesAndElements">属性と要素</item>
+	<item id="title_attributes">属性</item>
+	<item id="title_childElement">子要素</item>
+	<item id="title_parentElement">親要素</item>
+	<item id="title_elementInformation">要素情報</item>
+  <item id="title_textValue">テキスト値</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework と等価</item>
+  <item id="title_prerequisites">前提条件</item>
+  <item id="title_robustProgramming">ロバストなプログラミング</item>
+	<item id="title_securitySection">セキュリティ</item>
+	<item id="title_externalResources">外部リソース</item>
+	<item id="title_demonstrates">デモ</item>
+  <item id="title_appliesTo">適用対象</item>
+	<item id="title_conclusion">結論</item>
+  <item id="title_background">背景</item>
+	<item id="title_whatsNew">新着情報</item>
+  <item id="title_reference">参照</item>
+  <item id="title_errorMessage">エラーメッセージ</item>
+  <item id="title_example">例</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">このトピックは下記のセクションを含みます:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">このトピックは下記のサブセクションを含みます:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline />
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} ©{1}{2}. All rights reserved.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">参照:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bd123b4ef78bcf31da88bfdc41c05fbd21cfda3f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/reference_content.xml
@@ -0,0 +1,548 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">このAPIはドキュメント化されていません。</item>
+  <item id="preliminaryText">このAPIは暫定的なものであり、変更される可能性があります。</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework クラスライブラリ</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">.NET Framework クラスライブラリ</item>
+	<item id="rootLink"><referenceLink target="R:Project">名前空間</referenceLink></item>
+  <item id="definedBy">({0}により定義)</item>
+	<item id="inheritedFrom">({0}から継承)</item>
+	<item id="overridesMember">({0}をオーバーライド)</item>
+	<item id="locationInformation">アセンブリ: {0} (モジュール: {1})</item>
+ 
+  <item id="derivedClasses">派生クラス</item>
+  <item id="explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+  <item id="returnValue">戻り値</item>
+  <item id="propertyValue">プロパティ値</item>
+  <item id="fieldValue">フィールド値</item>
+  <item id="example">例</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">名前空間</item>
+	<item id="topicTitle_namespace">{0} 名前空間</item>
+	<item id="topicTitle_namespaceGroup">{0} 名前空間</item>
+	<item id="topicTitle_class">{0} クラス</item>
+	<item id="topicTitle_structure">{0} 構造体</item>
+	<item id="topicTitle_interface">{0} インターフェイス</item>
+	<item id="topicTitle_derivedTypeList">{0} 派生クラス</item>
+  
+	<item id="topicTitle_delegate">{0} デリゲート</item>
+	<item id="topicTitle_enumeration">{0} 列挙体</item>
+	<item id="topicTitle_field">{0} フィールド</item>
+	<item id="topicTitle_method">{0} メソッド {1}</item>
+	<item id="topicTitle_constructor">{0} コンストラクター {1}</item>
+	<item id="topicTitle_property">{0} プロパティ {1}</item>
+	<item id="topicTitle_event">{0} イベント</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} 演算子 {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} 変換 {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} 変換演算子</item>
+      
+	<item id="topicTitle_attachedProperty">{0} 添付プロパティ</item>
+	<item id="topicTitle_attachedEvent">{0} 添付イベント</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} ジェネリッククラス</item>
+  <item id="topicTitle_generic_structure">{0} ジェネリック構造体</item>
+  <item id="topicTitle_generic_interface">{0} ジェネリックインターフェイス</item>
+  <item id="topicTitle_generic_delegate">{0} ジェネリックデリゲート</item>
+  <item id="topicTitle_generic_method">{0} ジェネリックメソッド {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} フィールド</item>
+	<item id="topicTitle_methods">{0} メソッド</item>
+	<item id="topicTitle_enumMembers">メンバー</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} 演算子</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} 演算子と型変換</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} 型変換</item>
+  
+	<item id="topicTitle_constructors">{0} コンストラクター</item>
+	<item id="topicTitle_properties">{0} プロパティ</item>
+	<item id="topicTitle_events">{0} イベント</item>
+	<item id="topicTitle_attachedProperties">{0} 添付プロパティ</item>
+ 	<item id="topicTitle_attachedEvents">{0} 添付イベント</item>
+	<item id="topicTitle_members">{0} メンバー</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">名前空間</item>
+  <item id="indexEntry_namespace">{0} 名前空間</item>
+  <item id="indexEntry_class">{0} クラス</item>
+	<item id="indexEntry_structure">{0} 構造体</item>
+	<item id="indexEntry_interface">{0} インターフェイス</item>
+	<item id="indexEntry_delegate">{0} デリゲート</item>
+	<item id="indexEntry_enumeration">{0} 列挙体</item>
+  <item id="indexEntry_enumerationMember">{0} 列挙体メンバー</item>
+  <item id="indexEntry_members">{0}、すべてのメンバー</item>
+  <item id="indexEntry_methods">{0}、メソッド</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}、演算子</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}、演算子と型変換</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}、型変換</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} 変換</item>
+  <item id="indexEntry_properties">{0}、プロパティ</item>
+  <item id="indexEntry_fields">{0}、フィールド</item>
+  <item id="indexEntry_events">{0}、イベント</item>
+  <item id="indexEntry_attachedProperties">{0}、添付プロパティ</item>
+  <item id="indexEntry_attachedEvents">{0}、添付イベント</item>
+	<item id="indexEntry_constructors">{0}、コンストラクター</item>
+	<item id="indexEntry_constructor">{0}、コンストラクター</item>
+	<item id="indexEntry_constructorType">{0} コンストラクター</item>
+  <item id="indexEntry_method">{0} メソッド</item>
+	<item id="indexEntry_property">{0} プロパティ</item>
+	<item id="indexEntry_event">{0} イベント</item>
+	<item id="indexEntry_field">{0} フィールド</item>
+	<item id="indexEntry_operator">{0} 演算子</item>
+	<item id="indexEntry_attachedProperty">{0} 添付プロパティ</item>
+	<item id="indexEntry_attachedEvent">{0} 添付イベント</item>
+	<item id="indexEntry_methodExplicit">{0} 明示的に実装されたメソッド</item>
+	<item id="indexEntry_propertyExplicit">{0} 明示的に実装されたプロパティ</item>
+	<item id="indexEntry_eventExplicit">{0} 明示的に実装されたイベント</item>
+	<item id="indexEntry_fieldExplicit">{0} 明示的に実装されたフィールド</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">構文</item>
+	<item id="title_templates">型パラメーター</item>
+	<item id="title_parameters">パラメーター</item>
+	<item id="title_value">値</item>
+	<item id="title_delegateValue">戻り値</item>
+	<item id="title_methodValue">戻り値</item>
+	<item id="title_propertyValue">プロパティ値</item>
+	<item id="title_fieldValue">フィールド値</item>
+	<item id="title_implements">実装</item>
+	<item id="title_examples">例</item>
+	<item id="title_threadSafety">スレッドセーフ</item>
+	<item id="title_permissions">.NET Framework セキュリティ</item>
+	<item id="title_namespaces">名前空間</item>
+	<item id="title_types">åž‹</item>
+	<item id="title_family">継承階層</item>
+	<item id="title_versions">バージョン情報</item>
+	<item id="title_platforms">プラットフォーム</item>
+	<item id="title_relatedTopics">関連項目</item>
+	<item id="title_extensionUsage">使用上の注意</item>
+	<item id="text_extensionUsage">Visual Basic と C#では、{0}型のオブジェクトのインスタンスメソッドのようにこのメソッドを呼び出せます。このメソッドを呼び出すためにインスタンスメソッド構文を使う場合、最初のパラメーターを省略します。詳細は、<a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(Visual Basic)</a>または<a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">拡張メソッド(C# プログラミング ガイド)</a>を参照してください。</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">名前空間</item>
+	<item id="header_namespaceDescription">説明</item>
+	<item id="header_typeIcon">アイコン</item>
+  <item id="header_className">クラス</item>
+  <item id="header_structureName">構造体</item>
+  <item id="header_interfaceName">インターフェイス</item>
+  <item id="header_delegateName">デリゲート</item>
+  <item id="header_enumerationName">列挙体</item>
+  
+	<item id="header_typeName">名前</item>
+	<item id="header_typeDescription">説明</item>
+	<item id="header_memberIcon">アイコン</item>
+	<item id="header_memberName">メンバー</item>
+	<item id="header_memberValue">値</item>
+	<item id="header_memberDescription">説明</item>
+	<item id="header_eventType">イベント型</item>
+	<item id="header_eventReason">原因</item>
+	<item id="header_exceptionName">例外</item>
+	<item id="header_exceptionCondition">条件</item>
+	<item id="header_permissionName">パーミッション</item>
+	<item id="header_permissionDescription">説明</item>
+  <item id="header_requiresName">事前条件</item>
+  <item id="header_ensuresName">事後条件</item>
+  <item id="header_ensuresOnThrowName">例外発生時の事後条件</item>
+  <item id="header_invariantsName">不変条件</item>
+
+	<item id="header_revHistoryDate">日付</item>
+	<item id="header_revHistoryVersion">バージョン</item>
+	<item id="header_revHistoryDescription">説明</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">名前空間</item>
+	<item id="tableTitle_class">クラス</item>
+	<item id="tableTitle_structure">構造体</item>
+	<item id="tableTitle_interface">インターフェイス</item>
+	<item id="tableTitle_delegate">デリゲート</item>
+	<item id="tableTitle_enumeration">列挙体</item>
+  <item id="tableTitle_constructor">コンストラクター</item>
+  <item id="tableTitle_method">メソッド</item>
+  <item id="tableTitle_operator">演算子</item>
+  <item id="tableTitle_field">フィールド</item>
+  <item id="tableTitle_property">プロパティ</item>
+  <item id="tableTitle_event">イベント</item>
+  <item id="tableTitle_attachedEvent">添付イベント</item>
+  <item id="tableTitle_attachedProperty">添付プロパティ</item>
+  <item id="tableTitle_explicitInterfaceImplementation">明示的なインターフェイスの実装</item>
+	<item id="tableTitle_overloadMembers">オーバーロードの一覧</item>
+  <item id="tableTitle_extensionMethod">拡張メソッド</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">スレッドセーフ</item>
+  <item id="boilerplate_threadSafety">この型の公開<include item="devlang_staticKeyword" />メンバーはすべてスレッドセーフです。インスタンスメンバーはスレッドセーフである保証はありません。</item>
+
+  <item id="text_staticThreadSafe">この型のstaticメンバーはスレッドセーフです。</item>
+  <item id="text_staticNotThreadSafe">この型のstaticメンバーはスレッドセーフではありません。</item>
+  <item id="text_instanceThreadSafe">この型のインスタンスメンバーはスレッドセーフです。</item>
+  <item id="text_instanceNotThreadSafe">この型のインスタンスメンバーはスレッドセーフではありません。</item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">{0} ジェネリック型は下記のメンバーを公開します。</item>
+  <item id="exposedMembersTableText">{0} 型は下記のメンバーを公開します。</item>	
+
+  <item id="dependencyPropertyInfoHeading">依存関係プロパティの情報</item>
+  <item id="routedEventInfoHeading">ルーティングイベントの情報</item>
+  <item id="mrefTaskMoreCodeHeading">More Code</item>
+
+  <item id="Overloaded">オーバーロード。</item>	
+  <item id="defaultNamespace">(既定の名前空間)</item>
+  
+  <item id="typeLink">åž‹: {0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter">{1}の型パラメーター<strong>{0}</strong></item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">ホスト保護属性。</item>
+	<item id="boilerplate_hostProtectionAttribute">この型またはメンバーに適用される<referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" prefer-overload="true" />属性が持つ<referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources" prefer-overload="true" />プロパティの値は{1}です。この<referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" prefer-overload="true" />は(アイコンのダブルクリック、コマンドの入力、またはブラウザーへのURLの入力により起動するような)デスクトップアプリケーションに影響を与えません。
+                 より詳しくは、<referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" prefer-overload="true" />クラスまたは<a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server プログラミングとホスト保護属性</a>を参照してください。</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>廃止予定。</strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>注意: このAPIは廃止予定です。</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">クラス</item>
+  <item id="text_delegateLower">デリゲート</item>
+  <item id="text_structureLower">構造体</item>
+  <item id="text_interfaceLower">インターフェイス</item>
+  <item id="text_enumerationLower">列挙体</item>
+
+  <item id="text_classUpper">クラス</item>
+  <item id="text_structureUpper">構造体</item>
+  <item id="text_interfaceUpper">インターフェイス</item>
+  <item id="text_delegateUpper">デリゲート</item>
+  <item id="text_enumerationUpper">列挙体</item>
+
+	<item id="text_classTypesLower">クラス</item>
+	<item id="text_structureTypesLower">構造体</item>
+	<item id="text_interfaceTypesLower">インターフェイス</item>
+	<item id="text_delegateTypesLower">デリゲート</item>
+	<item id="text_enumerationTypesLower">列挙体</item>
+  
+	<item id="text_classTypesUpper">クラス</item>
+	<item id="text_structureTypesUpper">構造体</item>
+	<item id="text_interfaceTypesUpper">インターフェイス</item>
+	<item id="text_delegateTypesUpper">デリゲート</item>
+	<item id="text_enumerationTypesUpper">列挙体</item>
+
+  <item id="text_membersLower">メンバー</item>
+  <item id="text_methodsLower">メソッド</item>
+  <item id="text_propertiesLower">プロパティ</item>
+  <item id="text_eventsLower">イベント</item>
+  <item id="text_fieldsLower">フィールド</item>
+  <item id="text_operatorsLower">演算子</item>
+  <item id="text_attachedPropertiesLower">添付プロパティ</item>
+  <item id="text_attachedEventsLower">添付イベント</item>
+
+  <item id="text_membersUpper">メンバー</item>
+  <item id="text_methodsUpper">メソッド</item>
+  <item id="text_propertiesUpper">プロパティ</item>
+  <item id="text_eventsUpper">イベント</item>
+  <item id="text_fieldsUpper">フィールド</item>
+  <item id="text_operatorsUpper">演算子</item>
+  <item id="text_attachedPropertiesUpper">添付プロパティ</item>
+  <item id="text_attachedEventsUpper">添付イベント</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Public クラス</item>
+	<item id="altText_pubStructure">Public 構造体</item>
+	<item id="altText_pubInterface">Public インターフェイス</item>
+	<item id="altText_pubDelegate">Public デリゲート</item>
+	<item id="altText_pubEnumeration">Public 列挙体</item>
+	<item id="altText_protClass">Protected クラス</item>
+	<item id="altText_protStructure">Protected 構造体</item>
+	<item id="altText_protInterface">Protected インターフェイス</item>
+	<item id="altText_protDelegate">Protected デリゲート</item>
+	<item id="altText_protEnumeration">Protected 列挙体</item>
+	<item id="altText_privClass">Private クラス</item>
+	<item id="altText_privStructure">Private 構造体</item>
+	<item id="altText_privInterface">Private インターフェイス</item>
+	<item id="altText_privDelegate">Private デリゲート</item>
+	<item id="altText_privEnumeration">Private 列挙体</item>
+
+	<item id="altText_pubConstructor">Public コンストラクター</item>
+	<item id="altText_pubMethod">Public メソッド</item>
+	<item id="altText_pubField">Public フィールド</item>
+	<item id="altText_pubProperty">Public プロパティ</item>
+	<item id="altText_pubEvent">Public イベント</item>
+	<item id="altText_pubOperator">Public 演算子</item>
+	<item id="altText_pubAttachedProperty">Public 添付プロパティ</item>
+	<item id="altText_pubAttachedEvent">Public 添付イベント</item>
+	<item id="altText_protConstructor">Protected コンストラクター</item>
+	<item id="altText_protMethod">Protected メソッド</item>
+	<item id="altText_protField">Protected フィールド</item>
+	<item id="altText_protProperty">Protected プロパティ</item>
+	<item id="altText_protEvent">Protected イベント</item>
+	<item id="altText_protOperator">Protected 演算子</item>
+	<item id="altText_protAttachedProperty">Protected 添付プロパティ</item>
+	<item id="altText_protAttachedEvent">Protected 添付イベント</item>
+	<item id="altText_privConstructor">Private コンストラクター</item>
+	<item id="altText_privMethod">Private メソッド</item>
+	<item id="altText_privField">Private フィールド</item>
+	<item id="altText_privProperty">Private プロパティ</item>
+	<item id="altText_privEvent">Private イベント</item>
+	<item id="altText_privOperator">Private 演算子</item>
+	<item id="altText_privtAttachedProperty">Private 添付プロパティ</item>
+	<item id="altText_privAttachedEvent">Private 添付イベント</item>
+	<item id="altText_static">静的メンバー</item>
+	<item id="altText_pubextension">Public 拡張メソッド</item>
+	<item id="altText_protextension">Protected 拡張メソッド</item>
+	<item id="altText_privextension">Private 拡張メソッド</item>
+
+  <item id="altText_CompactFramework">.NET Compact Frameworkによってサポートされています。</item>
+  <item id="altText_XNAFramework">XNA Frameworkによってサポートされています。</item>
+  <item id="altText_SilverlightMobile"><include item="silverlight_mobile" />によってサポートされています。</item>
+  <item id="altText_ExplicitInterface">明示的なインターフェイスの実装</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} 名前空間</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper" /></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} メンバー</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} オーバーロード</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>名前空間:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>プラットフォーム:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>アセンブリ:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>アセンブリ:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) バージョン: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>アセンブリ:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">サポートされるバージョン: {0}</item>
+  <item id="supportedIn_2">サポートされるバージョン: {0}, {1}</item>
+  <item id="supportedIn_3">サポートされるバージョン: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">サポートされるバージョン: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">サポートされるバージョン: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">廃止予定になった (コンパイル時警告) バージョン: {0}</item>
+  <item id="obsoleteError">廃止された (コンパイル不可) バージョン: {0}</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">直前の呼び出し元に対する完全な信頼。このメンバーは、部分信頼コードからは使えません。詳細は、<a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">部分信頼コードからのライブラリの使用</a>を参照してください。</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">この型パラメーターは共変です。つまり、指定した型か、その型から派生した任意の型が使えます。</item>
+  <item id="text_contravariant">この型パラメーターは反変です。つまり、指定した型か、その型が継承する任意の型が使えます。</item>
+  <item id="text_variance">共変と反変についての詳細は、<a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">共変性と反変性 (C# および Visual Basic)</a>を参照してください。</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">このAPIはCLS準拠ではありません。</item>
+  <item id="boilerplate_AltClsCompliant">CLS準拠の代替は{0}です。</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">この型は SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこの型のメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="boilerplate_memberSecurityCritical">このメンバーは SecurityCriticalAttribute 属性を持っているため、.NET Framework for Silverlight クラスライブラリ内のみでしか使えないように制限されています。アプリケーションコードでこのメンバーを使うと、MethodAccessExceptionが投げられます。</item>
+  <item id="text_securityCritical">[セキュリティ上の重要事項] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">このメンバーはオーバーロードされています。構文、使用法、例を含むこのメンバーについての完全な情報は、オーバーロード一覧の名前をクリックしてください。</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} プラットフォームに関するメモ:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p><include item="netfw" />と<include item="netcfw" />では、各プラットフォームのすべてのバージョンはサポートしていません。サポートしているバージョンについては、<a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework システム要件</a>を参照してください。</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    <include item="silverlight" />によってサポートされているOSとブラウザーの詳細は、<a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">サポートされているオペレーティング システムとブラウザー</a>を参照してください。
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003" /></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">共通言語基盤(CLI)標準</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95" />, <include item="Win98" />, <include item="Win98Se" />, <include item="WinME" /></item>
+	<item id="WinNt4Family"><include item="WinNT4" /></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal" />, <include item="WinXPPro" />, <include item="WinXPSvr" /></item>
+	<item id="WinCE"><include item="WindowsCE" /></item>
+	<item id="Win2K"><include item="WinSvr2000" /></item>
+	<item id="Win2KSvr"><include item="Win2kServer" /></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter" /></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr" /></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks" /></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter" /></item>
+	<item id="Win2kServerApplianceKit" />
+	<item id="WinXpHome"><include item="WinXPPersonal" /></item>
+	<item id="WinXpProfessional"><include item="WinXPPro" /></item>
+	<item id="Win2003Server"><include item="WinXPSvr" /></item>
+	<item id="NETCF"><include item="PocketPC" />, <include item="SmartPhone" />, <include item="WindowsCE" /></item>
+  
+  <item id="XNA"><include item="Xbox360" />, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XAML用XMLNS:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">xmlnsにマップされていません。</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br /><br />In <include item="{0}" />, このメンバーは{1}でオーバーライドされています。</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br /><br />In <include item="{0}" /> <include item="{1}" />, このメンバーは、{2}{3}{4}から継承されます。</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br /><br />In <include item="{0}" /> <include item="{1}" />, このメンバーは、{2}です。</item>
+  
+  <item id="boilerplate_useBaseSummary">このメンバーは{0}をオーバーライドしています。</item>
+  <item id="boilerplate_useBaseSee">{0}を参照してください。</item>
+  <item id="boilerplate_useBase">このメンバーは{0}をオーバーライドします。より完全なドキュメントはそのトピックで有効です。</item>
+
+  <item id="boilerplate_flagsSummary">この列挙体には、メンバーの値のビットごとの組み合わせを可能にする{0}属性があります。</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family" /></item>
+  <item id="allMembersTitle">メンバー</item>
+	<item id="membersTitle">オーバーロードの一覧</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute" /></item>
+	<item id="classLower"><include item="text_classLower" /></item>
+  <item id="delegateLower"><include item="text_delegateLower" /></item>
+  <item id="structureLower"><include item="text_structureLower" /></item>
+  <item id="interfaceLower"><include item="text_interfaceLower" /></item>
+  <item id="enumerationLower"><include item="text_enumerationLower" /></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor"><referenceLink target="T:{0}" />クラスの新しいインスタンスを初期化します</item>
+  <item id="SMCAutoDocStaticConstructor"><referenceLink target="T:{0}" />クラスの静的フィールドを初期化します</item>
+  <item id="SMCAutoDocDispose"><referenceLink target="T:{0}" />によって使われているすべてのリソースを解放します</item>
+  <item id="SMCAutoDocDisposeBool"><referenceLink target="T:{0}" />によって使われているアンマネージリソースを解放し、オプションでマネージリソースも解放します。</item>
+  <item id="SMCAutoDocDisposeParam">マネージリソースとアンマネージリソースの両方を解放する場合はtrue、アンマネージリソースのみを解放する場合はfalse</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{1}"に対する&lt;{0}&gt;がありません]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">["{2}"に対する&lt;{0} name="{1}"/&gt;がありません</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">['{0}'で使われている&lt;include&gt;ターゲットドキュメントがありません。File: '{1}' Path: '{2}']</p></item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3061644a0fed8b09ef6c6bc677e66987e1fa3bd5
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/shared_content.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-en-US.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text" />
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate" />
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">ヒント</item>
+	<item id="alert_title_caution">注意</item>
+	<item id="alert_title_security">セキュリティ メモ</item>
+	<item id="alert_title_note">メモ</item>
+	<item id="alert_title_important">重要</item>
+	<item id="alert_title_visualBasic">Visual Basic メモ</item>
+	<item id="alert_title_visualC#">C# メモ</item>
+	<item id="alert_title_visualC++">C++ メモ</item>
+	<item id="alert_title_visualJ#">J# メモ</item>
+	<item id="text_NotesForImplementers">実装時の注意</item>
+	<item id="text_NotesForCallers">利用時の注意</item>
+	<item id="text_NotesForInheritors">継承する場合の注意</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">ヒント</item>
+	<item id="alert_altText_caution">注意 メモ</item>
+	<item id="alert_altText_security">セキュリティ メモ</item>
+	<item id="alert_altText_note">メモ</item>
+	<item id="alert_altText_important">重要 メモ</item>
+	<item id="alert_altText_visualBasic">Visual Basic メモ</item>
+	<item id="alert_altText_visualC#">C# メモ</item>
+	<item id="alert_altText_visualC++">C++ メモ</item>
+	<item id="alert_altText_visualJ#">J# メモ</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">解説</item>
+	<item id="title_changeHistory">変更履歴</item>
+	<item id="title_events">イベント</item>
+	<item id="title_exceptions">例外</item>
+	<item id="title_contracts">契約</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">タスク</item>
+	<item id="title_seeAlso_reference">参照</item>
+	<item id="title_seeAlso_concepts">コンセプト</item>
+	<item id="title_seeAlso_otherResources">その他のリソース</item>
+	<item id="title_revisionHistory">バージョン履歴</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords="{0}" locHeader="Location" topicHeader="Topic" disambiguator="table" indexMoniker="!DefaultDynamicLinkIndex" /></item>
+
+	<item id="inline_dynamicLink_prefixText">より詳しくは、</item>
+	<item id="inline_dynamicLink_postfixText">を参照してください。</item>
+	<item id="inline_dynamicLink_separatorText">と</item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic と C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>現在有効なコード例がないか、この言語ではサポートされていません。</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB と C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">null参照(Visual Basicでは<span class="keyword">Nothing</span>)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (Visual Basicでは<span class="keyword">Shared</span>)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (Visual Basicでは<span class="keyword">Overridable</span>)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (Visual Basicでは<span class="keyword">True</span>)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (Visual Basicでは<span class="keyword">False</span>)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (Visual Basicでは<span class="keyword">MustInherit</span>)</item>
+	<item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (Visual Basicでは<span class="keyword">NotInheritable</span>)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (Visual Basicでは<span class="keyword">Async</span>)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (Visual Basicでは<span class="keyword">Await</span>)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (Visual Basicでは<span class="keyword">Async</span>/<span class="keyword">Await</span>)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">トップ</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text" /></item>
+	<item id="copyright_link" />
+	<item id="copyright_text">© 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">参考文献</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text" /></item>
+	<item id="copyCode">コピー</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">リサイズはクリックかドラッグ</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ja-JP/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..395ea3620b4e59fd32d24b74c7d5bdf9a32c2a09
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">In This Section</item>
+	<item id="title_buildInstructions">Compiling the Code</item>
+	<item id="title_nextSteps">Next Steps</item>
+	<item id="title_requirements">Requirements</item>
+	<item id="title_relatedSections">Related Sections</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_syntax">Syntax</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_returnValue">Return Value</item>
+  <item id="title_attributesAndElements">Attributes and Elements</item>
+	<item id="title_attributes">Attributes</item>
+	<item id="title_childElement">Child Elements</item>
+	<item id="title_parentElement">Parent Elements</item>
+	<item id="title_elementInformation">Element Information</item>
+  <item id="title_textValue">Text Value</item>
+  <item id="title_dotNetFrameworkEquivalent">.NET Framework Equivalent</item>
+  <item id="title_prerequisites">Prerequisites</item>
+  <item id="title_robustProgramming">Robust Programming</item>
+	<item id="title_securitySection">Security</item>
+	<item id="title_externalResources">External Resources</item>
+	<item id="title_demonstrates">Demonstrates</item>
+  <item id="title_appliesTo">Applies To</item>
+	<item id="title_conclusion">Conclusion</item>
+  <item id="title_background">Background</item>
+	<item id="title_whatsNew">What's New</item>
+  <item id="title_reference">Reference</item>
+  <item id="title_errorMessage">Error Message</item>
+  <item id="title_example">Example</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">This topic contains the following sections:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">This section contains the following subsections:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. All rights reserved.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">See Also:</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f6179a9e16f506020a9b46a04d77a382e1ceafda
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/reference_content.xml
@@ -0,0 +1,550 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">Esta API não está documentada.</item>
+  <item id="preliminaryText">Esta API é preliminar e sujeita a mudança.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">Biblioteca de Classes do .NET Framework</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">Biblioteca de Classes do .NET Framework</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namespaces</referenceLink></item>
+  <item id="definedBy">(Definido por {0}.)</item>
+	<item id="inheritedFrom">(Herdado de {0}.)</item>
+	<item id="overridesMember">(Sobrescreve {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Module: {1})</item>
+ 
+  <item id="derivedClasses">Classe Derivada</item>
+  <item id="explicitInterfaceImplementation">Implementações Explícitas da Interface</item>
+  <item id="returnValue">Valor de Retorno</item>
+  <item id="propertyValue">Valor da Propriedade</item>
+  <item id="fieldValue">Valor do Campo</item>
+  <item id="example">Exemplo</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Namespaces</item>
+	<item id="topicTitle_namespace">{0} Namespace</item>
+	<item id="topicTitle_namespaceGroup">{0} Namespaces</item>
+	<item id="topicTitle_class">Classe {0}</item>
+	<item id="topicTitle_structure">{0} Estrutura</item>
+	<item id="topicTitle_interface">{0} Interface</item>
+	<item id="topicTitle_derivedTypeList">{0} Classes Derivadas</item>
+  
+	<item id="topicTitle_delegate">{0} Delegados</item>
+	<item id="topicTitle_enumeration">{0} Enumeração</item>
+	<item id="topicTitle_field">Campos {0}</item>
+	<item id="topicTitle_method">{0} Métodos {1}</item>
+	<item id="topicTitle_constructor">{0} Construtores {1}</item>
+	<item id="topicTitle_property">{0} Propriedades {1}</item>
+	<item id="topicTitle_event">{0} Eventos</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} Operadores {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Conversão {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0}  Operadores de Conversão</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Propriedades anexadas</item>
+	<item id="topicTitle_attachedEvent">{0} Eventos anexados</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">Classe Genérica {0}</item>
+  <item id="topicTitle_generic_structure">Estrutura Genérica {0}</item>
+  <item id="topicTitle_generic_interface">Interface Genérica {0} </item>
+  <item id="topicTitle_generic_delegate">Delegação Genérica {0}</item>
+  <item id="topicTitle_generic_method">{0} Método Genérico {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} Campos</item>
+	<item id="topicTitle_methods">{0} Métodos</item>
+	<item id="topicTitle_enumMembers">Membros</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operadores</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operadores e Conversores de Tipo</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Conversores de Tipo</item>
+  
+	<item id="topicTitle_constructors">Construtores {0} </item>
+	<item id="topicTitle_properties">Propriedades {0} </item>
+	<item id="topicTitle_events">Eventos {0} </item>
+	<item id="topicTitle_attachedProperties">{0} Propriedades Anexadas</item>
+ 	<item id="topicTitle_attachedEvents">{0} Eventos Anexados</item>
+	<item id="topicTitle_members">{0} Membros</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">namespaces</item>
+  <item id="indexEntry_namespace">{0} namespace</item>
+  <item id="indexEntry_class">classe {0} </item>
+	<item id="indexEntry_structure">estrutura {0}</item>
+	<item id="indexEntry_interface">interface {0}</item>
+	<item id="indexEntry_delegate">delegação {0}</item>
+	<item id="indexEntry_enumeration">eumeração {0}</item>
+  <item id="indexEntry_enumerationMember">membro da enumeração {0}</item>
+  <item id="indexEntry_members">{0}, todos os membros</item>
+  <item id="indexEntry_methods">{0}, métodos</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, operadores</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, operadores e conversores de tipo</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, conversores de tipo</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} conversão</item>
+  <item id="indexEntry_properties">{0}, propriedades</item>
+  <item id="indexEntry_fields">{0}, campos</item>
+  <item id="indexEntry_events">{0}, eventos</item>
+  <item id="indexEntry_attachedProperties">{0}, propriedades anexadas</item>
+  <item id="indexEntry_attachedEvents">{0}, eventos anexados</item>
+	<item id="indexEntry_constructors">{0}, construtores</item>
+	<item id="indexEntry_constructor">{0}, construtores</item>
+	<item id="indexEntry_constructorType">{0} construtores</item>
+  <item id="indexEntry_method">{0} métodos</item>
+	<item id="indexEntry_property">{0} propriedade</item>
+	<item id="indexEntry_event">{0} evento</item>
+	<item id="indexEntry_field">{0} campo</item>
+	<item id="indexEntry_operator">{0} operador</item>
+	<item id="indexEntry_attachedProperty">{0} propriedades anexadas</item>
+	<item id="indexEntry_attachedEvent">{0} eventos anexados</item>
+	<item id="indexEntry_methodExplicit">{0} método implementado explicitamente</item>
+	<item id="indexEntry_propertyExplicit">{0} propriedade implementada explicitamente</item>
+	<item id="indexEntry_eventExplicit">{0} evento implementado explicitamente</item>
+	<item id="indexEntry_fieldExplicit">{0} campo implementado explicitamente</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Sintaxe</item>
+	<item id="title_templates">Parâmetros de Tipo</item>
+	<item id="title_parameters">Parâmetros</item>
+	<item id="title_value">Valor</item>
+	<item id="title_delegateValue">Valor de Retorno</item>
+	<item id="title_methodValue">Valor de Retorno</item>
+	<item id="title_propertyValue">Valor da Propriedade</item>
+	<item id="title_fieldValue">Valor do Campo</item>
+	<item id="title_implements">Implementa</item>
+	<item id="title_examples">Exemplos</item>
+	<item id="title_threadSafety">Thread Segurança</item>
+	<item id="title_permissions">Segurança do .NET Framework</item>
+	<item id="title_namespaces">Namespaces</item>
+	<item id="title_types">Tipos</item>
+	<item id="title_family">Hierarquia de Herança</item>
+	<item id="title_versions">Infromação de Versão</item>
+	<item id="title_platforms">Platformas</item>
+	<item id="title_relatedTopics">Veja Também</item>
+	<item id="title_extensionUsage">Nota de Uso</item>
+	<item id="text_extensionUsage">No Visual Basic e C#, você pode chamar este método como uma instância do método de qualquer objeto do tipo {0}. Quando você usar a Sintaxe de chamada do método de instância, omita o primeiro parâmetro. Para mais informação, veja <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Extensão de Métodos (Visual Basic)</a> ou <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Extensão nos Métodos (C# Programming Guide)</a>.</item>
+	<item id="text_moreInheritance">Mais...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Namespace</item>
+	<item id="header_namespaceDescription">Descrição</item>
+	<item id="header_typeIcon">Icones</item>
+  <item id="header_className">Classe</item>
+  <item id="header_structureName">Estrutura</item>
+  <item id="header_interfaceName">Interface</item>
+  <item id="header_delegateName">Delegação</item>
+  <item id="header_enumerationName">Enumeração</item>
+  
+	<item id="header_typeName">Nome</item>
+	<item id="header_typeDescription">Descrição</item>
+	<item id="header_memberIcon">Icone</item>
+	<item id="header_memberName">Nome do Membro</item>
+	<item id="header_memberValue">Valor</item>
+	<item id="header_memberDescription">Descrição</item>
+	<item id="header_eventType">Tipo de Evento</item>
+	<item id="header_eventReason">Razão</item>
+	<item id="header_exceptionName">Exceção</item>
+	<item id="header_exceptionCondition">Condição</item>
+	<item id="header_permissionName">Permissão</item>
+	<item id="header_permissionDescription">Descrição</item>
+  <item id="header_requiresName">Requer</item>
+  <item id="header_ensuresName">Garante</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariantes</item>
+
+	<item id="header_revHistoryDate">Data</item>
+	<item id="header_revHistoryVersion">Versão</item>
+	<item id="header_revHistoryDescription">Descrição</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">Namespaces</item>
+	<item id="tableTitle_class">Classes</item>
+	<item id="tableTitle_structure">Estruturas</item>
+	<item id="tableTitle_interface">Interfaces</item>
+	<item id="tableTitle_delegate">Delegações</item>
+	<item id="tableTitle_enumeration">Enumerações</item>
+  <item id="tableTitle_constructor">Construtores</item>
+  <item id="tableTitle_method">Métodos</item>
+  <item id="tableTitle_operator">Operatores</item>
+  <item id="tableTitle_field">Campos</item>
+  <item id="tableTitle_property">Propriedades</item>
+  <item id="tableTitle_event">Eventos</item>
+  <item id="tableTitle_attachedEvent">Eventos anexados</item>
+  <item id="tableTitle_attachedProperty">Propriedades anexadas</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Explicita&#160;Interface&#160;Implementação</item>
+	<item id="tableTitle_overloadMembers">Overload&#160;List</item>
+  <item id="tableTitle_extensionMethod">Extensão&#160;Métodos</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Segurança de Thread</item>
+  <item id="boilerplate_threadSafety">Qualquer membro público <include item="devlang_staticKeyword"/>  deste tipo está seguro na thread. Qualquer instância de membro não está garantido em thread.</item>
+
+  <item id="text_staticThreadSafe">Membros estáticos deste tipo são seguros para operações multi-threaded. </item>
+  <item id="text_staticNotThreadSafe">Membros estáticos deste tipo não são seguros para operações multi-threaded. </item>
+  <item id="text_instanceThreadSafe">Instância de membros deste tipo são seguros para operações multi-threaded. </item>
+  <item id="text_instanceNotThreadSafe">Instância de membros deste tipo não são seguros para operações multi-threaded. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">O tipo genérico {0} expõe os seguintes membros.</item>
+  <item id="exposedMembersTableText">O tipo {0} expõe os seguintes membros.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Informação de Propriedade de Dependência</item>
+  <item id="routedEventInfoHeading">Informação de Roteamento de Evento</item>
+  <item id="mrefTaskMoreCodeHeading">Mais código</item>
+
+  <item id="Overloaded">Overloaded. </item>	
+  <item id="defaultNamespace">(Namespace padrão)</item>
+  
+  <item id="typeLink">Tipo:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> parâmetro de tipo de {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">O atributo <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> aplicado neste tipo ou membro tem os seguintes valores de propriedades <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> : {1}. O <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> não afeta as aplicações desktop (que são tipicamente inicializadas pelo duplo-clique de um ícone, teclar um comando, ou com um URL no navegador). Para mais informação, veja a classe <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> ou <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server Programming and Host Protection Attributes</a>.</item>
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsoleto. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Nota: Esta API está obsoleta.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">classe</item>
+  <item id="text_delegateLower">delegação</item>
+  <item id="text_structureLower">estrutura</item>
+  <item id="text_interfaceLower">interface</item>
+  <item id="text_enumerationLower">enumeração</item>
+
+  <item id="text_classUpper">Classe</item>
+  <item id="text_structureUpper">Estrutura</item>
+  <item id="text_interfaceUpper">Interface</item>
+  <item id="text_delegateUpper">Delegação</item>
+  <item id="text_enumerationUpper">Enumeração</item>
+
+	<item id="text_classTypesLower">classes</item>
+	<item id="text_structureTypesLower">estruturas</item>
+	<item id="text_interfaceTypesLower">interfaces</item>
+	<item id="text_delegateTypesLower">delegações</item>
+	<item id="text_enumerationTypesLower">enumerações</item>
+  
+	<item id="text_classTypesUpper">Classes</item>
+	<item id="text_structureTypesUpper">Estruturas</item>
+	<item id="text_interfaceTypesUpper">Interfaces</item>
+	<item id="text_delegateTypesUpper">Delegações</item>
+	<item id="text_enumerationTypesUpper">Enumerações</item>
+
+  <item id="text_membersLower">membros</item>
+  <item id="text_methodsLower">métodos</item>
+  <item id="text_propertiesLower">propriedades</item>
+  <item id="text_eventsLower">eventos</item>
+  <item id="text_fieldsLower">campos</item>
+  <item id="text_operatorsLower">operadores</item>
+  <item id="text_attachedPropertiesLower">propriedades anexas</item>
+  <item id="text_attachedEventsLower">eventos anexos</item>
+
+  <item id="text_membersUpper">Membros</item>
+  <item id="text_methodsUpper">Métodos</item>
+  <item id="text_propertiesUpper">Propriedades</item>
+  <item id="text_eventsUpper">Eventos</item>
+  <item id="text_fieldsUpper">Campos</item>
+  <item id="text_operatorsUpper">Operadores</item>
+  <item id="text_attachedPropertiesUpper">Propriedades Anexas</item>
+  <item id="text_attachedEventsUpper">Eventos Anexos</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Classes públicas</item>
+	<item id="altText_pubStructure">Estruturas públicas</item>
+	<item id="altText_pubInterface">Interfaces públicas</item>
+	<item id="altText_pubDelegate">Delegações públicas</item>
+	<item id="altText_pubEnumeration">Enumerações públicas</item>
+	<item id="altText_protClass">Classes protegidas</item>
+	<item id="altText_protStructure">Estruturas protegidas</item>
+	<item id="altText_protInterface">Interfaces protegidas</item>
+	<item id="altText_protDelegate">Delegações protegidas</item>
+	<item id="altText_protEnumeration">Enumerações protegidas</item>
+	<item id="altText_privClass">Classes privadas</item>
+	<item id="altText_privStructure">Estruturas privadas</item>
+	<item id="altText_privInterface">Interfaces privadas</item>
+	<item id="altText_privDelegate">Delegações privadas</item>
+	<item id="altText_privEnumeration">Enumerações privadas</item>
+
+	<item id="altText_pubConstructor">Construtoras públicos</item>
+	<item id="altText_pubMethod">Métodos públicos</item>
+	<item id="altText_pubField">Campos públicos</item>
+	<item id="altText_pubProperty">Propriedades públicas</item>
+	<item id="altText_pubEvent">Eventos públicos</item>
+	<item id="altText_pubOperator">Operadores públicos</item>
+	<item id="altText_pubAttachedProperty">Propriedades anexas públicas</item>
+	<item id="altText_pubAttachedEvent">Eventos anexos públicos</item>
+	<item id="altText_protConstructor">Construtores protegidos</item>
+	<item id="altText_protMethod">Métodos protegidos</item>
+	<item id="altText_protField">Campos protegidos</item>
+	<item id="altText_protProperty">Propriedades protegidas</item>
+	<item id="altText_protEvent">Eventos protegidos</item>
+	<item id="altText_protOperator">Operadores protegidos</item>
+	<item id="altText_protAttachedProperty">Propriedades anexas protegidas</item>
+	<item id="altText_protAttachedEvent">Evento anexo protegido</item>
+	<item id="altText_privConstructor">Construtor privado</item>
+	<item id="altText_privMethod">Método privado</item>
+	<item id="altText_privField">Campo privado</item>
+	<item id="altText_privProperty">Propriedade privada</item>
+	<item id="altText_privEvent">Evento privado</item>
+	<item id="altText_privOperator">Operador privado</item>
+	<item id="altText_privtAttachedProperty">Propriedade anexa privada</item>
+	<item id="altText_privAttachedEvent">Evento anexo privado</item>
+	<item id="altText_static">Membro estático</item>
+	<item id="altText_pubextension">Método extensão público</item>
+	<item id="altText_protextension">Método extensão protegido</item>
+	<item id="altText_privextension">Método extensão privado</item>
+
+  <item id="altText_CompactFramework">Suportado pelo Framework .NET Compacto</item>
+  <item id="altText_XNAFramework">Suporetado pelo XNA Framework</item>
+  <item id="altText_SilverlightMobile">Suportado pelo <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Implementação explícita de interface</item>
+  <item id="altText_CodeExample">Exemplo de código</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Namespace</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Membros</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Overload</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Namespace:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Plataformas:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Assemblies:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Assembly:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Versão: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Assembly:</strong> {0} (em {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Suportado em: {0}</item>
+  <item id="supportedIn_2">Suportado em: {0}, {1}</item>
+  <item id="supportedIn_3">Suportado em: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Suportado em: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Suportado em: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Suportado em: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsoleto (alerta do compilador) em {0}</item>
+  <item id="obsoleteError">Obsoleto (não compila) em {0} e depois</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Confiança completa para o chamador imediato. Este membro não pode ser usado por código parcialmente confiável. Para mais informação, veja <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Este tipo de parâmetro é covariante. Isto é, você tanto pode usar o tipo que você especificou ou qualquer tipo mais derivado.</item>
+  <item id="text_contravariant">Este tipo de parâmetro é contravariante. Isto é, você tanto pode usar o tipo que você especificou ou qualquer tipo menos derivado. </item>
+  <item id="text_variance">Para mais informação sobre covariância e contravariância, veja <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Esta API não é compatível com CLS.</item>
+  <item id="boilerplate_AltClsCompliant">A alternativa compatível com CLS é {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Este tipo tem o atributo SecurityCriticalAttribute, que restinge para uso interno pelo .NET Framework para a biblioteca de classes do Silverlight. O Código da aplicação que usa qualquer membro deste tipo dispara uma MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Este membro tem o atributo SecurityCriticalAttribute, que restinge para uso interno pelo .NET Framework para a biblioteca de classes do Silverlight. O Código da aplicação que usa qualquer membro deste tipo dispara uma MethodAccessException.</item>
+  <item id="text_securityCritical">[CRITICO PARA SEGURANÇA] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Este membro está overloaded. Para informação completa sobre este membro, incluindo sintaxe, uso e exemplo, clique o nome na lista de overload.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Nota de Platforma:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>O <include item="netfw"/> e o <include item="netcfw"/> não suportam todas as versões de qualquer plataforma. Para uma lista das versões suportadas, veja <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    Para informação sobre o sistema operacional e navegadores suportados por <include item="silverlight"/>, veja <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS para XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Não mapeado para um xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>Em <include item="{0}"/>, este membro é sobrescrito por {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>Em <include item="{0}"/>&#160;<include item="{1}"/>, este membro é herdado por {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>Em <include item="{0}"/>&#160;<include item="{1}"/>, este membro é {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Este membro sobrescreve {0}.</item>
+  <item id="boilerplate_useBaseSee">Veja {0}.</item>
+  <item id="boilerplate_useBase">Este membro sobrescreve {0}, e uma documentação mais completa pode estar disponível naquele tópico.</item>
+
+  <item id="boilerplate_flagsSummary">Esta enumeração tem {0} atributos que permitem uma combinação dos bits dos valores dos membros.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Membros</item>
+	<item id="membersTitle">Lista de Overload</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Inicializa uma nova instância da classe <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocStaticConstructor">Inicializa os campos estáticos da classe <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDispose">Libera todos os recursos usados por <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Libera os recursos não gerenciados por <referenceLink target="T:{0}" /> e opcionalmente libera os recursos gerenciados</item>
+  <item id="SMCAutoDocDisposeParam">Verdadeiro para liberar tanto os recursos gerenciados e não gerenciados; falso para liberar somente os não gerenciados</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Falta &lt;{0}&gt; documentação para "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Falta  &lt;{0} name="{1}"/&gt; documentação para "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Falta  &lt;include&gt; documentação de destino em '{0}'.  Arquivo: '{1}' Path: '{2}']</p></item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">Veja a fonte</item>
+	<item id="sourceCodeLinkTitle">Veja o código fonte</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c11ef9e1c500cfb597023be81299f5084ad8d124
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/shared_content.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-en-US.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Dica</item>
+	<item id="alert_title_caution">Cuidado</item>
+	<item id="alert_title_security">Nota de Segurança</item>
+	<item id="alert_title_note">Nota</item>
+	<item id="alert_title_important">Importante</item>
+	<item id="alert_title_visualBasic">Nota de Visual Basic</item>
+	<item id="alert_title_visualC#">Nota de C#</item>
+	<item id="alert_title_visualC++">Nota de C++</item>
+	<item id="alert_title_visualJ#">Nota de J#</item>
+	<item id="text_NotesForImplementers">Notas para Implementadores</item>
+	<item id="text_NotesForCallers">Notas para Usuários</item>
+	<item id="text_NotesForInheritors">Notas para Herdeiros</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Dica</item>
+	<item id="alert_altText_caution">Nota de cuidado</item>
+	<item id="alert_altText_security">Nota de segurança</item>
+	<item id="alert_altText_note">Nota</item>
+	<item id="alert_altText_important">Nota Importante</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">Observações</item>
+	<item id="title_changeHistory">Histórico de Mudança</item>
+	<item id="title_events">Eventos</item>
+	<item id="title_exceptions">Exceptions</item>
+	<item id="title_contracts">Contratos</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tarefas</item>
+	<item id="title_seeAlso_reference">Referência</item>
+	<item id="title_seeAlso_concepts">Conceitos</item>
+	<item id="title_seeAlso_otherResources">Outros recursos</item>
+	<item id="title_revisionHistory">Histórico de Revisão</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">Para mais informação, veja </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> e </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic and C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>Nenhum exemplo está disponível atualmente ou esta linguagem pode não ser suportada.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">a null reference (<span class="keyword">Nothing</span> in Visual Basic)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> in Visual Basic)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> in Visual Basic)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> in Visual Basic)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> in Visual Basic)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> in Visual Basic)</item>
+	<item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> in Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> in Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> in Visual Basic)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Top</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">Bibliografia</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copie</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">Clique ou arraste para redimensionar</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/pt-BR/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c1b478fd217e29a1dc51cac1d3cf34e8b65343e1
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+  <!-- note text -->
+  <item id="notDocumented">This API is not documented.</item>
+  <item id="preliminaryText">This API is preliminary and subject to change.</item>
+	
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Class Library</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">.NET Framework Class Library</item>
+	<item id="rootLink"><referenceLink target="R:Project">Namespaces</referenceLink></item>
+  <item id="definedBy">(Defined by {0}.)</item>
+	<item id="inheritedFrom">(Inherited from {0}.)</item>
+	<item id="overridesMember">(Overrides {0}.)</item>
+	<item id="locationInformation">Assembly: {0} (Module: {1})</item>
+ 
+  <item id="derivedClasses">Derived Classes</item>
+  <item id="explicitInterfaceImplementation">Explicit Interface Implementations</item>
+  <item id="returnValue">Return Value</item>
+  <item id="propertyValue">Property Value</item>
+  <item id="fieldValue">Field Value</item>
+  <item id="example">Example</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Namespaces</item>
+	<item id="topicTitle_namespace">{0} Namespace</item>
+	<item id="topicTitle_namespaceGroup">{0} Namespaces</item>
+	<item id="topicTitle_class">{0} Class</item>
+	<item id="topicTitle_structure">{0} Structure</item>
+	<item id="topicTitle_interface">{0} Interface</item>
+	<item id="topicTitle_derivedTypeList">{0} Derived Classes</item>
+  
+	<item id="topicTitle_delegate">{0} Delegate</item>
+	<item id="topicTitle_enumeration">{0} Enumeration</item>
+	<item id="topicTitle_field">{0} Field</item>
+	<item id="topicTitle_method">{0} Method {1}</item>
+	<item id="topicTitle_constructor">{0} Constructor {1}</item>
+	<item id="topicTitle_property">{0} Property {1}</item>
+	<item id="topicTitle_event">{0} Event</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0} Operator {1}</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} Conversion {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} Conversion Operators</item>
+      
+	<item id="topicTitle_attachedProperty">{0} Attached Property</item>
+	<item id="topicTitle_attachedEvent">{0} Attached Event</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} Generic Class</item>
+  <item id="topicTitle_generic_structure">{0} Generic Structure</item>
+  <item id="topicTitle_generic_interface">{0} Generic Interface</item>
+  <item id="topicTitle_generic_delegate">{0} Generic Delegate</item>
+  <item id="topicTitle_generic_method">{0} Generic Method {1}</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} Fields</item>
+	<item id="topicTitle_methods">{0} Methods</item>
+	<item id="topicTitle_enumMembers">Members</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} Operators</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0} Operators and Type Conversions</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} Type Conversions</item>
+  
+	<item id="topicTitle_constructors">{0} Constructors</item>
+	<item id="topicTitle_properties">{0} Properties</item>
+	<item id="topicTitle_events">{0} Events</item>
+	<item id="topicTitle_attachedProperties">{0} Attached Properties</item>
+ 	<item id="topicTitle_attachedEvents">{0} Attached Events</item>
+	<item id="topicTitle_members">{0} Members</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">namespaces</item>
+  <item id="indexEntry_namespace">{0} namespace</item>
+  <item id="indexEntry_class">{0} class</item>
+	<item id="indexEntry_structure">{0} structure</item>
+	<item id="indexEntry_interface">{0} interface</item>
+	<item id="indexEntry_delegate">{0} delegate</item>
+	<item id="indexEntry_enumeration">{0} enumeration</item>
+  <item id="indexEntry_enumerationMember">{0} enumeration member</item>
+  <item id="indexEntry_members">{0}, all members</item>
+  <item id="indexEntry_methods">{0}, methods</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, operators</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, operators and type conversions</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, type conversions</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} conversion</item>
+  <item id="indexEntry_properties">{0}, properties</item>
+  <item id="indexEntry_fields">{0}, fields</item>
+  <item id="indexEntry_events">{0}, events</item>
+  <item id="indexEntry_attachedProperties">{0}, attached properties</item>
+  <item id="indexEntry_attachedEvents">{0}, attached events</item>
+	<item id="indexEntry_constructors">{0}, constructors</item>
+	<item id="indexEntry_constructor">{0}, constructor</item>
+	<item id="indexEntry_constructorType">{0} constructor</item>
+  <item id="indexEntry_method">{0} method</item>
+	<item id="indexEntry_property">{0} property</item>
+	<item id="indexEntry_event">{0} event</item>
+	<item id="indexEntry_field">{0} field</item>
+	<item id="indexEntry_operator">{0} operator</item>
+	<item id="indexEntry_attachedProperty">{0} attached property</item>
+	<item id="indexEntry_attachedEvent">{0} attached event</item>
+	<item id="indexEntry_methodExplicit">{0} explicitly implemented method</item>
+	<item id="indexEntry_propertyExplicit">{0} explicitly implemented property</item>
+	<item id="indexEntry_eventExplicit">{0} explicitly implemented event</item>
+	<item id="indexEntry_fieldExplicit">{0} explicitly implemented field</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Syntax</item>
+	<item id="title_templates">Type Parameters</item>
+	<item id="title_parameters">Parameters</item>
+	<item id="title_value">Value</item>
+	<item id="title_delegateValue">Return Value</item>
+	<item id="title_methodValue">Return Value</item>
+	<item id="title_propertyValue">Property Value</item>
+	<item id="title_fieldValue">Field Value</item>
+	<item id="title_implements">Implements</item>
+	<item id="title_examples">Examples</item>
+	<item id="title_threadSafety">Thread Safety</item>
+	<item id="title_permissions">.NET Framework Security</item>
+	<item id="title_namespaces">Namespaces</item>
+	<item id="title_types">Types</item>
+	<item id="title_family">Inheritance Hierarchy</item>
+	<item id="title_versions">Version Information</item>
+	<item id="title_platforms">Platforms</item>
+	<item id="title_relatedTopics">See Also</item>
+	<item id="title_extensionUsage">Usage Note</item>
+	<item id="text_extensionUsage">In Visual Basic and C#, you can call this method as an instance method on any object of type {0}. When you use instance method syntax to call this method, omit the first parameter. For more information, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (Visual Basic)</a> or <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Extension Methods (C# Programming Guide)</a>.</item>
+	<item id="text_moreInheritance">More...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Namespace</item>
+	<item id="header_namespaceDescription">Description</item>
+	<item id="header_typeIcon">Icon</item>
+  <item id="header_className">Class</item>
+  <item id="header_structureName">Structure</item>
+  <item id="header_interfaceName">Interface</item>
+  <item id="header_delegateName">Delegate</item>
+  <item id="header_enumerationName">Enumeration</item>
+  
+	<item id="header_typeName">Name</item>
+	<item id="header_typeDescription">Description</item>
+	<item id="header_memberIcon">Icon</item>
+	<item id="header_memberName">Member name</item>
+	<item id="header_memberValue">Value</item>
+	<item id="header_memberDescription">Description</item>
+	<item id="header_eventType">Event Type</item>
+	<item id="header_eventReason">Reason</item>
+	<item id="header_exceptionName">Exception</item>
+	<item id="header_exceptionCondition">Condition</item>
+	<item id="header_permissionName">Permission</item>
+	<item id="header_permissionDescription">Description</item>
+  <item id="header_requiresName">Requires</item>
+  <item id="header_ensuresName">Ensures</item>
+  <item id="header_ensuresOnThrowName">EnsuresOnThrow</item>
+  <item id="header_invariantsName">Invariants</item>
+
+	<item id="header_revHistoryDate">Date</item>
+	<item id="header_revHistoryVersion">Version</item>
+	<item id="header_revHistoryDescription">Description</item>
+
+  <!-- member list table titles -->
+  <item id="tableTitle_namespace">Namespaces</item>
+	<item id="tableTitle_class">Classes</item>
+	<item id="tableTitle_structure">Structures</item>
+	<item id="tableTitle_interface">Interfaces</item>
+	<item id="tableTitle_delegate">Delegates</item>
+	<item id="tableTitle_enumeration">Enumerations</item>
+  <item id="tableTitle_constructor">Constructors</item>
+  <item id="tableTitle_method">Methods</item>
+  <item id="tableTitle_operator">Operators</item>
+  <item id="tableTitle_field">Fields</item>
+  <item id="tableTitle_property">Properties</item>
+  <item id="tableTitle_event">Events</item>
+  <item id="tableTitle_attachedEvent">Attached Events</item>
+  <item id="tableTitle_attachedProperty">Attached Properties</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Explicit&#160;Interface&#160;Implementations</item>
+	<item id="tableTitle_overloadMembers">Overload&#160;List</item>
+  <item id="tableTitle_extensionMethod">Extension&#160;Methods</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Thread Safety</item>
+  <item id="boilerplate_threadSafety">Any public <include item="devlang_staticKeyword"/>  members of this type are thread safe. Any instance members are not guaranteed to be thread safe.</item>
+
+  <item id="text_staticThreadSafe">Static members of this type are safe for multi-threaded operations. </item>
+  <item id="text_staticNotThreadSafe">Static members of this type are not safe for multi-threaded operations. </item>
+  <item id="text_instanceThreadSafe">Instance members of this type are safe for multi-threaded operations. </item>
+  <item id="text_instanceNotThreadSafe">Instance members of this type are not safe for multi-threaded operations. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">The {0} generic type exposes the following members.</item>
+  <item id="exposedMembersTableText">The {0} type exposes the following members.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Dependency Property Information</item>
+  <item id="routedEventInfoHeading">Routed Event Information</item>
+  <item id="mrefTaskMoreCodeHeading">More Code</item>
+
+  <item id="Overloaded">Overloaded. </item>	
+  <item id="defaultNamespace">( Default Namespace )</item>
+  
+  <item id="typeLink">Type:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> type parameter of {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> attribute applied to this type or member has the following <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> property value: {1}. The <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> class or <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server Programming and Host Protection Attributes</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Obsolete. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Note: This API is now obsolete.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">class</item>
+  <item id="text_delegateLower">delegate</item>
+  <item id="text_structureLower">structure</item>
+  <item id="text_interfaceLower">interface</item>
+  <item id="text_enumerationLower">enumeration</item>
+
+  <item id="text_classUpper">Class</item>
+  <item id="text_structureUpper">Structure</item>
+  <item id="text_interfaceUpper">Interface</item>
+  <item id="text_delegateUpper">Delegate</item>
+  <item id="text_enumerationUpper">Enumeration</item>
+
+	<item id="text_classTypesLower">classes</item>
+	<item id="text_structureTypesLower">structures</item>
+	<item id="text_interfaceTypesLower">interfaces</item>
+	<item id="text_delegateTypesLower">delegates</item>
+	<item id="text_enumerationTypesLower">enumerations</item>
+  
+	<item id="text_classTypesUpper">Classes</item>
+	<item id="text_structureTypesUpper">Structures</item>
+	<item id="text_interfaceTypesUpper">Interfaces</item>
+	<item id="text_delegateTypesUpper">Delegates</item>
+	<item id="text_enumerationTypesUpper">Enumerations</item>
+
+  <item id="text_membersLower">members</item>
+  <item id="text_methodsLower">methods</item>
+  <item id="text_propertiesLower">properties</item>
+  <item id="text_eventsLower">events</item>
+  <item id="text_fieldsLower">fields</item>
+  <item id="text_operatorsLower">operators</item>
+  <item id="text_attachedPropertiesLower">attached properties</item>
+  <item id="text_attachedEventsLower">attached events</item>
+
+  <item id="text_membersUpper">Members</item>
+  <item id="text_methodsUpper">Methods</item>
+  <item id="text_propertiesUpper">Properties</item>
+  <item id="text_eventsUpper">Events</item>
+  <item id="text_fieldsUpper">Fields</item>
+  <item id="text_operatorsUpper">Operators</item>
+  <item id="text_attachedPropertiesUpper">Attached Properties</item>
+  <item id="text_attachedEventsUpper">Attached Events</item>
+
+	<!-- alt text for images -->
+	<item id="altText_pubClass">Public class</item>
+	<item id="altText_pubStructure">Public structure</item>
+	<item id="altText_pubInterface">Public interface</item>
+	<item id="altText_pubDelegate">Public delegate</item>
+	<item id="altText_pubEnumeration">Public enumeration</item>
+	<item id="altText_protClass">Protected class</item>
+	<item id="altText_protStructure">Protected structure</item>
+	<item id="altText_protInterface">Protected interface</item>
+	<item id="altText_protDelegate">Protected delegate</item>
+	<item id="altText_protEnumeration">Protected enumeration</item>
+	<item id="altText_privClass">Private class</item>
+	<item id="altText_privStructure">Private structure</item>
+	<item id="altText_privInterface">Private interface</item>
+	<item id="altText_privDelegate">Private delegate</item>
+	<item id="altText_privEnumeration">Private enumeration</item>
+
+	<item id="altText_pubConstructor">Public constructor</item>
+	<item id="altText_pubMethod">Public method</item>
+	<item id="altText_pubField">Public field</item>
+	<item id="altText_pubProperty">Public property</item>
+	<item id="altText_pubEvent">Public event</item>
+	<item id="altText_pubOperator">Public operator</item>
+	<item id="altText_pubAttachedProperty">Public attached property</item>
+	<item id="altText_pubAttachedEvent">Public attached event</item>
+	<item id="altText_protConstructor">Protected constructor</item>
+	<item id="altText_protMethod">Protected method</item>
+	<item id="altText_protField">Protected field</item>
+	<item id="altText_protProperty">Protected property</item>
+	<item id="altText_protEvent">Protected event</item>
+	<item id="altText_protOperator">Protected operator</item>
+	<item id="altText_protAttachedProperty">Protected attached property</item>
+	<item id="altText_protAttachedEvent">Protected attached event</item>
+	<item id="altText_privConstructor">Private constructor</item>
+	<item id="altText_privMethod">Private method</item>
+	<item id="altText_privField">Private field</item>
+	<item id="altText_privProperty">Private property</item>
+	<item id="altText_privEvent">Private event</item>
+	<item id="altText_privOperator">Private operator</item>
+	<item id="altText_privtAttachedProperty">Private attached property</item>
+	<item id="altText_privAttachedEvent">Private attached event</item>
+	<item id="altText_static">Static member</item>
+	<item id="altText_pubextension">Public Extension Method</item>
+	<item id="altText_protextension">Protected Extension Method</item>
+	<item id="altText_privextension">Private Extension Method</item>
+
+  <item id="altText_CompactFramework">Supported by the .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Supported by the XNA Framework</item>
+  <item id="altText_SilverlightMobile">Supported by <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Explicit interface implementation</item>
+  <item id="altText_CodeExample">Code example</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} Namespace</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} Members</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} Overload</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Namespace:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Platforms:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Assemblies:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Assembly:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (in {1}.{2}) Version: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Assembly:</strong> {0} (in {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Supported in: {0}</item>
+  <item id="supportedIn_2">Supported in: {0}, {1}</item>
+  <item id="supportedIn_3">Supported in: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Supported in: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Supported in: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Supported in: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Supported in: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Obsolete (compiler warning) in {0}</item>
+  <item id="obsoleteError">Obsolete (does not compile) in {0} and later</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Using Libraries from Partially Trusted Code</a>.</item>
+
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. </item>
+  <item id="text_contravariant">This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. </item>
+  <item id="text_variance">For more information about covariance and contravariance, see <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (Visual Basic)</a> and <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/covariance-contravariance/index" target="_blank" rel="noopener noreferrer">Covariance and Contravariance (C#)</a>.</item>
+
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">This API is not CLS-compliant.</item>
+  <item id="boilerplate_AltClsCompliant">The CLS-compliant alternative is {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">This type has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses any member of this type throws a MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">This member has a SecurityCriticalAttribute attribute, which restricts it to internal use by the .NET Framework for Silverlight class library. Application code that uses this member throws a MethodAccessException.</item>
+  <item id="text_securityCritical">[SECURITY CRITICAL] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">This member is overloaded. For complete information about this member, including syntax, usage, and examples, click a name in the overload list.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>{0} Platform Note:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p>The <include item="netfw"/> and <include item="netcfw"/> do not support all versions of every platform. For a list of the supported versions, see <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET Framework System Requirements</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    For information on the operating systems and browsers supported by <include item="silverlight"/>, see <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Supported Operating Systems and Browsers</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS for XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">Not mapped to an xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>In <include item="{0}"/>, this member is overridden by {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, this member is inherited from {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>In <include item="{0}"/>&#160;<include item="{1}"/>, this member is {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">This member overrides {0}.</item>
+  <item id="boilerplate_useBaseSee">See {0}.</item>
+  <item id="boilerplate_useBase">This member overrides {0}, and more complete documentation might be available in that topic.</item>
+
+  <item id="boilerplate_flagsSummary">This enumeration has a {0} attribute that allows a bitwise combination of its member values.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Members</item>
+	<item id="membersTitle">Overload List</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Initializes a new instance of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocStaticConstructor">Initializes the static fields of the <referenceLink target="T:{0}" /> class</item>
+  <item id="SMCAutoDocDispose">Releases all resources used by the <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Releases the unmanaged resources used by the <referenceLink target="T:{0}" /> and optionally releases the managed resources</item>
+  <item id="SMCAutoDocDisposeParam">True to release both managed and unmanaged resources; false to release only unmanaged resources</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0}&gt; documentation for "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;{0} name="{1}"/&gt; documentation for "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Missing &lt;include&gt; target documentation in '{0}'.  File: '{1}' Path: '{2}']</p></item>
+	
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bf78fcef9adfcf78f86cd8f4dd6f7fb243adfd00
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/conceptual_content.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- main window stuff -->
+	<item id="productTitle">.NET Framework Developer's Guide</item>
+
+	<!-- body -->
+
+	<!-- section titles -->
+	<item id="title_inThisSection">В этом подразделе</item>
+	<item id="title_buildInstructions">Компиляция кода</item>
+	<item id="title_nextSteps">Следующие шаги</item>
+	<item id="title_requirements">Требования</item>
+	<item id="title_relatedSections">Связанные разделы</item>
+	<item id="title_relatedTopics">См. также</item>
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_returnValue">Возвращаемое значение</item>
+  <item id="title_attributesAndElements">Атрибуты и элементы</item>
+	<item id="title_attributes">Атрибуты</item>
+	<item id="title_childElement">Дочерние элементы</item>
+	<item id="title_parentElement">Родительские элементы</item>
+	<item id="title_elementInformation">Сведения об элементе</item>
+  <item id="title_textValue">Текстовое значение</item>
+  <item id="title_dotNetFrameworkEquivalent">Эквивалент в платформе .NET Framework</item>
+  <item id="title_prerequisites">Предварительные условия</item>
+  <item id="title_robustProgramming">Отказоустойчивость</item>
+	<item id="title_securitySection">Безопасность</item>
+	<item id="title_externalResources">Внешние ресурсы</item>
+	<item id="title_demonstrates">Демонстрация</item>
+  <item id="title_appliesTo">Применимо к</item>
+	<item id="title_conclusion">Выводы</item>
+  <item id="title_background">Предпосылки</item>
+	<item id="title_whatsNew">Что нового</item>
+  <item id="title_reference">Ссылки</item>
+  <item id="title_errorMessage">Сообщение об ошибке</item>
+  <item id="title_example">Пример</item>
+
+  <!-- autoOutline boilerplate -->
+  <item id="boilerplate_autoOutlineTopLevelIntro">Эта тема содержит следующие разделы:</item>
+	<item id="boilerplate_autoOutlineSubsectionIntro">В этом разделе содержатся следующие подразделы:</item>
+
+  <!-- resolve the autoOutline token -->
+  <item id="autoOutline">
+    <autoOutline/>
+  </item>
+
+  <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+  <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}. Все права защищены.</p></item>
+
+  <!-- Glossary related entries -->
+  <item id="text_relatedEntries">См. также</item>
+
+	<!-- Legacy content -->
+
+	<!-- values for MSHelp:Attr Name="TopicType" -->
+  <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+  <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+  <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+  <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+  <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+  <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c515ae4e298aeb550ea5a7f06d0e17eabfd723c9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/reference_content.xml
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+  <!-- note text -->
+  <item id="notDocumented">Это API не документировано.</item>
+  <item id="preliminaryText">Это предварительная документация, которая в будущем может измениться.</item>
+
+	<!-- main window stuff -->
+	<item id="productTitle">Библиотека классов .NET Framework</item>
+
+	<!-- inserted boilerplate -->
+	<item id="runningHeaderText">Библиотека классов .NET Framework</item>
+	<item id="rootLink"><referenceLink target="R:Project">Пространства имён</referenceLink></item>
+  <item id="definedBy">(Определяется {0}.)</item>
+	<item id="inheritedFrom">(Унаследован от {0}.)</item>
+	<item id="overridesMember">(Переопределяет {0}.)</item>
+	<item id="locationInformation">Сборка: {0} (Модуль: {1})</item>
+ 
+  <item id="derivedClasses">Производные классы</item>
+  <item id="explicitInterfaceImplementation">Явные реализации интерфейсов</item>
+  <item id="returnValue">Возвращаемое значение</item>
+  <item id="propertyValue">Значение свойства</item>
+  <item id="fieldValue">Значение поля</item>
+  <item id="example">Пример</item>
+
+  <!-- topic titles -->
+  <item id="meta_mshelp_tocTitle">{0}</item>
+  <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+  <item id="topicTitle_root">Пространства имён</item>
+	<item id="topicTitle_namespace">{0} - пространство имён</item>
+	<item id="topicTitle_namespaceGroup">{0} - пространства имён</item>
+	<item id="topicTitle_class">{0} - класс</item>
+	<item id="topicTitle_structure">{0} - структура</item>
+	<item id="topicTitle_interface">{0} - интерфейс</item>
+	<item id="topicTitle_derivedTypeList">{0} - производные классы</item>
+  
+	<item id="topicTitle_delegate">{0} - делегат</item>
+	<item id="topicTitle_enumeration">{0} - перечисление</item>
+	<item id="topicTitle_field">{0} - поле</item>
+	<item id="topicTitle_method">{0}{1} - метод</item>
+	<item id="topicTitle_constructor">{0}{1} - конструктор</item>
+	<item id="topicTitle_property">{0}{1} - свойство</item>
+	<item id="topicTitle_event">{0} - событие</item>
+  
+  <!-- title for operator members -->
+	<item id="topicTitle_operator">{0}{1} - оператор</item>
+
+  <!-- title for op_explicit and op_implicit members -->
+  <item id="topicTitle_typeConversion">{0} - преобразование {1}</item>
+  <!-- title for overload op_explicit and op_implicit topics -->
+  <item id="topicTitle_conversionOperator">{0} - операторы преобразования</item>
+      
+	<item id="topicTitle_attachedProperty">{0} - вложенное свойство</item>
+	<item id="topicTitle_attachedEvent">{0} - вложенное событие</item>
+
+  <item id="generic"> generic</item>
+  <item id="topicTitle_generic_class">{0} - универсальный класс</item>
+  <item id="topicTitle_generic_structure">{0} - универсальная структура</item>
+  <item id="topicTitle_generic_interface">{0} - универсальный интерфейс</item>
+  <item id="topicTitle_generic_delegate">{0} - универсальный делегат</item>
+  <item id="topicTitle_generic_method">{0}{1} - универсальный метод</item>
+  
+	<!-- list topic titles -->
+	<item id="topicTitle_fields">{0} - поля</item>
+	<item id="topicTitle_methods">{0} - методы</item>
+	<item id="topicTitle_enumMembers">Члены</item>
+  
+  <!-- title for operator list topic that has [operators + no type conversions] -->
+  <item id="topicTitle_operators">{0} - операторы</item>
+  <!-- title for operator list topic that has [operators + type conversions] -->
+  <item id="topicTitle_operatorsAndTypeConversions">{0}  - операторы и преобразования типов</item>
+  <!-- title for operator list topic that has [no operators + type conversions] -->
+  <item id="topicTitle_typeConversions">{0} - преобразования типов</item>
+  
+	<item id="topicTitle_constructors">{0} - конструкторы</item>
+	<item id="topicTitle_properties">{0} - свойства</item>
+	<item id="topicTitle_events">{0} - события</item>
+	<item id="topicTitle_attachedProperties">{0} - вложенные свойства</item>
+ 	<item id="topicTitle_attachedEvents">{0} - вложенные события</item>
+	<item id="topicTitle_members">{0} - члены</item>
+
+	<!-- index entries -->
+	<item id="indexEntry_root">Пространства имён</item>
+  <item id="indexEntry_namespace">{0} - пространство имён</item>
+  <item id="indexEntry_class">{0} - класс</item>
+	<item id="indexEntry_structure">{0} - структура</item>
+	<item id="indexEntry_interface">{0} - интерфейс</item>
+	<item id="indexEntry_delegate">{0} - делегат</item>
+	<item id="indexEntry_enumeration">{0} - перечисление</item>
+  <item id="indexEntry_enumerationMember">{0} - член перечисления</item>
+  <item id="indexEntry_members">{0}, все члены</item>
+  <item id="indexEntry_methods">{0}, методы</item>
+  <!-- index entry for operator list topic that has [operators + no type conversions] -->
+  <item id="indexEntry_operators">{0}, операторы</item>
+  <!-- index entry for operator list topic that has [operators + type conversions] -->
+  <item id="indexEntry_operatorsAndTypeConversions">{0}, операторы и преобразования типов</item>
+  <!-- index entry for operator list topic that has [no operators + type conversions] -->
+  <item id="indexEntry_typeConversions">{0}, преобразования типов</item>
+  <!-- index entries for op_explicit and op_implicit members -->
+  <item id="indexEntry_conversionOperator">{0} преобразования</item>
+  <item id="indexEntry_properties">{0}, свойства</item>
+  <item id="indexEntry_fields">{0}, поля</item>
+  <item id="indexEntry_events">{0}, события</item>
+  <item id="indexEntry_attachedProperties">{0}, вложенные свойства</item>
+  <item id="indexEntry_attachedEvents">{0}, вложенные события</item>
+	<item id="indexEntry_constructors">{0}, конструкторы</item>
+	<item id="indexEntry_constructor">{0}, конструктор</item>
+	<item id="indexEntry_constructorType">{0} конструктор</item>
+  <item id="indexEntry_method">{0} метод</item>
+	<item id="indexEntry_property">{0} свойство</item>
+	<item id="indexEntry_event">{0} событие</item>
+	<item id="indexEntry_field">{0} поле</item>
+	<item id="indexEntry_operator">{0} оператор</item>
+	<item id="indexEntry_attachedProperty">{0} вложенное свойство</item>
+	<item id="indexEntry_attachedEvent">{0} вложенное событие</item>
+	<item id="indexEntry_methodExplicit">{0} явно реализованный метод</item>
+	<item id="indexEntry_propertyExplicit">{0} явно реализованное свойство</item>
+	<item id="indexEntry_eventExplicit">{0} явно реализованное событие</item>
+	<item id="indexEntry_fieldExplicit">{0} явно реализованное поле</item>
+
+	<!-- section titles -->
+	<item id="title_syntax">Синтаксис</item>
+	<item id="title_templates">Параметры типа</item>
+	<item id="title_parameters">Параметры</item>
+	<item id="title_value">Значение</item>
+	<item id="title_delegateValue">Возвращаемое значение</item>
+	<item id="title_methodValue">Возвращаемое значение</item>
+	<item id="title_propertyValue">Значение свойства</item>
+	<item id="title_fieldValue">Значение поля</item>
+  <item id="title_implements">Реализации</item>
+	<item id="title_examples">Примеры</item>
+	<item id="title_threadSafety">Потокобезопасность</item>
+	<item id="title_permissions">Безопасность платформы .NET Framework</item> 
+	<item id="title_namespaces">Пространства имён</item>
+	<item id="title_types">Типы</item>
+	<item id="title_family">Иерархия наследования</item>
+	<item id="title_versions">Сведения о версии</item>
+	<item id="title_platforms">Платформы</item>
+  <item id="title_relatedTopics">См. также</item>
+  <item id="title_extensionUsage">Примечание об использовании</item>
+  <item id="text_extensionUsage">В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа {0}. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Visual Basic)</a> или <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">Методы расширения (Руководство по программированию в C#)</a>.</item>
+	<item id="text_moreInheritance">Подробнее...</item>
+
+	<!-- table headers -->
+	<item id="header_namespaceName">Пространство имён</item>
+	<item id="header_namespaceDescription">Описание</item>
+	<item id="header_typeIcon">Значок</item>
+  <item id="header_className">Класс</item>
+  <item id="header_structureName">Структура</item>
+  <item id="header_interfaceName">Интерфейс</item>
+  <item id="header_delegateName">Делегат</item>
+  <item id="header_enumerationName">Перечисление</item>
+  
+	<item id="header_typeName">Имя</item>
+	<item id="header_typeDescription">Описание</item>
+	<item id="header_memberIcon">Значок</item>
+	<item id="header_memberName">Имя члена</item>
+	<item id="header_memberValue">Значение</item>
+	<item id="header_memberDescription">Описание</item>
+	<item id="header_eventTypeHeader">Тип события</item>
+	<item id="header_eventReasonHeader">Причина события</item>
+	<item id="header_exceptionName">Исключение</item>
+	<item id="header_exceptionCondition">Условие</item>
+	<item id="header_permissionName">Разрешение</item>
+	<item id="header_permissionDescription">Описание</item>
+  <item id="header_requiresName">Предусловия</item>
+  <item id="header_ensuresName">Постусловия</item>
+  <item id="header_ensuresOnThrowName">Постусловия при возникновении исключений</item>
+  <item id="header_invariantsName">Инварианты</item>
+
+	<item id="header_revHistoryDate">Дата</item>
+	<item id="header_revHistoryVersion">Версия</item>
+	<item id="header_revHistoryDescription">Описание</item>
+
+  <!-- member list table titles -->
+	<item id="tableTitle_class">Классы</item>
+	<item id="tableTitle_structure">Структуры</item>
+	<item id="tableTitle_interface">Интерфейсы</item>
+	<item id="tableTitle_delegate">Делегаты</item>
+	<item id="tableTitle_enumeration">Перечисления</item>
+  <item id="tableTitle_constructor">Конструкторы</item>
+  <item id="tableTitle_method">Методы</item>
+  <item id="tableTitle_operator">Операторы</item>
+  <item id="tableTitle_field">Поля</item>
+  <item id="tableTitle_property">Свойства</item>
+  <item id="tableTitle_event">События</item>
+  <item id="tableTitle_attachedEvent">Вложенные события</item>
+  <item id="tableTitle_attachedProperty">Вложенные свойства</item>
+  <item id="tableTitle_explicitInterfaceImplementation">Явные&#160;реализации&#160;интерфейсов</item>
+	<item id="tableTitle_overloadMembers">Список&#160;перегрузок</item>
+  <item id="tableTitle_extensionMethod">Методы&#160;расширения</item>
+
+  <!-- Thread Safety -->
+  <item id="text_threadSafety">Потокобезопасность</item>
+  <item id="boilerplate_threadSafety">Любые открытые члены этого типа, объявленные как <include item="devlang_staticKeyword"/>, являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.</item>
+
+  <item id="text_staticThreadSafe">Статические члены этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_staticNotThreadSafe">Статические члены этого типа, являются небезопасными для многопоточных операций. </item>
+  <item id="text_instanceThreadSafe">Члены экземпляра этого типа, являются безопасными для многопоточных операций. </item>
+  <item id="text_instanceNotThreadSafe">Члены экземпляра этого типа, являются небезопасными для многопоточных операций. </item>
+  
+  <!-- boilerplate intro to member list tables -->
+  <item id="genericExposedMembersTableText">Универсальный тип {0} предоставляет следующие члены.</item>
+  <item id="exposedMembersTableText">Тип {0} предоставляет следующие члены.</item>	
+
+  <item id="dependencyPropertyInfoHeading">Информация о свойстве зависимостей</item>
+  <item id="routedEventInfoHeading">Информация о перенаправленном событии</item>
+  <item id="mrefTaskMoreCodeHeading">Дополнительно</item>
+
+  <item id="Overloaded">Перегружен. </item>
+  <item id="defaultNamespace">(пространство имён по-умолчанию)</item>
+  
+  <item id="typeLink">Тип:&#160;{0}</item>
+  <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+  <item id="typeLinkToTypeParameter"><strong>{0}</strong> - параметр типа {1}.</item>
+  
+	<!-- Host protection boilerplate text -->
+  <item id="text_hostProtectionAttribute">HostProtectionAttribute. </item>
+	<item id="boilerplate_hostProtectionAttribute">Примененный к данному типу или члену атрибут <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" 
+                   prefer-overload="true" /> имеет следующее значение свойства <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources" 
+                   prefer-overload="true" />: {1}. Атрибут <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" 
+                   prefer-overload="true" /> не оказывает влияния на настольные приложения (обычно запускаемые двойным щелчком значка, вводом команды или URL-адреса в обозревателе). Дополнительные сведения см. в описании класса <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute" 
+                   prefer-overload="true" /> или в разделе <a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">программирование SQL Server и атрибуты защиты основного приложения</a>.</item>
+
+	<!-- Obsolete boilerplate text -->
+  <item id="boilerplate_obsoleteShort"><strong>Устарело. </strong></item>
+  <item id="boilerplate_obsoleteLong"><strong>Примечание: Данный API устарел.</strong></item>
+
+	<!-- Group and SubGroup text -->
+	<item id="text_classLower">класс</item>
+  <item id="text_delegateLower">делегат</item>
+  <item id="text_structureLower">структура</item>
+  <item id="text_interfaceLower">интерфейс</item>
+  <item id="text_enumerationLower">перечисление</item>
+
+  <item id="text_classUpper">Класс</item>
+  <item id="text_structureUpper">Структура</item>
+  <item id="text_interfaceUpper">Интерфейс</item>
+  <item id="text_delegateUpper">Делегат</item>
+  <item id="text_enumerationUpper">Перечисление</item>
+
+	<item id="text_classTypesLower">классы</item>
+	<item id="text_structureTypesLower">структуры</item>
+	<item id="text_interfaceTypesLower">интерфейсы</item>
+	<item id="text_delegateTypesLower">делегаты</item>
+	<item id="text_enumerationTypesLower">перечисления</item>
+  
+	<item id="text_classTypesUpper">Классы</item>
+	<item id="text_structureTypesUpper">Структуры</item>
+	<item id="text_interfaceTypesUpper">Интерфейсы</item>
+	<item id="text_delegateTypesUpper">Делегаты</item>
+	<item id="text_enumerationTypesUpper">Перечисления</item>
+
+  <item id="text_membersLower">члены</item>
+  <item id="text_methodsLower">методы</item>
+  <item id="text_propertiesLower">свойства</item>
+  <item id="text_eventsLower">события</item>
+  <item id="text_fieldsLower">поля</item>
+  <item id="text_operatorsLower">операторы</item>
+  <item id="text_attachedPropertiesLower">вложенные свойства</item>
+  <item id="text_attachedEventsLower">вложенные события</item>
+
+  <item id="text_membersUpper">Члены</item>
+  <item id="text_methodsUpper">Методы</item>
+  <item id="text_propertiesUpper">Свойства</item>
+  <item id="text_eventsUpper">События</item>
+  <item id="text_fieldsUpper">Поля</item>
+  <item id="text_operatorsUpper">Операторы</item>
+  <item id="text_attachedPropertiesUpper">Вложенные свойства</item>
+  <item id="text_attachedEventsUpper">Вложенные события</item>
+
+	<!-- alt text for images -->
+  <item id="altText_pubClass">Открытый класс</item>
+  <item id="altText_pubStructure">Открытая структура</item>
+  <item id="altText_pubInterface">Открытый интерфейс</item>
+  <item id="altText_pubDelegate">Открытый делегат</item>
+  <item id="altText_pubEnumeration">Открытое перечисление</item>
+  <item id="altText_protClass">Защищённый класс</item>
+  <item id="altText_protStructure">Защищённая структура</item>
+  <item id="altText_protInterface">Защищённый интерфейс</item>
+  <item id="altText_protDelegate">Защищённый делегат</item>
+  <item id="altText_protEnumeration">Защищённое перечисление</item>
+  <item id="altText_privClass">Закрытый класс</item>
+  <item id="altText_privStructure">Закрытая структура</item>
+  <item id="altText_privInterface">Закрытый интерфейс</item>
+  <item id="altText_privDelegate">Закрытый делегат</item>
+  <item id="altText_privEnumeration">Закрытое перечисление</item>
+
+  <item id="altText_pubConstructor">Открытый конструктор</item>
+  <item id="altText_pubMethod">Открытый метод</item>
+  <item id="altText_pubField">Открытое поле</item>
+  <item id="altText_pubProperty">Открытое свойство</item>
+  <item id="altText_pubEvent">Открытое событие</item>
+  <item id="altText_pubOperator">Открытый оператор</item>
+  <item id="altText_pubAttachedProperty">Открытое вложенное свойство</item>
+  <item id="altText_pubAttachedEvent">Открытое вложенное событие</item>
+  <item id="altText_protConstructor">Защищённый конструктор</item>
+  <item id="altText_protMethod">Защищённый метод</item>
+  <item id="altText_protField">Защищённое поле</item>
+  <item id="altText_protProperty">Защищённое свойство</item>
+  <item id="altText_protEvent">Защищённое событие</item>
+  <item id="altText_protOperator">Защищённый оператор</item>
+  <item id="altText_protAttachedProperty">Защищённое вложенное свойство</item>
+  <item id="altText_protAttachedEvent">Защищённое вложенное событие</item>
+  <item id="altText_privConstructor">Закрытый конструктор</item>
+  <item id="altText_privMethod">Закрытый метод</item>
+  <item id="altText_privField">Закрытое поле</item>
+  <item id="altText_privProperty">Закрытое свойство</item>
+  <item id="altText_privEvent">Закрытое событие</item>
+  <item id="altText_privOperator">Закрытый оператор</item>
+  <item id="altText_privtAttachedProperty">Закрытое вложенное свойство</item>
+  <item id="altText_privAttachedEvent">Закрытое вложенное событие</item>
+  <item id="altText_static">Статический член</item>
+  <item id="altText_pubextension">Открытый метод расширения</item>
+  <item id="altText_protextension">Защищённый метод расширения</item>
+  <item id="altText_privextension">Закрытый метод расширения</item>
+
+  <item id="altText_CompactFramework">Поддерживается платформой .NET Compact Framework</item>
+  <item id="altText_XNAFramework">Поддерживается платформой XNA Framework</item>
+  <item id="altText_SilverlightMobile">Поддерживается платформой <include item="silverlight_mobile"/></item>
+  <item id="altText_ExplicitInterface">Явные реализации интерфейса</item>
+  <item id="altText_CodeExample">Пример кода</item>
+
+  <item id="boilerplate_seeAlsoNamespaceLink">{0} - пространство имён</item>
+  <item id="boilerplate_seeAlsoTypeLink">{0} - <include item="text_{1}Lower"/></item>
+  <item id="boilerplate_seeAlsoMembersLink">{0} - члены</item>
+  <item id="boilerplate_seeAlsoOverloadLink">{0} - перегрузка</item>
+
+  <item id="boilerplate_requirementsNamespace">
+    <strong>Пространство имён:</strong> 
+  </item>
+
+  <item id="boilerplate_requirementsPlatforms">
+    <strong>Платформы:</strong> {0}
+  </item>
+
+  <item id="boilerplate_requirementsAssemblies">
+    <strong>Сборки:</strong>
+  </item>
+
+  <item id="boilerplate_requirementsAssemblyLabel">
+    <strong>Сборка:</strong>
+  </item>
+
+	<item id="assemblyNameAndModule">{0} (в {1}.{2}) Версия: {3}</item>
+
+  <item id="boilerplate_requirementsAssembly">
+    <strong>Сборка:</strong> {0} (в {1}.dll)
+  </item>
+
+  <!-- Used for Version Information Section -->
+  <item id="supportedIn_1">Поддерживается в: {0}</item>
+  <item id="supportedIn_2">Поддерживается в: {0}, {1}</item>
+  <item id="supportedIn_3">Поддерживается в: {0}, {1}, {2}</item>
+  <item id="supportedIn_4">Поддерживается в: {0}, {1}, {2}, {3}</item>
+  <item id="supportedIn_5">Поддерживается в: {0}, {1}, {2}, {3}, {4}</item>
+  <item id="supportedIn_6">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}</item>
+  <item id="supportedIn_7">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+  <item id="supportedIn_8">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+  <item id="supportedIn_9">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+  <item id="supportedIn_10">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+  <item id="supportedIn_11">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+  <item id="supportedIn_12">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+  <item id="supportedIn_13">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+  <item id="supportedIn_14">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+  <item id="supportedIn_15">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+  <item id="supportedIn_16">Поддерживается в: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+  <item id="obsoleteWarning">Устарело (предупреждение компилятора) в {0}</item>
+  <item id="obsoleteError">Устарело (не компилируется) в {0} и более поздних версиях</item>
+  	
+	<!-- APTCA Boilerplate text -->
+	<item id="boilerplate_aptca">Полное доверие для модуля немедленного вызова. Данный элемент не может использоваться кодом с частичным доверием. Дополнительные сведения см. в разделе <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">Использование библиотек из не вполне надежного кода</a>.</item>
+  
+  <!-- Variance boilerplate text -->
+  <item id="text_covariant">Этот параметр типа является ковариантным. Это означает, что можно использовать либо указанный тип, либо более производный тип. </item>
+  <item id="text_contravariant">Этот параметр типа является контрвариантным. Это означает, что можно использовать либо указанный тип, либо менее производный тип. </item>
+  <item id="text_variance">Дополнительные сведения о ковариации и контрвариации см. в разделе <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">Ковариация и контравариация в универсальных шаблонах</a>.</item>
+  
+  <!-- Non-CLS Compliant boilerplate text-->
+  <item id="boilerplate_NotClsCompliant">Этот интерфейс API CLS-несовместим.</item>
+  <item id="boilerplate_AltClsCompliant">CLS-совместимая альтернатива - {0}.</item>
+  
+  <!-- Security Critical Boilerplate text-->
+  <item id="boilerplate_typeSecurityCritical">Этот тип имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к любому члену этого типа из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="boilerplate_memberSecurityCritical">Этот член имеет атрибут SecurityCriticalAttribute, который делает его пригодным только для внутреннего использования библиотекой классов .NET Framework для Silverlight. При попытке обращения к этому члену из прикладного кода вызывается исключение MethodAccessException.</item>
+  <item id="text_securityCritical">[ВАЖНЫЙ ЭЛЕМЕНТ БЕЗОПАСНОСТИ] </item>
+  
+  <!-- Overload page boilerplate -->
+  <item id="boilerplate_overloadSummary">Этот член перегружен. Для получения полной информации о данном члене, включая синтаксис, использование и примеры, щелкните имя в списке перегрузок.</item>
+
+  <!-- Platforms Information and Platform Notes --> 
+  <item id="boilerplate_PlatformNote">
+	  <strong>Примечание для платформы {0}:</strong> {1}
+  </item>
+  <item id="boilerplate_systemRequirementsLink">
+	  <p><include item="netfw"/> и <include item="netcfw"/> поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">Требования к системе для .NET Framework</a>.</p>
+  </item>
+  
+  <!-- Platforms boilerplate for Silverlight mref builds --> 
+  <item id="boilerplate_silverlightPlatforms">
+    Список операционных систем и браузеров, поддерживаемых <include item="silverlight"/>, см. в разделе <a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">Поддерживаемые операционные системы и браузеры</a>.
+  </item>
+
+ 	<item id="Win95">Windows 95</item>
+	<item id="Win98Se">Windows 98 Second Edition</item>
+	
+	<item id="WinNT4">Windows NT 4.0</item>
+	<item id="WinNT4Svr">Windows NT Server 4.0</item>
+	<item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+	
+	<item id="Win2kFamily">Windows 2000</item>
+	<item id="Win2kProfessional">Windows 2000 Professional</item>
+	<item id="Win2kServer">Windows 2000 Server</item>
+	<item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+	
+	<item id="WinXPPersonal">Windows XP Home Edition</item>
+	<item id="WinXPPro">Windows XP Professional x64 Edition</item>
+	<item id="WinXPSvr"><include item="WinSvr2003"/></item>
+	<item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+	<item id="WinXpEmbedded">Windows XP Embedded</item>
+	
+	<item id="ECMACLI">Common Language Infrastructure (CLI) Standard</item>
+	
+	<item id="MSTV">Microsoft TV</item>
+		
+	<item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+	<item id="WinNt4Family"><include item="WinNT4"/></item>
+	<item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+	<item id="WinCE"><include item="WindowsCE"/></item>
+	<item id="Win2K"><include item="WinSvr2000"/></item>
+	<item id="Win2KSvr"><include item="Win2kServer"/></item>
+	<item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+	
+	<item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+	<item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+	<item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+	<item id="Win2kServerApplianceKit"></item>
+	<item id="WinXpHome"><include item="WinXPPersonal"/></item>
+	<item id="WinXpProfessional"><include item="WinXPPro"/></item>
+	<item id="Win2003Server"><include item="WinXPSvr"/></item>
+	<item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+  
+  <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+       
+  <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+  <item id="Win98">Windows 98</item>
+  <item id="WinME">Windows Millennium Edition</item>
+  <item id="WinSvr2000">Windows Server 2000 SP4</item>
+  <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+  <item id="WinXP">Windows XP SP3</item>
+  <item id="WindowsCE">Windows CE</item>
+  <item id="PocketPC">Windows Mobile for Pocket PC</item>
+  <item id="SmartPhone">Windows Mobile for Smartphone</item>
+  <item id="WinSvr2003">Windows Server 2003</item>
+  <item id="WinSvr2008">Windows Server 2008</item>
+  <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+  <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+  <item id="WinXPSE">Windows XP Starter Edition</item>
+  <item id="WinVista">Windows Vista</item>
+  <item id="Win7">Windows 7</item>
+  <item id="Xbox360">Xbox 360</item>
+  <item id="Zune">Zune</item>
+
+  <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+  <item id="netfw">.NET Framework</item>
+  <item id="netcfw">.NET Compact Framework</item>
+  <item id="xnafw">XNA Framework</item>
+  <item id="silverlight">Silverlight</item>
+  <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+  
+  <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+  <item id="netfw40">4.0</item>
+  <item id="netfw35_1">3.5 SP1</item>
+  <item id="netfw35">3.5</item>
+  <item id="netfw30_1">3.0 SP1</item>
+  <item id="netfw30">3.0</item>
+  <item id="netfw20_1">2.0 SP1</item>
+  <item id="netfw20">2.0</item>
+  <item id="netfw11">1.1</item>
+  <item id="netfw10">1.0</item>
+
+  <item id="netcfw37">3.7</item>
+  <item id="netcfw35">3.5</item>
+  <item id="netcfw20">2.0</item>
+  <item id="netcfw10">1.0</item>
+
+  <item id="xnafw10">1.0</item>
+
+  <!-- silverlight version ids used in Version Information section. -->
+  <item id="silverlight10">1.0</item>
+  <item id="silverlight20">2.0</item>
+  <item id="silverlight_v3">3.0</item>
+  <item id="silverlight_v4">4.0</item>
+  <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+  <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+  <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS для XAML:</strong> {0}</item>
+  <item id="boilerplate_unmappedXamlXmlns">не имеет соответствия в xmlns.</item>
+
+  <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>В <include item="{0}"/>, этот член переопределён как {1}.</item>
+  <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>В <include item="{0}"/>&#160;<include item="{1}"/>, этот член унаследован от {2}{3}{4}.</item>
+  <item id="boilerplate_secondaryFrameworkMember"><br/><br/>В <include item="{0}"/>&#160;<include item="{1}"/>, этот метод является {2}.</item>
+  
+  <item id="boilerplate_useBaseSummary">Этот член переопределяет {0}.</item>
+  <item id="boilerplate_useBaseSee">См. {0}.</item>
+  <item id="boilerplate_useBase">Этот член переопределяет {0}; по данной теме может быть доступна более полная документация.</item>
+
+  <item id="boilerplate_flagsSummary">Это перечисление имеет атрибут {0}, поддерживающий побитовое соединение составляющих его значений.</item>
+
+	<!-- Legacy content -->
+	<item id="familyTitle"><include item="title_family"/></item>
+  <item id="allMembersTitle">Члены</item>
+	<item id="membersTitle">Список перегрузки</item>
+  <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+	<item id="classLower"><include item="text_classLower"/></item>
+  <item id="delegateLower"><include item="text_delegateLower"/></item>
+  <item id="structureLower"><include item="text_structureLower"/></item>
+  <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+  <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+  <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+  <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+  <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+  <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+  <!-- Show Missing Component messages -->
+  <item id="SMCAutoDocConstructor">Инициализирует новый экземпляр класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocStaticConstructor">Инициализирует статические члены класса <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDispose">Освобождает все ресурсы, используемые объектом <referenceLink target="T:{0}" /></item>
+  <item id="SMCAutoDocDisposeBool">Освобождает неуправляемые ресурсы, используемые объектом <referenceLink target="T:{0}" />, а при необходимости освобождает также управляемые ресурсы</item>
+  <item id="SMCAutoDocDisposeParam">Значение true позволяет освободить управляемые и неуправляемые ресурсы; значение false позволяет освободить только неуправляемые ресурсы.</item>
+  <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[&lt;{0}&gt; отсутствует в документации для "{1}"]</p></item>
+  <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[&lt;{0} name="{1}"/&gt; отсутствует в документации для "{2}"]</p></item>
+  <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[&lt;include&gt; отсутствует в '{0}'.  Файл: '{1}' Путь: '{2}']</p></item>
+
+	<!-- View Source link text -->
+	<item id="sourceCodeLinkText">View Source</item>
+	<item id="sourceCodeLinkTitle">View the source code</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cef00136b7289d133adb94c6e0d5f3816eb5af49
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/shared_content.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve"
+				 xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">ru-RU</item>
+	<item id="brandingLocaleCss">branding-ru-RU.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+  <item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+  <!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+  <!-- freshness date -->
+  <item id="boilerplate_UpdateTitle"><span class="introStyle">Обновлено: {0}</span></item>
+  <!-- if the TransformComponent of the BuildAssembler config file has the argument:
+             argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+       the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+  <item id="text_defaultFreshnessDate"/>
+
+  <!-- topic title -->
+  <item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Подсказка</item>
+	<item id="alert_title_caution">Внимание</item>
+	<item id="alert_title_security">Примечание по безопасности</item>
+	<item id="alert_title_note">Примечание</item>
+	<item id="alert_title_important">Важно</item>
+	<item id="alert_title_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_title_visualC#">Примечание для C#</item>
+	<item id="alert_title_visualC++">Примечание для C++</item>
+	<item id="alert_title_visualJ#">Примечание для J#</item>
+	<item id="text_NotesForImplementers">Примечания для реализующих объектов</item>
+	<item id="text_NotesForCallers">Примечания для вызывающих объектов</item>
+	<item id="text_NotesForInheritors">Примечания для наследников</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Подсказка</item>
+	<item id="alert_altText_caution">Внимание</item>
+	<item id="alert_altText_security">Примечание по безопасности</item>
+	<item id="alert_altText_note">Примечание</item>
+	<item id="alert_altText_important">Важно</item>
+	<item id="alert_altText_visualBasic">Примечание для Visual Basic</item>
+	<item id="alert_altText_visualC#">Примечание для C#</item>
+	<item id="alert_altText_visualC++">Примечание для C++</item>
+	<item id="alert_altText_visualJ#">Примечание для J#</item>
+
+  <!-- section titles -->
+  <item id="title_remarks">Заметки</item>
+  <item id="title_changeHistory">История изменений</item>
+  <item id="title_events">События</item>
+  <item id="title_exceptions">Исключения</item>
+  <item id="title_contracts">Контракты</item>
+  <item id="title_setter">Set</item>
+  <item id="title_getter">Get</item>
+  <item id="title_seeAlso_tasks">Задачи</item>
+  <item id="title_seeAlso_reference">Ссылки</item>
+  <item id="title_seeAlso_concepts">Основные понятия</item>
+  <item id="title_seeAlso_otherResources">Другие ресурсы</item>
+  <item id="title_revisionHistory">История редакций</item>
+  
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">Для получения дополнительной информации см. </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> и </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">VB и C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>В настоящее время язык не поддерживается либо пример кода отсутствует.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+  <!-- language keywords -->
+  <item id="devlang_nullKeyword"><span class="keyword">null</span> (<span class="keyword">Nothing</span> в Visual Basic)</item>
+  <item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> в Visual Basic)</item>
+  <item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> в Visual Basic)</item>
+  <item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> в Visual Basic)</item>
+  <item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> в Visual Basic)</item>
+  <item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> в Visual Basic)</item>
+  <item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> в Visual Basic)</item>
+  <item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> в Visual Basic)</item>
+  <item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> в Visual Basic)</item>
+  <item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> в Visual Basic)</item>
+  
+  <!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+  <item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+  <item id="top">В начало страницы</item>
+
+  <!-- Copyright -->	
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; Корпорация Майкрософт (Microsoft Corporation), 2005 г. Все права защищены.</item> 
+
+  <!-- Bibliography -->
+  <item id="bibliographyTitle">Библиография</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Копировать</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">Для изменения размера нажмите или перетащите</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2378b97d8f201e02781eb1ae8327ecbb12edffd8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/ru-RU/shared_content_mshc.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- Translations provided by Sergey Zhurikhin -->
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89ae56cb8938dd7b24fd875e2e2cb3aa166be2b0
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/shared_content.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-en-US.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip">Tip</item>
+	<item id="alert_title_caution">Caution</item>
+	<item id="alert_title_security">Security Note</item>
+	<item id="alert_title_note">Note</item>
+	<item id="alert_title_important">Important</item>
+	<item id="alert_title_visualBasic">Visual Basic Note</item>
+	<item id="alert_title_visualC#">C# Note</item>
+	<item id="alert_title_visualC++">C++ Note</item>
+	<item id="alert_title_visualJ#">J# Note</item>
+	<item id="text_NotesForImplementers">Notes to Implementers</item>
+	<item id="text_NotesForCallers">Notes to Callers</item>
+	<item id="text_NotesForInheritors">Notes to Inheritors</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">Tip</item>
+	<item id="alert_altText_caution">Caution note</item>
+	<item id="alert_altText_security">Security note</item>
+	<item id="alert_altText_note">Note</item>
+	<item id="alert_altText_important">Important note</item>
+	<item id="alert_altText_visualBasic">Visual Basic note</item>
+	<item id="alert_altText_visualC#">C# note</item>
+	<item id="alert_altText_visualC++">C++ note</item>
+	<item id="alert_altText_visualJ#">J# note</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">Remarks</item>
+	<item id="title_changeHistory">Change History</item>
+	<item id="title_events">Events</item>
+	<item id="title_exceptions">Exceptions</item>
+	<item id="title_contracts">Contracts</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">Tasks</item>
+	<item id="title_seeAlso_reference">Reference</item>
+	<item id="title_seeAlso_concepts">Concepts</item>
+	<item id="title_seeAlso_otherResources">Other Resources</item>
+	<item id="title_revisionHistory">Revision History</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">For more information, see </item>
+	<item id="inline_dynamicLink_postfixText">.</item>
+	<item id="inline_dynamicLink_separatorText"> and </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic and C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>No code example is currently available or this language may not be supported.</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB and C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword">a null reference (<span class="keyword">Nothing</span> in Visual Basic)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (<span class="keyword">Shared</span> in Visual Basic)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (<span class="keyword">Overridable</span> in Visual Basic)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (<span class="keyword">True</span> in Visual Basic)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (<span class="keyword">False</span> in Visual Basic)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (<span class="keyword">MustInherit</span> in Visual Basic)</item>
+	<item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (<span class="keyword">NotInheritable</span> in Visual Basic)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (<span class="keyword">Async</span> in Visual Basic)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (<span class="keyword">Await</span> in Visual Basic)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (<span class="keyword">Async</span>/<span class="keyword">Await</span> in Visual Basic)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Top</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">Bibliography</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">Copy</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">Click or drag to resize</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/conceptual_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/conceptual_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b635d8abb5710e490df777b3036a2bb91f4ed85c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/conceptual_content.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+    <!-- main window stuff -->
+    <item id="productTitle">.NET 框架指南</item>
+
+    <!-- body -->
+
+    <!-- section titles -->
+    <item id="title_inThisSection">此节中</item>
+    <item id="title_buildInstructions">编译代码</item>
+    <item id="title_nextSteps">下一步</item>
+    <item id="title_requirements">要求</item>
+    <item id="title_relatedSections">相关内容</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_syntax">语法</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_returnValue">返回值</item>
+    <item id="title_attributesAndElements">特性和元素</item>
+    <item id="title_attributes">特性</item>
+    <item id="title_childElement">子元素</item>
+    <item id="title_parentElement">父元素</item>
+    <item id="title_elementInformation">元素信息</item>
+    <item id="title_textValue">文本值</item>
+    <item id="title_dotNetFrameworkEquivalent">.NET 框架等价项</item>
+    <item id="title_prerequisites">必备条件</item>
+    <item id="title_robustProgramming">鲁棒编程</item>
+    <item id="title_securitySection">安全性</item>
+    <item id="title_externalResources">外部资源</item>
+    <item id="title_demonstrates">演示</item>
+    <item id="title_appliesTo">应用到</item>
+    <item id="title_conclusion">结论</item>
+    <item id="title_background">背景资料</item>
+    <item id="title_whatsNew">新特性</item>
+    <item id="title_reference">参考</item>
+    <item id="title_errorMessage">错误消息</item>
+    <item id="title_example">示例</item>
+
+    <!-- autoOutline boilerplate -->
+    <item id="boilerplate_autoOutlineTopLevelIntro">本页包含以下内容:</item>
+    <item id="boilerplate_autoOutlineSubsectionIntro">本节包含以下子节内容:</item>
+
+    <!-- resolve the autoOutline token -->
+    <item id="autoOutline">
+        <autoOutline/>
+    </item>
+
+    <!-- Copyright notice. {0} = Copyright text, {1} = Year(s), {2} = Holder(s) -->
+    <item id="boilerplate_copyrightNotice"><p>{0} &#169;{1}{2}。保留所有权利</p></item>
+
+    <!-- Glossary related entries -->
+    <item id="text_relatedEntries">参见:</item>
+
+    <!-- Legacy content -->
+
+    <!-- values for MSHelp:Attr Name="TopicType" -->
+    <item id="meta_mshelp_topicType_developerConceptualDocument">kbArticle</item>
+    <item id="meta_mshelp_topicType_developerErrorMessageDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerGlossaryDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerHowToDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerOrientationDocument">kbOrient</item>
+    <item id="meta_mshelp_topicType_developerReferenceWithSyntaxDocument">kbSyntax</item>
+    <item id="meta_mshelp_topicType_developerReferenceWithoutSyntaxDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerSampleDocument">kbSampleProd</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewArchitectureDocument">kbArticle</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewCodeDirectoryDocument">kbOrient</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewOrientationDocument">kbOrient</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewScenariosDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerSDKTechnologyOverviewTechnologySummaryDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerTroubleshootingDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerUIReferenceDocument">kbRef</item>
+    <item id="meta_mshelp_topicType_developerWalkthroughDocument">kbHowTo</item>
+    <item id="meta_mshelp_topicType_developerWhitePaperDocument">kbArticle</item>
+    <item id="meta_mshelp_topicType_developerXmlReference">kbSyntax</item>
+    <item id="meta_mshelp_topicType_ManagedReference">apiref</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/reference_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/reference_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d09a153dba6b32c51ce11d84bb60c81e93097373
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/reference_content.xml
@@ -0,0 +1,560 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+    <!-- note text -->
+    <item id="notDocumented">此 API 没有对应的文档。</item>
+    <item id="preliminaryText">此 API 尚未最终确定,随时可能调整。</item>
+
+    <!-- main window stuff -->
+    <item id="productTitle">.NET 框架类库</item>
+
+    <!-- inserted boilerplate -->
+    <item id="runningHeaderText">.NET 框架类库</item>
+    <item id="rootLink"><referenceLink target="R:Project">命名空间</referenceLink></item>
+    <item id="definedBy">(由 {0} 定义。)</item>
+    <item id="inheritedFrom">(继承自 {0}。)</item>
+    <item id="overridesMember">(重写 {0}.)</item>
+    <item id="locationInformation">程序集:{0} (模块:{1})</item>
+
+    <item id="derivedClasses">派生类</item>
+    <item id="explicitInterfaceImplementation">显式接口实现</item>
+    <item id="returnValue">返回值</item>
+    <item id="propertyValue">属性值</item>
+    <item id="fieldValue">字段值</item>
+    <item id="example">示例</item>
+
+    <!-- topic titles -->
+    <item id="meta_mshelp_tocTitle">{0}</item>
+    <item id="meta_mshelp_rlTitle">{0} ({1})</item>
+    <item id="topicTitle_root">命名空间</item>
+    <item id="topicTitle_namespace">{0} 命名空间</item>
+    <item id="topicTitle_namespaceGroup">{0} 命名空间</item>
+    <item id="topicTitle_class">{0} ç±»</item>
+    <item id="topicTitle_structure">{0} 结构</item>
+    <item id="topicTitle_interface">{0} 接口</item>
+    <item id="topicTitle_derivedTypeList">{0} 派生类</item>
+
+    <item id="topicTitle_delegate">{0} 委托</item>
+    <item id="topicTitle_enumeration">{0} 枚举</item>
+    <item id="topicTitle_field">{0} 字段</item>
+    <item id="topicTitle_method">{0} 方法 {1}</item>
+    <item id="topicTitle_constructor">{0} 构造函数 {1}</item>
+    <item id="topicTitle_property">{0} 属性 {1}</item>
+    <item id="topicTitle_event">{0} 事件</item>
+
+    <!-- title for operator members -->
+    <item id="topicTitle_operator">{0} 运算符 {1}</item>
+
+    <!-- title for op_explicit and op_implicit members -->
+    <item id="topicTitle_typeConversion">{0} 转换 {1}</item>
+    <!-- title for overload op_explicit and op_implicit topics -->
+    <item id="topicTitle_conversionOperator">{0} 转换运算符</item>
+
+    <item id="topicTitle_attachedProperty">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvent">{0} 附加事件</item>
+
+    <item id="generic"> 泛型</item>
+    <item id="topicTitle_generic_class">{0} 泛型类</item>
+    <item id="topicTitle_generic_structure">{0} 泛型结构</item>
+    <item id="topicTitle_generic_interface">{0} 泛型接口</item>
+    <item id="topicTitle_generic_delegate">{0} 泛型委托</item>
+    <item id="topicTitle_generic_method">{0} 泛型方法 {1}</item>
+
+    <!-- list topic titles -->
+    <item id="topicTitle_fields">{0} 字段</item>
+    <item id="topicTitle_methods">{0} 方法</item>
+    <item id="topicTitle_enumMembers">成员</item>
+
+    <!-- title for operator list topic that has [operators + no type conversions] -->
+    <item id="topicTitle_operators">{0} 运算符</item>
+    <!-- title for operator list topic that has [operators + type conversions] -->
+    <item id="topicTitle_operatorsAndTypeConversions">{0} 运算符与类型转换</item>
+    <!-- title for operator list topic that has [no operators + type conversions] -->
+    <item id="topicTitle_typeConversions">{0} 类型转换</item>
+
+    <item id="topicTitle_constructors">{0} 构造函数</item>
+    <item id="topicTitle_properties">{0} 属性</item>
+    <item id="topicTitle_events">{0} 事件</item>
+    <item id="topicTitle_attachedProperties">{0} 附加属性</item>
+    <item id="topicTitle_attachedEvents">{0} 附加事件</item>
+    <item id="topicTitle_members">{0} 成员</item>
+
+    <!-- index entries -->
+    <item id="indexEntry_root">命名空间</item>
+    <item id="indexEntry_namespace">{0} 命名空间</item>
+    <item id="indexEntry_class">{0} ç±»</item>
+    <item id="indexEntry_structure">{0} 结构</item>
+    <item id="indexEntry_interface">{0} 接口</item>
+    <item id="indexEntry_delegate">{0} 委托</item>
+    <item id="indexEntry_enumeration">{0} 枚举</item>
+    <item id="indexEntry_enumerationMember">{0} 枚举成员</item>
+    <item id="indexEntry_members">{0}, 所有成员</item>
+    <item id="indexEntry_methods">{0}, 方法</item>
+    <!-- index entry for operator list topic that has [operators + no type conversions] -->
+    <item id="indexEntry_operators">{0}, 运算符</item>
+    <!-- index entry for operator list topic that has [operators + type conversions] -->
+    <item id="indexEntry_operatorsAndTypeConversions">{0},运算符与类型转换</item>
+    <!-- index entry for operator list topic that has [no operators + type conversions] -->
+    <item id="indexEntry_typeConversions">{0},类型转换</item>
+    <!-- index entries for op_explicit and op_implicit members -->
+    <item id="indexEntry_conversionOperator">{0} 转换</item>
+    <item id="indexEntry_properties">{0}, 属性</item>
+    <item id="indexEntry_fields">{0}, 字段</item>
+    <item id="indexEntry_events">{0}, 事件</item>
+    <item id="indexEntry_attachedProperties">{0}, 附加属性</item>
+    <item id="indexEntry_attachedEvents">{0}, 附加事件</item>
+    <item id="indexEntry_constructors">{0}, 构造函数</item>
+    <item id="indexEntry_constructor">{0}, 构造函数</item>
+    <item id="indexEntry_constructorType">{0} 构造函数</item>
+    <item id="indexEntry_method">{0} 方法</item>
+    <item id="indexEntry_property">{0} 属性</item>
+    <item id="indexEntry_event">{0} 事件</item>
+    <item id="indexEntry_field">{0} 字段</item>
+    <item id="indexEntry_operator">{0} 运算符</item>
+    <item id="indexEntry_attachedProperty">{0} 附加属性</item>
+    <item id="indexEntry_attachedEvent">{0} 附加事件</item>
+    <item id="indexEntry_methodExplicit">{0} 显式实现的方法</item>
+    <item id="indexEntry_propertyExplicit">{0} 显式实现的属性</item>
+    <item id="indexEntry_eventExplicit">{0} 显式实现的事件</item>
+    <item id="indexEntry_fieldExplicit">{0} 显式实现的字段</item>
+
+    <!-- section titles -->
+    <item id="title_syntax">语法</item>
+    <item id="title_templates">类型参数</item>
+    <item id="title_parameters">参数</item>
+    <item id="title_value">值</item>
+    <item id="title_delegateValue">返回值</item>
+    <item id="title_methodValue">返回值</item>
+    <item id="title_propertyValue">属性值</item>
+    <item id="title_fieldValue">字段值</item>
+    <item id="title_implements">实现</item>
+    <item id="title_examples">示例</item>
+    <item id="title_threadSafety">线程安全性</item>
+    <item id="title_permissions">权限</item>
+    <item id="title_namespaces">命名空间</item>
+    <item id="title_types">类型</item>
+    <item id="title_family">继承层次</item>
+    <item id="title_versions">版本信息</item>
+    <item id="title_platforms">平台</item>
+    <item id="title_relatedTopics">参见</item>
+    <item id="title_extensionUsage">备注</item>
+    <item id="text_extensionUsage">在 Visual Basic 和 C# 中,这个方法可以当成为类型 {0} 的实例方法来调用。在采用实例方法语法调用这个方法时,请省略第一个参数。请参考 <a href="https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/procedures/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (Visual Basic)</a> 或 <a href="https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/extension-methods" target="_blank" rel="noopener noreferrer">扩展方法 (C# 编程指南)</a> 获取更多信息。</item>
+    <item id="text_moreInheritance">更多...</item>
+
+    <!-- table headers -->
+    <item id="header_namespaceName">命名空间</item>
+    <item id="header_namespaceDescription">说明</item>
+    <item id="header_typeIcon">图标</item>
+    <item id="header_className">ç±»</item>
+    <item id="header_structureName">结构</item>
+    <item id="header_interfaceName">接口</item>
+    <item id="header_delegateName">委托</item>
+    <item id="header_enumerationName">枚举</item>
+
+    <item id="header_typeName">名称</item>
+    <item id="header_typeDescription">说明</item>
+    <item id="header_memberIcon">图标</item>
+    <item id="header_memberName">成员名称</item>
+    <item id="header_memberValue">值</item>
+    <item id="header_memberDescription">说明</item>
+    <item id="header_eventType">事件类型</item>
+    <item id="header_eventReason">原因</item>
+    <item id="header_exceptionName">异常</item>
+    <item id="header_exceptionCondition">条件</item>
+    <item id="header_permissionName">权限</item>
+    <item id="header_permissionDescription">说明</item>
+    <item id="header_requiresName">前置条件</item>
+    <item id="header_ensuresName">标准后置条件</item>
+    <item id="header_ensuresOnThrowName">异常后置条件</item>
+    <item id="header_invariantsName">固定协定</item>
+
+    <item id="header_revHistoryDate">日期</item>
+    <item id="header_revHistoryVersion">版本</item>
+    <item id="header_revHistoryDescription">说明</item>
+
+    <!-- member list table titles -->
+    <item id="tableTitle_namespace">命名空间</item>
+    <item id="tableTitle_class">ç±»</item>
+    <item id="tableTitle_structure">结构</item>
+    <item id="tableTitle_interface">接口</item>
+    <item id="tableTitle_delegate">委托</item>
+    <item id="tableTitle_enumeration">枚举</item>
+    <item id="tableTitle_constructor">构造函数</item>
+    <item id="tableTitle_method">方法</item>
+    <item id="tableTitle_operator">运算符</item>
+    <item id="tableTitle_field">字段</item>
+    <item id="tableTitle_property">属性</item>
+    <item id="tableTitle_event">事件</item>
+    <item id="tableTitle_attachedEvent">附加事件</item>
+    <item id="tableTitle_attachedProperty">附加属性</item>
+    <item id="tableTitle_explicitInterfaceImplementation">显式接口实现</item>
+    <item id="tableTitle_overloadMembers">重载列表</item>
+    <item id="tableTitle_extensionMethod">扩展方法</item>
+
+    <!-- Thread Safety -->
+    <item id="text_threadSafety">线程安全</item>
+    <item id="boilerplate_threadSafety">这个类型的所有公开<include item="devlang_staticKeyword"/>成员都是线程安全的。实例的成员不保证线程安全。</item>
+
+    <item id="text_staticThreadSafe">这个类型的静态成员对多线程操作是安全的。</item>
+    <item id="text_staticNotThreadSafe">这个类型的静态成员对多线程操作是不安全的。</item>
+    <item id="text_instanceThreadSafe">这个类型的实例成员对多线程操作是安全的。</item>
+    <item id="text_instanceNotThreadSafe">这个类型的实例成员对多线程操作是不安全的。</item>
+
+    <!-- boilerplate intro to member list tables -->
+    <item id="genericExposedMembersTableText">{0} 泛型公开以下成员。</item>
+    <item id="exposedMembersTableText">{0} 类型公开以下成员。</item>	
+
+    <item id="dependencyPropertyInfoHeading">依赖属性信息</item>
+    <item id="routedEventInfoHeading">路由事件信息</item>
+    <item id="mrefTaskMoreCodeHeading">更多代码</item>
+
+    <item id="Overloaded">已重载。</item>	
+    <item id="defaultNamespace">( 默认命名空间 )</item>
+
+    <item id="typeLink">类型:{0}</item>
+    <!-- First line of a param or retval description is a link to the type of the param or retval.
+       This boilerplate is used if the type is a type parameter of the member's type. -->
+    <item id="typeLinkToTypeParameter">
+        <strong>{0}</strong> {1} 的类型参数。</item>
+
+    <!-- Host protection boilerplate text -->
+    <item id="text_hostProtectionAttribute">宿主保护特性。</item>
+    <item id="boilerplate_hostProtectionAttribute"><referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> 属性适用于这个类型或成员具有以下 <referenceLink target="P:System.Security.Permissions.HostProtectionAttribute.Resources"
+									 prefer-overload="true" /> 特性:{1}。 这个 <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> 不影响桌面应用(一般通过双击图标、输入命令或在浏览器中输入URL来启动的)。更多信息参见 <referenceLink target="T:System.Security.Permissions.HostProtectionAttribute"
+									 prefer-overload="true" /> 类或<a href="https://docs.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes" target="_blank" rel="noopener noreferrer">SQL Server 编程和宿主保护特性</a>。</item>
+
+    <!-- Obsolete boilerplate text -->
+    <item id="boilerplate_obsoleteShort">
+        <span><strong>已过时。</strong></span>
+    </item>
+    <item id="boilerplate_obsoleteLong">
+        <span><strong>注意:此 API 现在已过时。</strong></span>
+    </item>
+
+    <!-- Group and SubGroup text -->
+    <item id="text_classLower">ç±»</item>
+    <item id="text_delegateLower">委托</item>
+    <item id="text_structureLower">结构</item>
+    <item id="text_interfaceLower">接口</item>
+    <item id="text_enumerationLower">枚举</item>
+
+    <item id="text_classUpper">ç±»</item>
+    <item id="text_structureUpper">结构</item>
+    <item id="text_interfaceUpper">接口</item>
+    <item id="text_delegateUpper">委托</item>
+    <item id="text_enumerationUpper">枚举</item>
+
+    <item id="text_classTypesLower">ç±»</item>
+    <item id="text_structureTypesLower">结构</item>
+    <item id="text_interfaceTypesLower">接口</item>
+    <item id="text_delegateTypesLower">委托</item>
+    <item id="text_enumerationTypesLower">枚举</item>
+
+    <item id="text_classTypesUpper">ç±»</item>
+    <item id="text_structureTypesUpper">结构</item>
+    <item id="text_interfaceTypesUpper">接口</item>
+    <item id="text_delegateTypesUpper">委托</item>
+    <item id="text_enumerationTypesUpper">枚举</item>
+
+    <item id="text_membersLower">成员</item>
+    <item id="text_methodsLower">方法</item>
+    <item id="text_propertiesLower">属性</item>
+    <item id="text_eventsLower">事件</item>
+    <item id="text_fieldsLower">字段</item>
+    <item id="text_operatorsLower">运算符</item>
+    <item id="text_attachedPropertiesLower">附加属性</item>
+    <item id="text_attachedEventsLower">附加事件</item>
+
+    <item id="text_membersUpper">成员</item>
+    <item id="text_methodsUpper">方法</item>
+    <item id="text_propertiesUpper">属性</item>
+    <item id="text_eventsUpper">事件</item>
+    <item id="text_fieldsUpper">字段</item>
+    <item id="text_operatorsUpper">运算符</item>
+    <item id="text_attachedPropertiesUpper">附加属性</item>
+    <item id="text_attachedEventsUpper">附加事件</item>
+
+    <!-- alt text for images -->
+    <item id="altText_pubClass">公共类</item>
+    <item id="altText_pubStructure">公共结构</item>
+    <item id="altText_pubInterface">公共接口</item>
+    <item id="altText_pubDelegate">公共委托</item>
+    <item id="altText_pubEnumeration">公共枚举</item>
+    <item id="altText_protClass">受保护的类</item>
+    <item id="altText_protStructure">受保护的结构</item>
+    <item id="altText_protInterface">受保护的接口</item>
+    <item id="altText_protDelegate">受保护的委托</item>
+    <item id="altText_protEnumeration">受保护的枚举</item>
+    <item id="altText_privClass">私有类</item>
+    <item id="altText_privStructure">私有结构</item>
+    <item id="altText_privInterface">私有接口</item>
+    <item id="altText_privDelegate">私有委托</item>
+    <item id="altText_privEnumeration">私有枚举</item>
+
+    <item id="altText_pubConstructor">公共构造函数</item>
+    <item id="altText_pubMethod">公共方法</item>
+    <item id="altText_pubField">公共字段</item>
+    <item id="altText_pubProperty">公共属性</item>
+    <item id="altText_pubEvent">公共事件</item>
+    <item id="altText_pubOperator">公共运算符</item>
+    <item id="altText_pubAttachedProperty">公共的附加属性</item>
+    <item id="altText_pubAttachedEvent">公共的附加事件</item>
+    <item id="altText_protConstructor">受保护的构造函数</item>
+    <item id="altText_protMethod">受保护的方法</item>
+    <item id="altText_protField">受保护的字段</item>
+    <item id="altText_protProperty">受保护的属性</item>
+    <item id="altText_protEvent">受保护的事件</item>
+    <item id="altText_protOperator">受保护的运算符</item>
+    <item id="altText_protAttachedProperty">受保护的附加属性</item>
+    <item id="altText_protAttachedEvent">受保护的附加事件</item>
+    <item id="altText_privConstructor">私有构造函数</item>
+    <item id="altText_privMethod">私有方法</item>
+    <item id="altText_privField">私有字段</item>
+    <item id="altText_privProperty">私有属性</item>
+    <item id="altText_privEvent">私有事件</item>
+    <item id="altText_privOperator">私有运算符</item>
+    <item id="altText_privtAttachedProperty">私有附加属性</item>
+    <item id="altText_privAttachedEvent">私有附加事件</item>
+    <item id="altText_static">静态成员</item>
+    <item id="altText_pubextension">公共扩展器方法</item>
+    <item id="altText_protextension">受保护的扩展器方法</item>
+    <item id="altText_privextension">私有扩展器方法</item>
+
+    <item id="altText_CompactFramework">支持 .NET Compact Framework</item>
+    <item id="altText_XNAFramework">支持 XNA Framework</item>
+    <item id="altText_SilverlightMobile">支持 <include item="silverlight_mobile"/>
+    </item>
+    <item id="altText_ExplicitInterface">显式接口实现</item>
+    <item id="altText_CodeExample">代码示例</item>
+
+    <item id="boilerplate_seeAlsoNamespaceLink">{0} 命名空间</item>
+    <item id="boilerplate_seeAlsoTypeLink">{0} <include item="text_{1}Upper"/>
+    </item>
+    <item id="boilerplate_seeAlsoMembersLink">{0} 成员</item>
+    <item id="boilerplate_seeAlsoOverloadLink">{0} 重载</item>
+
+    <item id="boilerplate_requirementsNamespace">
+        <strong>命名空间:</strong> 
+    </item>
+
+    <item id="boilerplate_requirementsPlatforms">
+        <strong>平台:</strong>{0}
+    </item>
+
+    <item id="boilerplate_requirementsAssemblies">
+        <strong>程序集:</strong>
+    </item>
+
+    <item id="boilerplate_requirementsAssemblyLabel">
+        <strong>程序集:</strong>
+    </item>
+
+    <item id="assemblyNameAndModule">{0} (在 {1}.{2} 中) 版本:{3}</item>
+
+    <item id="boilerplate_requirementsAssembly">
+        <strong>程序集:</strong> {0} (在 {1}.dll 中)
+    </item>
+
+    <!-- Used for Version Information Section -->
+    <item id="supportedIn_1">支持版本:{0}</item>
+    <item id="supportedIn_2">支持版本:{0}, {1}</item>
+    <item id="supportedIn_3">支持版本:{0}, {1}, {2}</item>
+    <item id="supportedIn_4">支持版本:{0}, {1}, {2}, {3}</item>
+    <item id="supportedIn_5">支持版本:{0}, {1}, {2}, {3}, {4}</item>
+    <item id="supportedIn_6">支持版本:{0}, {1}, {2}, {3}, {4}, {5}</item>
+    <item id="supportedIn_7">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}</item>
+    <item id="supportedIn_8">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}</item>
+    <item id="supportedIn_9">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}</item>
+    <item id="supportedIn_10">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}</item>
+    <item id="supportedIn_11">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}</item>
+    <item id="supportedIn_12">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}</item>
+    <item id="supportedIn_13">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}</item>
+    <item id="supportedIn_14">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}</item>
+    <item id="supportedIn_15">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}</item>
+    <item id="supportedIn_16">支持版本:{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}</item>
+    <item id="obsoleteWarning">已在 {0} 中已过时 (编译器警告)</item>
+    <item id="obsoleteError">已在 {0} 及后续版本中过时 (无法编译)</item>
+
+    <!-- APTCA Boilerplate text -->
+    <item id="boilerplate_aptca">要求完全信任立即调用者。完全信任的直接调用者。 此成员不能由部分受信任的代码使用。 有关详细信息,请参阅 <a href="https://docs.microsoft.com/dotnet/framework/misc/using-libraries-from-partially-trusted-code" target="_blank" rel="noopener noreferrer">通过部分受信任的代码使用库</a>。</item>
+
+    <!-- Variance boilerplate text -->
+    <item id="text_covariant">此类型参数是协变的。换言之,你可以使用指定类型或派生程度更高的类型。</item>
+    <item id="text_contravariant">此类型参数是逆变的。换言之,你可以适用指定类型或派生程度更低的类型。</item>
+    <item id="text_variance">有关协变与逆变的详细信息,请参阅 <a href="https://docs.microsoft.com/previous-versions/ee207183(v=vs.140)" target="_blank" rel="noopener noreferrer">协变和逆变(C# 和 Visual Basic)</a>。</item>
+
+    <!-- Non-CLS Compliant boilerplate text-->
+    <item id="boilerplate_NotClsCompliant">这个 API 不是 CLS兼容的。</item>
+    <item id="boilerplate_AltClsCompliant">具备 CLS 兼容性的替代方式是 {0}。</item>
+
+    <!-- Security Critical Boilerplate text-->
+    <item id="boilerplate_typeSecurityCritical">此类型具有SecurityCriticalAttribute属性,该属性将其限制为由.NET Framework for Silverlight类库内部使用。 使用此类型的任何成员的应用程序代码将抛出一个MethodAccessException异常。</item>
+    <item id="boilerplate_memberSecurityCritical">此成员具有SecurityCriticalAttribute属性,该属性将其限制为由.NET Framework for Silverlight类库内部使用。 使用此成员的应用程序代码会抛出MethodAccessException。</item>
+    <item id="text_securityCritical">【重要安全事项】</item>
+
+    <!-- Overload page boilerplate -->
+    <item id="boilerplate_overloadSummary">此方法已被重载。请点击重载列表中的名称以获取该成员的完整信息,包括语法、使用方法以及示例。</item>
+
+    <!-- Platforms Information and Platform Notes --> 
+    <item id="boilerplate_PlatformNote">
+        <strong>{0} 平台备注:</strong> {1}
+    </item>
+    <item id="boilerplate_systemRequirementsLink">
+        <p>“<include item="netfw"/> and <include item="netcfw"/>”不被所有的平台和版本支持。请参阅 <a href="https://docs.microsoft.com/dotnet/framework/get-started/system-requirements" target="_blank" rel="noopener noreferrer">.NET 框架系统需求</a> 以了解所有支持的平台和版本。</p>
+    </item>
+
+    <!-- Platforms boilerplate for Silverlight mref builds --> 
+    <item id="boilerplate_silverlightPlatforms">
+    要获取 <include item="silverlight"/> 所支持的操作系统和浏览器,请参见<a href="https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838158(v=vs.95)" target="_blank" rel="noopener noreferrer">支持的操作系统和浏览器</a>。
+    </item>
+
+    <item id="Win95">Windows 95</item>
+    <item id="Win98Se">Windows 98 Second Edition</item>
+
+    <item id="WinNT4">Windows NT 4.0</item>
+    <item id="WinNT4Svr">Windows NT Server 4.0</item>
+    <item id="WinNT4Wks">Windows NT Workstation 4.0</item>
+
+    <item id="Win2kFamily">Windows 2000</item>
+    <item id="Win2kProfessional">Windows 2000 Professional</item>
+    <item id="Win2kServer">Windows 2000 Server</item>
+    <item id="Win2kDatacenter">Windows 2000 Advanced Server</item>
+
+    <item id="WinXPPersonal">Windows XP Home Edition</item>
+    <item id="WinXPPro">Windows XP Professional x64 Edition</item>
+    <item id="WinXPSvr">
+        <include item="WinSvr2003"/>
+    </item>
+    <item id="WinXpTablet">Windows XP Tablet PC Edition</item>
+    <item id="WinXpEmbedded">Windows XP Embedded</item>
+
+    <item id="ECMACLI">通用语言架构 (CLI) 标准</item>
+
+    <item id="MSTV">Microsoft TV</item>
+
+    <item id="Win9xFamily"><include item="Win95"/>, <include item="Win98"/>, <include item="Win98Se"/>, <include item="WinME"/></item>
+    <item id="WinNt4Family"><include item="WinNT4"/></item>
+    <item id="WinXpFamily"><include item="WinXPPersonal"/>, <include item="WinXPPro"/>, <include item="WinXPSvr"/></item>
+    <item id="WinCE"><include item="WindowsCE"/></item>
+    <item id="Win2K"><include item="WinSvr2000"/></item>
+    <item id="Win2KSvr"><include item="Win2kServer"/></item>
+    <item id="Win2KADC"><include item="Win2kDatacenter"/></item>
+
+    <item id="WinNt4Server"><include item="WinNT4Svr"/></item>
+    <item id="WinNt4Workstation"><include item="WinNT4Wks"/></item>
+    <item id="Win2kAdvanced"><include item="Win2kDatacenter"/></item>
+    <item id="Win2kServerApplianceKit"></item>
+    <item id="WinXpHome"><include item="WinXPPersonal"/></item>
+    <item id="WinXpProfessional"><include item="WinXPPro"/></item>
+    <item id="Win2003Server"><include item="WinXPSvr"/></item>
+    <item id="NETCF"><include item="PocketPC"/>, <include item="SmartPhone"/>, <include item="WindowsCE"/></item>
+
+    <item id="XNA"><include item="Xbox360"/>, <include item="Zune" /></item>
+
+    <!-- platform names that appear in the Platforms section on mref type and member pages 
+       The id values must be in sync with the platform/@name values used in the manifold  platformFilters.xml filter files.
+       These values are also used in <platformNotes>
+  -->
+    <item id="Win98">Windows 98</item>
+    <item id="WinME">Windows Millennium Edition</item>
+    <item id="WinSvr2000">Windows Server 2000 SP4</item>
+    <item id="WinXPPro64">Windows XP Professional x64 Edition</item>
+    <item id="WinXP">Windows XP SP3</item>
+    <item id="WindowsCE">Windows CE</item>
+    <item id="PocketPC">Windows Mobile for Pocket PC</item>
+    <item id="SmartPhone">Windows Mobile for Smartphone</item>
+    <item id="WinSvr2003">Windows Server 2003</item>
+    <item id="WinSvr2008">Windows Server 2008</item>
+    <item id="WinSvr2008R2">Windows Server 2008 R2</item>
+    <item id="WinXpMediaCenter">Windows XP Media Center Edition</item>
+    <item id="WinXPSE">Windows XP Starter Edition</item>
+    <item id="WinVista">Windows Vista</item>
+    <item id="Win7">Windows 7</item>
+    <item id="Xbox360">Xbox 360</item>
+    <item id="Zune">Zune</item>
+
+    <!-- framework ids:  
+       These shared content item strings are used for the headings in the Version Information section 
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+  -->
+    <item id="netfw">.NET Framework</item>
+    <item id="netcfw">.NET Compact Framework</item>
+    <item id="xnafw">XNA Framework</item>
+    <item id="silverlight">Silverlight</item>
+    <item id="silverlight_mobile">Silverlight for Windows Phone</item>
+
+    <!-- framework version ids
+       These shared content item strings are used in the Version Information section.
+       These ids must be in sync with the ids used in the config file for VersionBuilder.
+       The ids are also used in the platformFilters.xml filter files to indicate the framework version supported by each platform
+  -->
+    <item id="netfw40">4.0</item>
+    <item id="netfw35_1">3.5 SP1</item>
+    <item id="netfw35">3.5</item>
+    <item id="netfw30_1">3.0 SP1</item>
+    <item id="netfw30">3.0</item>
+    <item id="netfw20_1">2.0 SP1</item>
+    <item id="netfw20">2.0</item>
+    <item id="netfw11">1.1</item>
+    <item id="netfw10">1.0</item>
+
+    <item id="netcfw37">3.7</item>
+    <item id="netcfw35">3.5</item>
+    <item id="netcfw20">2.0</item>
+    <item id="netcfw10">1.0</item>
+
+    <item id="xnafw10">1.0</item>
+
+    <!-- silverlight version ids used in Version Information section. -->
+    <item id="silverlight10">1.0</item>
+    <item id="silverlight20">2.0</item>
+    <item id="silverlight_v3">3.0</item>
+    <item id="silverlight_v4">4.0</item>
+    <item id="silverlight_mobile_v1">Windows Phone OS 7.0</item>
+
+    <!-- Used in the Requirements section to display an xmlns URI for apis that can be used in XAML -->
+    <item id="boilerplate_xamlXmlnsRequirements"><strong>XMLNS for XAML:</strong> {0}</item>
+    <item id="boilerplate_unmappedXamlXmlns">未映射到一个 xmlns.</item>
+
+    <item id="boilerplate_secondaryFrameworkOverride"><br/><br/>在 <include item="{0}"/> 中,此成员被 {1} 重写。</item>
+    <item id="boilerplate_secondaryFrameworkInherited"><br/><br/>在 <include item="{0}"/><include item="{1}"/>,此成员继承自 {2}{3}{4}。</item>
+    <item id="boilerplate_secondaryFrameworkMember"><br/><br/>在 <include item="{0}"/><include item="{1}"/>,此成员为 {2}.</item>
+
+    <item id="boilerplate_useBaseSummary">此成员重写了 {0}。</item>
+    <item id="boilerplate_useBaseSee">参见 {0}.</item>
+    <item id="boilerplate_useBase">此成员重写了 {0},在此主题下应该可以找到更完整的文档。</item>
+
+    <item id="boilerplate_flagsSummary">此枚举以 {0} 特性标记,表示该枚举可以对其成员值按位绑定。</item>
+
+    <!-- Legacy content -->
+    <item id="familyTitle"><include item="title_family"/></item>
+    <item id="allMembersTitle">成员</item>
+    <item id="membersTitle">重载列表</item>
+    <item id="hostProtectionAttributeShort"><include item="text_hostProtectionAttribute"/></item>
+    <item id="classLower"><include item="text_classLower"/></item>
+    <item id="delegateLower"><include item="text_delegateLower"/></item>
+    <item id="structureLower"><include item="text_structureLower"/></item>
+    <item id="interfaceLower"><include item="text_interfaceLower"/></item>
+    <item id="enumerationLower"><include item="text_enumerationLower"/></item>
+    <item id="SeeAlsoNamespaceLinkText"><include item="boilerplate_seeAlsoNamespaceLink"><parameter>{0}</parameter></include></item>
+    <item id="SeeAlsoTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+    <item id="SeeAlsoMembersLinkText"><include item="boilerplate_seeAlsoMembersLink"><parameter>{0}</parameter></include></item>
+    <item id="SeeAlsoOverloadLinkText"><include item="boilerplate_seeAlsoOverloadLink"><parameter>{0}</parameter></include></item>
+    <item id="nonScrollingTypeLinkText"><include item="boilerplate_seeAlsoTypeLink"><parameter>{0}</parameter><parameter>{1}</parameter></include></item>
+
+    <!-- Show Missing Component messages -->
+    <item id="SMCAutoDocConstructor">初始化 <referenceLink target="T:{0}" /> 类的一个新实例</item>
+    <item id="SMCAutoDocStaticConstructor">初始化 <referenceLink target="T:{0}" /> 类的静态字段</item>
+    <item id="SMCAutoDocDispose">释放被 <referenceLink target="T:{0}" /> 使用的所有资源</item>
+    <item id="SMCAutoDocDisposeBool">释放被 <referenceLink target="T:{0}" /> 使用的非托管资源,并且是否托管资源(可选)</item>
+    <item id="SMCAutoDocDisposeParam">为 true 则同时释放托管资源和非托管资源;为 false 则只释放非托管资源</item>
+    <item id="SMCMissingTag"><p style="color: #dc143c; font-size: 9pt; font-weight: bold;">[缺少 "{1}" 的 &lt;{0}&gt; 文档]</p></item>
+    <item id="SMCMissingParamTag"><p style="color: #dc143c; font-size: 9pt; font-weight: bold;">[缺少 "{2}" 的 &lt;{0} name="{1}"/&gt; 文档]</p></item>
+    <item id="SMCMissingIncludeTarget"><p style="color: #dc143c; font-size: 9pt; font-weight: bold;">[在 “{0}” 中缺少 &lt;include&gt; 目标文档。文件:“{1}” 路径:“{2}”]</p></item>
+
+    <!-- View Source link text -->
+    <item id="sourceCodeLinkText">查看代码</item>
+    <item id="sourceCodeLinkTitle">查看源代码</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/shared_content.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/shared_content.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c9953b87792aad3ca9eb32761383b47e96e7b394
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/shared_content.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
+
+	<!-- paths -->
+	<item id="iconPath">../icons/{0}</item>
+	<item id="stylePath">../styles/{0}</item>
+	<item id="scriptPath">../scripts/{0}</item>
+
+	<!-- locale -->
+	<item id="locale">en-US</item>
+	<item id="brandingLocaleCss">branding-zh-CN.css</item>
+
+	<item id="meta_help20_desktopTechnologyAttribute">kbNetFramewk</item>
+	<item id="meta_help20_netcfTechnologyAttribute">kbNetCompactFramewk</item>
+	<item id="meta_help20_netcfDocSetAttribute">NetCompactFramework</item>
+	<item id="meta_help20_xnaTechnologyAttribute">kbXNA</item>
+	<item id="meta_help20_xnaDocSetAttribute">XNA</item>
+
+	<!-- header and footer -->
+	<item id="header"><span class="introStyle"></span></item>
+	<item id="footer_text"></item>
+	<item id="websiteAdContent" />
+
+	<!-- freshness date -->
+	<item id="boilerplate_UpdateTitle"><span class="introStyle">Updated: {0}</span></item>
+	<!-- if the TransformComponent of the BuildAssembler config file has the argument:
+			 argument key="changeHistoryOptions" value="showDefaultFreshnessDate"
+			 the "text_defaultFreshnessDate" item is used as the default freshness date for topics that don't have a Change History table. -->
+	<item id="text_defaultFreshnessDate"/>
+
+	<!-- topic title -->
+	<item id="boilerplate_pageTitle">{0}</item>
+
+	<!-- alert titles -->
+	<item id="alert_title_tip"><b>提示:</b></item>
+	<item id="alert_title_caution"><b>警告:</b></item>
+	<item id="alert_title_security"><b>安全性事项:</b></item>
+	<item id="alert_title_note"><b>备注:</b></item>
+	<item id="alert_title_important"><b>重要事项</b></item>
+	<item id="alert_title_visualBasic"><b>Visual Basic备注:</b></item>
+	<item id="alert_title_visualC#"><b>C# 备注:</b></item>
+	<item id="alert_title_visualC++"><b>C++ 备注:</b></item>
+	<item id="alert_title_visualJ#"><b>J# 备注:</b></item>
+	<item id="text_NotesForImplementers">实现时注意</item>
+	<item id="text_NotesForCallers">调用时注意</item>
+	<item id="text_NotesForInheritors">继承时注意</item>
+
+	<!-- alert alt text -->
+	<item id="alert_altText_tip">提示</item>
+	<item id="alert_altText_caution">警告</item>
+	<item id="alert_altText_security">安全性事项</item>
+	<item id="alert_altText_note">备注</item>
+	<item id="alert_altText_important">重要事项</item>
+	<item id="alert_altText_visualBasic">Visual Basic备注</item>
+	<item id="alert_altText_visualC#">C#备注</item>
+	<item id="alert_altText_visualC++">C++备注</item>
+	<item id="alert_altText_visualJ#">J#备注</item>	
+
+	<!-- section titles -->
+	<item id="title_remarks">备注</item>
+	<item id="title_changeHistory">修订历史</item>
+	<item id="title_events">事件</item>
+	<item id="title_exceptions">异常</item>
+	<item id="title_contracts">约定</item>
+	<item id="title_setter">Set</item>
+	<item id="title_getter">Get</item>
+	<item id="title_seeAlso_tasks">任务</item>
+	<item id="title_seeAlso_reference">引用</item>
+	<item id="title_seeAlso_concepts">概念</item>
+	<item id="title_seeAlso_otherResources">其他资源</item>
+	<item id="title_revisionHistory">版本历史</item>
+
+	<!-- dynamic Link Information -->
+	<item id="meta_mshelp_KTable"><MSHelp:ktable keywords='{0}' locHeader='Location' topicHeader = 'Topic'
+		disambiguator='table' indexMoniker='!DefaultDynamicLinkIndex' /></item>
+
+	<item id="inline_dynamicLink_prefixText">要获取更多信息,请参考 </item>
+	<item id="inline_dynamicLink_postfixText">。</item>
+	<item id="inline_dynamicLink_separatorText"> 和 </item>
+  
+	<!-- Development language and code snippet titles for languages without a syntax generator -->
+	<item id="devlang_batch">Batch Script</item>
+	<item id="devlang_HTML">HTML</item>
+	<item id="devlang_PShell">PowerShell</item>
+	<item id="devlang_Python">Python</item>
+	<item id="devlang_SQL">SQL</item>
+	<item id="devlang_VBScript">Visual Basic Script</item>
+	<item id="devlang_VisualBasicAndCSharp">Visual Basic 和 C#</item>
+	<item id="devlang_XML">XML</item>
+
+	<item id="noCodeExample"><p>当前没有可用的代码示例,或者可能不支持该语言。</p></item>
+
+	<!-- Development language metadata values for languages without a syntax generator -->
+	<item id="metaLang_batch">Batch Script</item>
+	<item id="metaLang_HTML">HTML</item>
+	<item id="metaLang_PShell">PowerShell</item>
+	<item id="metaLang_Python">Python</item>
+	<item id="metaLang_SQL">SQL</item>
+	<item id="metaLang_VBScript">VBScript</item>
+	<item id="metaLang_VisualBasicAndCSharp">VB 和 C#</item>
+	<item id="metaLang_XML">XML</item>
+
+	<!-- language keywords -->
+	<item id="devlang_nullKeyword"><span class="keyword">null</span> (在 Visual Basic 中为 <span class="keyword">Nothing</span>)</item>
+	<item id="devlang_staticKeyword"><span class="keyword">static</span> (在 Visual Basic 中为 <span class="keyword">Shared</span>)</item>
+	<item id="devlang_virtualKeyword"><span class="keyword">virtual</span> (在 Visual Basic 中为 <span class="keyword">Overridable</span>)</item>
+	<item id="devlang_trueKeyword"><span class="keyword">true</span> (在 Visual Basic 中为 <span class="keyword">True</span>)</item>
+	<item id="devlang_falseKeyword"><span class="keyword">false</span> (在 Visual Basic 中为 <span class="keyword">False</span>)</item>
+	<item id="devlang_abstractKeyword"><span class="keyword">abstract</span> (在 Visual Basic 中为 <span class="keyword">MustInherit</span>)</item>
+	<item id="devlang_sealedKeyword"><span class="keyword">sealed</span> (在 Visual Basic 中为 <span class="keyword">NotInheritable</span>)</item>
+	<item id="devlang_asyncKeyword"><span class="keyword">async</span> (在 Visual Basic 中为 <span class="keyword">Async</span>)</item>
+	<item id="devlang_awaitKeyword"><span class="keyword">await</span> (在 Visual Basic 中为 <span class="keyword">Await</span>)</item>
+	<item id="devlang_asyncAwaitKeyword"><span class="keyword">async</span>/<span class="keyword">await</span> (在 Visual Basic 中为 <span class="keyword">Async</span>/<span class="keyword">Await</span>)</item>
+
+	<!-- transforms insert K Index Technology qualifiers based on a conceptual topic's //metadata/attribute[@name='DocSet'] value />-->
+	<!-- If you add new docset values, the item/@id must = "meta_kIndexTechTag_" + the lower-case DocSet name. -->
+	<item id="meta_kIndexTermWithTechQualifier">{0}<include item="meta_kIndexTechTag_{1}" />{2}</item>
+	<item id="meta_kIndexTechTag_avalon"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wpf"> [WPF]</item>
+	<item id="meta_kIndexTechTag_wcf"> [Windows Communication Foundation]</item>
+	<item id="meta_kIndexTechTag_windowsforms"> [Windows Forms]</item>
+
+	<item id="top">Top</item>
+
+	<!-- Copyright -->
+	<item id="copyright_info"><include item="copyright_text"/></item>
+	<item id="copyright_link"></item>
+	<item id="copyright_text">&#169; 2005 Microsoft Corporation. All rights reserved.</item>
+
+	<!-- Bibliography -->
+	<item id="bibliographyTitle">参考书目</item>
+
+	<!-- Legacy shared content -->
+	<item id="copyrightText"><include item="copyright_text"/></item>
+	<item id="copyCode">复制</item>
+
+	<!-- Lightweight TOC resize tool tip -->
+	<item id="resizeToolTip">点击或拖拽改变大小</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/shared_content_mshc.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/shared_content_mshc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89645aa7bcc35fdfc07328efa42f2946ee9ec74e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Content/zh-CN/shared_content_mshc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+
+	<!-- Paths.  These differ for MS Help Viewer. -->
+	<item id="iconPath">icons/{0}</item>
+	<item id="stylePath">styles/{0}</item>
+	<item id="scriptPath">scripts/{0}</item>
+
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Data/bibliography.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Data/bibliography.xml
new file mode 100644
index 0000000000000000000000000000000000000000..48792b15cd83df0ea07c0dd986e2a7b7dbce272c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Data/bibliography.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  The bibliography feature looks for <cite>name</cite> elements in XML documentation
+  and <ddue:cite>name</ddue:cite> elements in MAML and automatically generates links
+  to a bibliography section, which is generated at the bottom of each topic.
+
+  To use this feature in MAML you must also add the <ddue:bibliography/> element
+  somewhere in your topics; preferably, right before the <ddue:relatedTopics> section.
+
+  This file is used to describe the entries in the bibliographies for every topic
+  that is generated.  For example, add a remarks section such as the following to
+  the XMl documentation comments in one of your APIs.
+
+  <remarks>
+    <para>
+      Sandcastle is a popular download<cite>sandcastle activity</cite>.
+    </para>
+    <para>
+      I expect Sandcastle's popularity<cite>sandcastle activity</cite> to increase
+      as more community members become aware of its usefulness.
+    </para>
+  </remarks>
+
+  Then add the following reference element along with any others to this file to
+  describe those citations.
+
+  <reference name="sandcastle activity">
+    <title>Sandcastle Help File Builder Activity Statistics</title>
+    <author>Eric Woodruff</author>
+    <publisher>GitHub.com</publisher>
+    <link>https://GitHub.com/EWSoftware/SHFB/pulse/monthly</link>
+  </reference>
+
+  Building documentation now will produce your auto-generated reference topic with a
+  bibliography section near the bottom.  Each <cite>name</cite> is replaced in-line
+  with a hyperlink such as [1], [2], [3], [n]..., linking to the corresponding
+  entries in the bibliography section.
+
+  - The title element is required.
+  - The author element is required.
+  - The publisher element is optional.
+  - The link element is optional.
+  - Reference names are case-sensitive.
+  - If a matching reference is not found, the cite element is processed as regular
+    markup.  Currently, the transformations will remove the outer <cite> element but 
+    inner text and content may pass through to the topic.
+  -->
+<bibliography>
+  <!-- Add <reference> elements here -->
+</bibliography>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/WebsiteContent.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/WebsiteContent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..383b8e1bc897ce94405fd12c9ed6348a525e0e97
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/WebsiteContent.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!--	This file is specific to website output.
+
+				NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the files before it! -->
+	
+		<item id="websiteAdContent">{@WebsiteAdContent}</item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/de-DE.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/de-DE.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7fdc70c82d04cf9872d09f8bed63fe37df3f5658
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/de-DE.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+			 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Ihre Rückmeldung wird für die Verbesserung der Dokumentation und des Produktes genutzt. Ihre Email-Adresse wird zu keinem anderen Zweck benutzt und wird nach der Behebung des gemeldeten Problems gelöscht. Während der Arbeit an dem Problem kann es sein dass Sie per Email kontaktiert werden für weitergehende Details oder Abklärung zur Rückmeldung von Ihnen. Nachdem das Problem eingegrenzt worden ist kann es sein dass Sie eine Email erhalten zur Problembehebung.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Namensräume</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Diese Seite ist eine Vorabausgabe der Dokumentation und kann in zukünftigen Ausgaben geändert werden. Leere Seiten sind als Platzhalter eingefügt.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Senden Sie Kommentare zu diesem Feature an
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Beispiel für dieses Thema anfordern">Beispiel anfordern</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/en-US.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/en-US.xml
new file mode 100644
index 0000000000000000000000000000000000000000..59acd5e6bbf57136a470e2522c5cc7fcccb3513e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/en-US.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Namespaces</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Send comments on this topic to
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/es-ES.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/es-ES.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2737d6752e24763a522cb57bace1cf18e1888c88
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/es-ES.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Espacio de nombres</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Ésta es documentación preliminar y está sujeta a cambios.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Enviar los comentarios sobre este asunto a
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/fr-FR.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/fr-FR.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4c65464623361c767c3b1a1fb2ec6d56e2701686
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/fr-FR.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Vos remarques sont utilisées pour améliorer la documentation et le produit. Votre addresse e-mail ne sera pas utilisé à d'autres fins, et sera supprimée une fois que le problème que vous signalez sera résolu. Pendant la résolution du problème que vous signalez, il est possible que vous soyez contacté par e-mail pour obtenir des précisions ou des clarifications sur vos remarques. Une fois que le problème que vois signalez sera résolu, il est possible que vous receviez un e-mail pour vous en informer.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Espaces de noms</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Ceci est une documentation préliminaire, sous réserve de modification.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Envoyez vos commentaires sur cette documentation à
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/it-IT.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/it-IT.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dc4d8e941519067e183e5c39f50545fc862a61fe
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/it-IT.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Spazio dei nomi</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Documentazione preliminare soggetta a variazioni.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Inviare suggerimenti o segnalare errori relativi a questo argomento a
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ja-JP.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ja-JP.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f086eedac8ecda2a3e23f59a2fd945ac5e62f07c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ja-JP.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Translations provided by TimberLandChapel -->
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">ドキュメント開発チームはドキュメントの品質向上にあなたのフィードバックを使用いたします。送信いただいたメールアドレスは他の用途に使用いたしません。問題が解決した後送信されたメールアドレスを破棄いたします。送信いただいた問題の処理において,詳細をお伺いする場合や問題の切り分けのためにコンタクトをとらせていただく場合がございます。</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">名前空間</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[これは仮のドキュメントであり、予告なく変更されます。]</p></item>
+
+	<item id="comments"><div class="feedbackLink">このトピックに対してコメントを送信
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ko-KR.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ko-KR.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0c8933e7cf5da6212bde1707a9a07c60d1979dbf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ko-KR.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">네임스페이스</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">내용에 문의사항이 있는 경우 우측의 메일 주소로 연락 바랍니다.
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/pt-BR.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/pt-BR.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4615972060066fb9b3206afc1a356166c160fea2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/pt-BR.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Espaços de Nome</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Esta é uma documentação preliminar e está sujeita a alterações.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Envie comentários sobre este tópico para
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ru-RU.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ru-RU.xml
new file mode 100644
index 0000000000000000000000000000000000000000..41a92cf11ac2bdc85089a4eec2d92dd35820e597
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/ru-RU.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Ваш отзыв будет использован для улучшения качества документации и продукта в целом. Адрес вашей электронной почты не будет использован для других целей и будет удалён, после того как ваш отзыв будет обработан. До окончания работ по обработке вашего отзыва, вы можете связаться с автором для получения дополнительной информации. После его обработки, вы можете получить сообщение об окончании работ по вашему отзыву на указанный адрес электронной почты.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">Пространства имен</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[Это предварительная версия документации. API может измениться в будущем.]</p></item>
+
+	<item id="comments"><div class="feedbackLink">Отправить комментарий по этой теме в
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/zh-CHS.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/zh-CHS.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6ecfd41c2795dead25278822571d2a64f3116b7d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/zh-CHS.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">命名空间</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[这是一个初步的说明文档有待于进一步改进。]</p></item>
+
+	<item id="comments"><div class="feedbackLink">如果您对本产品的帮助或其他功能有任何建议或需要报告 Bug,请发送邮件到
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/zh-CN.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/zh-CN.xml
new file mode 100644
index 0000000000000000000000000000000000000000..71f74666f3c59c6a6dc9bc9fdbbf6c449e3b5ad5
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/SHFBContent/zh-CN.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<content xml:space="preserve">
+	<!-- NOTE: This file must appear LAST in the list of content files so that these items override the matching
+						 items in the stock content files! -->
+
+	<!-- Note that the copyright item in the shared content is not used. The following items are used instead. -->
+	<item id="copyright_info">{@HtmlEncCopyrightInfo}</item>
+	<item id="copyright_link">{@HtmlEncCopyrightHref}</item>
+	<item id="copyright_text">{@HtmlEncCopyrightText}</item>
+
+	<item id="header"><span class="introStyle">{@HeaderText}</span> {@Preliminary}</item>
+	<item id="footer_content">{@FooterText}{@Copyright}{@Comments}</item>
+	<item id="feedback_body">Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.</item>
+
+	<!-- reference_content.xml overrides -->
+	<item id="topicTitle_root">{@RootNamespaceTitle}</item>
+    <!-- This is used when a title is not specified in the project -->
+    <item id="rootTopicTitleLocalized">命名空间</item>
+
+	<item id="productTitle">{@HtmlEncHelpTitle}</item>
+	<item id="runningHeaderText">{@HtmlEncHelpTitle}</item>
+
+	<!-- shared_content.xml overrides -->
+	<item id="locale">{@Locale}</item>
+	<item id="brandingLocaleCss">branding-{@LocaleMixedCase}.css</item>
+
+	<item id="preliminary"><p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[本文档仅为初稿,以后可能会有变更。]</p></item>
+
+	<item id="comments"><div class="feedbackLink">有关这个主题的评论请发邮件到
+        <a id="HT_MailLink" href="mailto:{@UrlEncFeedbackEMailAddress}?Subject={@UrlEncHelpTitle}">{@HtmlEncFeedbackEMailAddress}</a></div>
+        <script type="text/javascript">
+        var HT_mailLink = document.getElementById("HT_MailLink");
+        var HT_mailLinkText = HT_mailLink.innerHTML;
+        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("<include item='feedback_body' />");
+        HT_mailLink.innerHTML = HT_mailLinkText;
+        </script></item>
+
+	<!-- To format the copyright HREF and/or copyright text into a message of your choosing, you can specify
+			 @HtmlEncCopyrightHref and/or @HtmlEncCopyrightText in braces -->
+	<item id="copyright">{@HtmlEncCopyrightInfo}</item>
+
+	<!-- Request Example link -->
+	<item id="requestExample"><a id="HT_RequestExampleLink" href="{0}" target="_blank" rel="noopener noreferrer" class="button"
+		title="Request an example for this topic">Request Example</a>
+		<script type="text/javascript">
+		var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
+		var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
+				
+		if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
+			HT_requestExampleLink.href += "?title=";
+		else
+			HT_requestExampleLink.href += "?subject={@UrlEncHelpTitle}: ";
+
+		HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
+			encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
+			"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
+		HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
+		</script></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/codeTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/codeTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..6b21e446db8135ede0ae75ff1583a7345b0eaccd
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/codeTemplates.xsl
@@ -0,0 +1,405 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+	>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	Code languages
+	============================================================================================= -->
+
+	<!-- This gets the language ID for syntax section and code example titles -->
+	<xsl:template name="t_codeLang">
+		<xsl:param name="p_codeLang"/>
+		<xsl:variable name="v_codeLangLC" select="translate($p_codeLang,$g_allUpperCaseLetters,$g_allLowerCaseLetters)"/>
+		<xsl:choose>
+			<!-- Languages without a syntax generator.  The presentation style content files will contain any required
+					 resource items for these (i.e. devlang_HTML). -->
+			<xsl:when test="$v_codeLangLC = 'html' or $v_codeLangLC = 'htm'">
+				<xsl:text>HTML</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'bat' or $v_codeLangLC = 'batch'">
+				<xsl:text>batch</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'pshell' or $v_codeLangLC = 'powershell' or $v_codeLangLC = 'ps1'">
+				<xsl:text>PShell</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'py'">
+				<xsl:text>Python</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'sql' or $v_codeLangLC = 'sqlserver' or $v_codeLangLC = 'sql server'">
+				<xsl:text>SQL</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vbs' or $v_codeLangLC = 'vbscript'">
+				<xsl:text>VBScript</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'vb-c#' or $v_codeLangLC = 'visualbasicandcsharp'">
+				<xsl:text>VisualBasicAndCSharp</xsl:text>
+			</xsl:when>
+			<xsl:when test="$v_codeLangLC = 'xml' or $v_codeLangLC = 'xmllang' or $v_codeLangLC = 'xsl'">
+				<xsl:text>XML</xsl:text>
+			</xsl:when>
+			<!-- Special case for XAML.  It has a syntax generator but we treat the code elements differently and must
+					 use a common ID. -->
+			<xsl:when test="$v_codeLangLC = 'xaml' or $v_codeLangLC = 'xamlusage'">
+				<xsl:text>XAML</xsl:text>
+			</xsl:when>
+			<!-- None/other.  No resource items are needed for these. -->
+			<xsl:when test="$v_codeLangLC = 'none' or $v_codeLangLC = 'other'">
+				<xsl:value-of select="$v_codeLangLC"/>
+			</xsl:when>
+			<!-- If none of the above, assume it is a language with a syntax generator.  The syntax generator content
+					 files will contain any required resource items for the language. -->
+			<xsl:otherwise>
+				<xsl:value-of select="$p_codeLang"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- This gets the language name for metadata -->
+	<xsl:template name="t_codeLangName">
+		<xsl:param name="p_codeLang"/>
+		<xsl:variable name="v_codeLangUnique">
+			<xsl:call-template name="t_codeLang">
+				<xsl:with-param name="p_codeLang" select="$p_codeLang"/>
+			</xsl:call-template>
+		</xsl:variable>
+		<xsl:choose>
+			<xsl:when test="$v_codeLangUnique = 'none' or $v_codeLangUnique = 'other'" />
+			<xsl:otherwise>
+				<xsl:value-of select="$v_codeLangUnique"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Syntax and Code sections
+	============================================================================================= -->
+
+	<xsl:template name="t_putSyntaxSections">
+		<xsl:param name="p_nodes"/>
+
+		<xsl:variable name="v_id" select="generate-id(msxsl:node-set($p_nodes))" />
+
+		<!-- Count non-XAML snippets and XAML snippets with something other than boilerplate content -->
+		<xsl:variable name="v_nodeCount" select="count(msxsl:node-set($p_nodes)/self::node()[@codeLanguage != 'XAML' or
+			(@codeLanguage = 'XAML' and boolean(./div[@class='xamlAttributeUsageHeading' or
+			@class='xamlObjectElementUsageHeading' or @class='xamlContentElementUsageHeading' or
+			@class='xamlPropertyElementUsageHeading']))])" />
+
+		<div class="codeSnippetContainer">
+			<div class="codeSnippetContainerTabs">
+				<xsl:for-each select="msxsl:node-set($p_nodes)">
+					<xsl:choose>
+						<!-- Suppress tabs for boilerplate XAML which isn't currently shown -->
+						<xsl:when test="@codeLanguage='XAML' and not(boolean(./div[
+										@class='xamlAttributeUsageHeading' or @class='xamlObjectElementUsageHeading' or
+										@class='xamlContentElementUsageHeading' or @class='xamlPropertyElementUsageHeading']))" />
+						<xsl:otherwise>
+							<div id="{$v_id}_tab{position()}">
+								<xsl:attribute name="class">
+									<xsl:choose>
+										<xsl:when test="$v_nodeCount = 1">
+											<xsl:text>codeSnippetContainerTabSingle</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:text>codeSnippetContainerTab</xsl:text>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:attribute>
+								<xsl:choose>
+									<xsl:when test="$v_nodeCount = 1">
+										<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<!-- Use onclick rather than href or HV 2.0 messes up the link -->
+										<a href="#" onclick="javascript:ChangeTab('{$v_id}','{@style}','{position()}','{$v_nodeCount}');return false;">
+											<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+										</a>
+									</xsl:otherwise>
+								</xsl:choose>
+							</div>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:for-each>
+			</div>
+
+			<div class="codeSnippetContainerCodeContainer">
+				<div class="codeSnippetToolBar">
+					<div class="codeSnippetToolBarText">
+						<a id="{$v_id}_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('{$v_id}');return false;">
+							<includeAttribute name="title" item="copyCode" />
+							<include item="copyCode" />
+						</a>
+					</div>
+				</div>
+
+				<xsl:for-each select="msxsl:node-set($p_nodes)">
+					<xsl:choose>
+						<!-- Suppress snippets for boilerplate XAML which isn't currently shown -->
+						<xsl:when test="@codeLanguage='XAML' and not(boolean(./div[
+										@class='xamlAttributeUsageHeading' or @class='xamlObjectElementUsageHeading' or
+										@class='xamlContentElementUsageHeading' or @class='xamlPropertyElementUsageHeading']))" />
+						<xsl:otherwise>
+							<div id="{$v_id}_code_Div{position()}" class="codeSnippetContainerCode">
+								<xsl:attribute name="style">
+									<xsl:choose>
+										<xsl:when test="$v_nodeCount = 1 or position() = 1">
+											<xsl:text>display: block</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:text>display: none</xsl:text>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:attribute>
+								<xsl:choose>
+									<xsl:when test="@codeLanguage='XAML'">
+										<xsl:call-template name="XamlSyntaxBlock" />
+									</xsl:when>
+									<xsl:otherwise>
+										<pre xml:space="preserve"><xsl:copy-of select="node()"/></pre>
+									</xsl:otherwise>
+								</xsl:choose>
+							</div>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:for-each>
+			</div>
+		</div>
+
+		<!-- Register the tab set even for single tabs as we may need to hide the Copy link -->
+		<script type="text/javascript">AddLanguageTabSet("<xsl:value-of select="$v_id" />");</script>
+	</xsl:template>
+
+	<xsl:template name="t_putCodeSections">
+		<xsl:param name="p_nodes"/>
+
+		<xsl:variable name="v_id" select="generate-id(msxsl:node-set($p_nodes))" />
+		<xsl:variable name="v_nodeCount" select="count(msxsl:node-set($p_nodes))" />
+
+		<div class="codeSnippetContainer">
+			<xsl:choose>
+				<!-- Omit the tab if there is a title attribute with a single space -->
+				<xsl:when test="$v_nodeCount = 1 and msxsl:node-set($p_nodes)//@title = ' '" />
+				<xsl:otherwise>
+					<div class="codeSnippetContainerTabs">
+						<xsl:for-each select="msxsl:node-set($p_nodes)">
+							<div id="{$v_id}_tab{position()}">
+								<xsl:attribute name="class">
+									<xsl:choose>
+										<xsl:when test="$v_nodeCount = 1">
+											<xsl:text>codeSnippetContainerTabSingle</xsl:text>
+										</xsl:when>
+										<xsl:when test="@phantom">
+											<xsl:text>codeSnippetContainerTabPhantom</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:text>codeSnippetContainerTab</xsl:text>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:attribute>
+								<xsl:choose>
+									<xsl:when test="$v_nodeCount = 1">
+										<xsl:choose>
+											<xsl:when test="@title">
+												<xsl:value-of select="@title" />
+											</xsl:when>
+											<xsl:otherwise>
+												<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+											</xsl:otherwise>
+										</xsl:choose>
+									</xsl:when>
+									<xsl:otherwise>
+										<!-- Use onclick rather than href or HV 2.0 messes up the link -->
+										<a href="#" onclick="javascript:ChangeTab('{$v_id}','{@style}','{position()}','{$v_nodeCount}');return false;">
+											<include item="devlang_{@codeLanguage}" undefined="{@codeLanguage}"/>
+										</a>
+									</xsl:otherwise>
+								</xsl:choose>
+							</div>
+						</xsl:for-each>
+					</div>
+				</xsl:otherwise>
+			</xsl:choose>
+
+			<div class="codeSnippetContainerCodeContainer">
+				<div class="codeSnippetToolBar">
+					<div class="codeSnippetToolBarText">
+						<a id="{$v_id}_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('{$v_id}');return false;">
+							<includeAttribute name="title" item="copyCode" />
+							<include item="copyCode" />
+						</a>
+					</div>
+				</div>
+
+				<xsl:for-each select="msxsl:node-set($p_nodes)">
+					<div id="{$v_id}_code_Div{position()}" class="codeSnippetContainerCode">
+						<xsl:attribute name="style">
+							<xsl:choose>
+								<xsl:when test="$v_nodeCount = 1 or position() = 1">
+									<xsl:text>display: block</xsl:text>
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:text>display: none</xsl:text>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:attribute>
+						<xsl:choose>
+							<xsl:when test="@phantom">
+								<include item="noCodeExample" />
+							</xsl:when>
+							<xsl:otherwise>
+								<pre xml:space="preserve"><xsl:copy-of select="node()"/></pre>
+							</xsl:otherwise>
+						</xsl:choose>
+					</div>
+				</xsl:for-each>
+			</div>
+		</div>
+
+		<!-- Register the tab set even for single tabs as we may need to hide the Copy link -->
+		<script type="text/javascript">AddLanguageTabSet("<xsl:value-of select="$v_id" />");</script>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	XAML Syntax
+	============================================================================================= -->
+
+	<xsl:template name="XamlSyntaxBlock">
+		<!-- Branch based on page type -->
+		<xsl:choose>
+			<!-- Display boilerplate for page types that cannot be used in XAML -->
+			<xsl:when test="$g_apiTopicSubGroup='method' or $g_apiTopicSubGroup='constructor' or
+                      $g_apiTopicSubGroup='interface' or $g_apiTopicSubGroup='delegate' or
+                      $g_apiTopicSubGroup='field'">
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate"/>
+			</xsl:when>
+
+			<!-- Class and structure -->
+			<xsl:when test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='structure'">
+				<xsl:choose>
+					<xsl:when test="div[@class='xamlObjectElementUsageHeading']">
+						<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+							<xsl:with-param name="autogenContent">
+								<xsl:copy-of select="div[@class='xamlObjectElementUsageHeading']"/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+							<xsl:with-param name="p_messageId">
+								<xsl:copy-of select="."/>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Enumeration -->
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:choose>
+					<xsl:when test="div[@class='nonXamlAssemblyBoilerplate']"/>
+					<xsl:otherwise>
+						<pre xml:space="preserve"><include item="enumerationOverviewXamlSyntax"/><xsl:text/></pre>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+			<!-- Property -->
+			<xsl:when test="$g_apiTopicSubGroup='property' or $g_apiTopicSubSubGroup='attachedProperty'">
+				<!-- Property Element Usage -->
+				<xsl:if test="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlPropertyElementUsageHeading' or @class='xamlContentElementUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Attribute Usage -->
+				<xsl:if test="div[@class='xamlAttributeUsageHeading']">
+					<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+						<xsl:with-param name="autogenContent">
+							<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+				<!-- Show auto-generated boilerplate if no other content to override it -->
+				<xsl:if test="not(div[@class='xamlPropertyElementUsageHeading' or
+								@class='xamlContentElementUsageHeading' or @class='xamlAttributeUsageHeading'])">
+					<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+						<xsl:with-param name="p_messageId">
+							<xsl:copy-of select="div/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+			</xsl:when>
+
+			<!-- Event -->
+			<xsl:when test="$g_apiTopicSubGroup='event' or $g_apiTopicSubSubGroup='attachedEvent'">
+				<!-- If XamlSyntaxUsage component generated an Attribute Usage block, this template will show it -->
+				<xsl:call-template name="ShowAutogeneratedXamlSyntax">
+					<xsl:with-param name="autogenContent">
+						<xsl:copy-of select="div[@class='xamlAttributeUsageHeading']"/>
+					</xsl:with-param>
+				</xsl:call-template>
+				<!-- If XamlSyntaxUsage component generated a boilerplate block, this template will show it -->
+				<xsl:call-template name="ShowXamlSyntaxBoilerplate">
+					<xsl:with-param name="p_messageId">
+						<xsl:copy-of select="div/*"/>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:when>
+
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- Displays one of the standard XAML boilerplate strings. -->
+	<xsl:template name="ShowXamlSyntaxBoilerplate">
+		<xsl:param name="p_messageId"/>
+
+		<!-- Do not show any XAML syntax boilerplate strings -->
+		<xsl:variable name="boilerplateId"/>
+
+		<!-- If future requirements call for showing one or more boilerplate strings for XAML, use the commented out
+				 code to specify the ids of the shared content items to include.
+         NOTE: The markup like div/@class='interfaceOverviewXamlSyntax' is added by XamlUsageSyntax.cs in
+				 BuildAssembler. -->
+		<!--
+    <xsl:variable name="boilerplateId">
+      <xsl:value-of select="div/@class[.='interfaceOverviewXamlSyntax' or
+                    .='propertyXamlSyntax_abstractType' or                    
+                    .='classXamlSyntax_abstract']"/>
+    </xsl:variable>
+    -->
+
+		<xsl:if test="$boilerplateId != ''">
+			<pre xml:space="preserve"><include item="{$boilerplateId}">
+          <xsl:choose>
+            <xsl:when test="$p_messageId !='' or (count(msxsl:node-set($p_messageId)/*) &gt; 0)">
+              <parameter><xsl:copy-of select="msxsl:node-set($p_messageId)"/></parameter>
+            </xsl:when>
+            <!-- Make sure we at least pass in an empty param because some boilerplates expect them -->
+            <xsl:otherwise>
+              <parameter/>
+            </xsl:otherwise>
+          </xsl:choose>
+        </include><xsl:text/></pre>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Displays the auto-generated XAML syntax for page types other than enumerations -->
+	<xsl:template name="ShowAutogeneratedXamlSyntax">
+		<xsl:param name="autogenContent"/>
+		<xsl:if test="count(msxsl:node-set($autogenContent))>0">
+			<xsl:for-each select="msxsl:node-set($autogenContent)/div">
+				<pre xml:space="preserve"><xsl:copy-of select="node()"/><xsl:text/></pre>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualMetadataHelp20.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualMetadataHelp20.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..d146cdae34245b59fab3f3b49476ec1cefe1ae0a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualMetadataHelp20.xsl
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp20">
+		<xsl:if test="$metadata='true'">
+			<xml>
+				<!-- mshelp metadata -->
+
+				<!-- insert toctitle -->
+				<xsl:if test="normalize-space(/document/metadata/tableOfContentsTitle) and (/document/metadata/tableOfContentsTitle != /document/metadata/title)">
+					<MSHelp:TOCTitle Title="{/document/metadata/tableOfContentsTitle}" />
+				</xsl:if>
+
+				<!-- link index -->
+				<MSHelp:Keyword Index="A"
+												Term="{$key}" />
+
+				<!-- authored NamedUrlIndex -->
+				<xsl:for-each select="/document/metadata/keyword[@index='NamedUrlIndex']">
+					<MSHelp:Keyword Index="NamedUrlIndex">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- authored K -->
+				<xsl:variable name="v_docset"
+											select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),$g_allUpperCaseLetters,'abcdefghijklmnopqrstuvwxyz ')"/>
+				<xsl:for-each select="/document/metadata/keyword[@index='K']">
+					<xsl:variable name="v_nestedKeywordText">
+						<xsl:call-template name="t_nestedKeywordText"/>
+					</xsl:variable>
+					<xsl:choose>
+						<xsl:when test="not(contains(text(),'[')) and ($v_docset='avalon' or $v_docset='wpf' or $v_docset='wcf' or $v_docset='windowsforms')">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="meta_kIndexTermWithTechQualifier">
+									<parameter>
+										<xsl:value-of select="text()"/>
+									</parameter>
+									<parameter>
+										<xsl:value-of select="$v_docset"/>
+									</parameter>
+									<parameter>
+										<xsl:value-of select="$v_nestedKeywordText"/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:when>
+						<xsl:otherwise>
+							<MSHelp:Keyword Index="K"
+															Term="{concat(text(),$v_nestedKeywordText)}" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:for-each>
+
+				<!-- authored S -->
+				<xsl:for-each select="/document/metadata/keyword[@index='S']">
+					<MSHelp:Keyword Index="S">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='S']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+					<!-- S index keywords need to be converted to F index keywords -->
+					<MSHelp:Keyword Index="F">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='S']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- authored F -->
+				<xsl:for-each select="/document/metadata/keyword[@index='F']">
+					<MSHelp:Keyword Index="F">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='F']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- authored B -->
+				<xsl:for-each select="/document/metadata/keyword[@index='B']">
+					<MSHelp:Keyword Index="B">
+						<xsl:attribute name="Term">
+							<xsl:value-of select="text()" />
+							<xsl:for-each select="keyword[@index='B']">
+								<xsl:text>, </xsl:text>
+								<xsl:value-of select="text()"/>
+							</xsl:for-each>
+						</xsl:attribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+
+				<!-- Topic version -->
+				<MSHelp:Attr Name="RevisionNumber"
+										 Value="{/document/topic/@revisionNumber}" />
+
+				<!-- Asset ID -->
+				<MSHelp:Attr Name="AssetID"
+										 Value="{/document/topic/@id}" />
+
+				<!-- Abstract -->
+				<xsl:variable name="v_abstract" select="normalize-space(string(/document/topic//ddue:para[1]))" />
+				<xsl:choose>
+					<xsl:when test="string-length($v_abstract) &gt; 254">
+						<MSHelp:Attr Name="Abstract" Value="{concat(substring($v_abstract,1,250), ' ...')}" />
+					</xsl:when>
+					<xsl:when test="string-length($v_abstract) &gt; 0 and $v_abstract != '&#160;'">
+						<MSHelp:Attr Name="Abstract" Value="{$v_abstract}" />
+					</xsl:when>
+				</xsl:choose>
+
+				<!-- Auto-generate DevLang attributes based on the snippets -->
+				<xsl:for-each select="//*[@language]">
+					<xsl:if test="not(@language=preceding::*/@language)">
+						<xsl:variable name="v_codeLang">
+							<xsl:call-template name="t_codeLang">
+								<xsl:with-param name="p_codeLang" select="@language"/>
+							</xsl:call-template>
+						</xsl:variable>
+						<xsl:choose>
+							<xsl:when test="$v_codeLang='none' or $v_codeLang='other'"/>
+							<!-- If $v_codeLang is already authored, then do nothing -->
+							<xsl:when test="/document/metadata/attribute[@name='codelang']/text() = $v_codeLang"/>
+							<xsl:otherwise>
+								<MSHelp:Attr Name="DevLang">
+									<includeAttribute name="Value" item="metaLang_{$v_codeLang}" undefined="{$v_codeLang}"/>
+								</MSHelp:Attr>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:if>
+				</xsl:for-each>
+
+				<!-- authored attributes -->
+				<xsl:for-each select="/document/metadata/attribute">
+					<MSHelp:Attr Name="{@name}" Value="{text()}" />
+				</xsl:for-each>
+
+				<!-- TopicType attribute -->
+				<xsl:for-each select="/document/topic/*[1]">
+					<MSHelp:Attr Name="TopicType">
+						<includeAttribute name="Value" item="meta_mshelp_topicType_{local-name()}"/>
+					</MSHelp:Attr>
+				</xsl:for-each>
+
+				<!-- Locale attribute -->
+				<MSHelp:Attr Name="Locale">
+					<includeAttribute name="Value" item="locale"/>
+				</MSHelp:Attr>
+
+			</xml>
+		</xsl:if>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualMetadataHelp30.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualMetadataHelp30.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..adaabee08a6bdb4c6d0206d7786a137c3cc34f0e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualMetadataHelp30.xsl
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+	>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="conceptualTopicTypes.xsl"/>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp30">
+
+		<!-- System.Language -->
+		<meta name="Language">
+			<includeAttribute name="content" item="locale" />
+		</meta>
+
+		<!-- System.Title -->
+		<!-- <title> is set elsewhere -->
+
+		<!-- System.Keywords -->
+		<xsl:call-template name="t_insertKeywordsF1Metadata" />
+
+		<!-- Microsoft.Help.Id -->
+		<meta name="Microsoft.Help.Id" content="{/document/topic/@id}" />
+
+		<!-- Microsoft.Help.Description -->
+		<xsl:variable name="v_abstract" select="normalize-space(string(/document/topic//ddue:para[1]))" />
+		<xsl:variable name="v_description">
+			<xsl:call-template name="t_getTrimmedAtPeriod">
+				<xsl:with-param name="p_string" select="$v_abstract" />
+			</xsl:call-template>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_description)">
+			<meta name="Description">
+				<xsl:attribute name="content">
+					<xsl:value-of select="normalize-space($v_description)"/>
+				</xsl:attribute>
+			</meta>
+		</xsl:if>
+
+		<!-- Microsoft.Help.TocParent -->
+		<xsl:if test="/document/metadata/attribute[@name='TOCParent']">
+			<meta name="Microsoft.Help.TocParent" content="{/document/metadata/attribute[@name='TOCParent']}" />
+		</xsl:if>
+		<xsl:if test="/document/metadata/attribute[@name='TOCOrder']">
+			<meta name="Microsoft.Help.TocOrder" content="{/document/metadata/attribute[@name='TOCOrder']}" />
+		</xsl:if>
+
+		<!-- Microsoft.Help.Category -->
+		<xsl:for-each select="/document/metadata/attribute[@name='Category']">
+			<meta name="Microsoft.Help.Category" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentFilter -->
+		<xsl:for-each select="/document/metadata/attribute[@name='ContentFilter']">
+			<meta name="Microsoft.Help.ContentFilter" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentType -->
+		<xsl:variable name="v_contentTypeDocStudio">
+			<xsl:variable name="v_lookupValue">
+				<xsl:value-of select="local-name(/document/topic/*[1])"/>
+			</xsl:variable>
+			<xsl:value-of select="msxsl:node-set($g_topicTypes)/topic[@name = $v_lookupValue]/@contentType"/>
+		</xsl:variable>
+
+		<xsl:variable name="v_contentTypeTopicType">
+			<xsl:variable name="v_lookupValue">
+				<xsl:value-of select="translate(/document/metadata/topicType/@id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+			</xsl:variable>
+			<xsl:value-of select="msxsl:node-set($g_topicTypes)/topic[@guid = $v_lookupValue]/@contentType"/>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="$v_contentTypeDocStudio">
+				<meta name="Microsoft.Help.ContentType" content="{$v_contentTypeDocStudio}" />
+			</xsl:when>
+			<xsl:when test="$v_contentTypeTopicType">
+				<meta name="Microsoft.Help.ContentType" content="{$v_contentTypeTopicType}" />
+			</xsl:when>
+		</xsl:choose>
+
+		<!-- Microsoft.Package.Book -->
+		<xsl:variable name="Book" select="/document/metadata/attribute[@name='Book']/text()" />
+		<xsl:if test="$Book">
+			<meta name="Microsoft.Package.Book" content="{$Book}" />
+		</xsl:if>
+
+		<!-- Source -->
+		<xsl:for-each select="/document/metadata/attribute[@name='Source']">
+			<meta name="Source" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Branding aware.  This prevents the MSHC Component from changing a couple of CSS style names. -->
+		<meta name="BrandingAware" content="true"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertKeywordsF1Metadata">
+
+		<!-- authored K -->
+		<xsl:variable name="v_docset"
+									select="translate(/document/metadata/attribute[@name='DocSet'][1]/text(),$g_allUpperCaseLetters,'abcdefghijklmnopqrstuvwxyz ')"/>
+		<xsl:for-each select="/document/metadata/keyword[@index='K']">
+			<xsl:variable name="v_nestedKeywordText">
+				<xsl:call-template name="t_nestedKeywordText"/>
+			</xsl:variable>
+			<xsl:choose>
+				<xsl:when test="not(contains(text(),'[')) and ($v_docset='avalon' or $v_docset='wpf' or $v_docset='wcf' or $v_docset='windowsforms')">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="meta_kIndexTermWithTechQualifier">
+							<parameter>
+								<xsl:value-of select="text()"/>
+							</parameter>
+							<parameter>
+								<xsl:value-of select="$v_docset"/>
+							</parameter>
+							<parameter>
+								<xsl:value-of select="$v_nestedKeywordText"/>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:when>
+				<xsl:otherwise>
+					<meta name="System.Keywords"
+								content="{concat(text(),$v_nestedKeywordText)}" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+		<!-- authored F -->
+		<xsl:for-each select="/document/metadata/keyword[@index='F']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='F']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+		<!-- authored B -->
+		<xsl:for-each select="/document/metadata/keyword[@index='B']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='B']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualTopicTypes.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualTopicTypes.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..32effac2e6940a26d7c4ef1e85adb0a539cb838e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/conceptualTopicTypes.xsl
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0"
+								xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								exclude-result-prefixes="msxsl"
+>
+	<xsl:variable name="g_topicTypes">
+		<topic guid="EF7DDB37-8ED3-4DFA-B38D-5A3CC1906034"
+					 name=""
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="1FE70836-AA7D-4515-B54B-E10C4B516E50"
+					 name="developerConceptualDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="68F07632-C4C5-4645-8DFA-AC87DCB4BD54"
+					 name="developerSDKTechnologyOverviewArchitectureDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="CDB8C120-888F-447B-8AF8-F9540562E7CA"
+					 name="developerSDKTechnologyOverviewOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="356C57C4-384D-4AF2-A637-FDD6F088A033"
+					 name="developerSDKTechnologyOverviewScenariosDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="19F1BB0E-F32A-4D5F-80A9-211D92A8A715"
+					 name="developerSDKTechnologyOverviewTechnologySummaryDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="56DB00EC-28BA-4C0D-8694-28E8B244E236"
+					 name="developerWhitePaperDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+		<topic guid="B137C930-7BF7-48A2-A329-3ADCAEF8868E"
+					 name="developerOrientationDocument"
+					 contentType="Concepts"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="DAC3A6A0-C863-4E5B-8F65-79EFC6A4BA09"
+					 name="developerHowToDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4779DD54-5D0C-4CC3-9DB3-BF1C90B721B3"
+					 name="developerWalkthroughDocument"
+					 contentType="How To"
+					 seeAlsoGroup="Tasks"/>
+
+		<topic guid="A635375F-98C2-4241-94E7-E427B47C20B6"
+					 name="developerErrorMessageDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="95DADC4C-A2A6-447A-AA36-B6BE3A4F8DEC"
+					 name="developerReferenceWithSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="F9205737-4DEC-4A58-AA69-0E621B1236BD"
+					 name="developerReferenceWithoutSyntaxDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="38C8E0D1-D601-4DBA-AE1B-5BEC16CD9B01"
+					 name="developerTroubleshootingDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="B8ED9F21-39A4-4967-928D-160CD2ED9DCE"
+					 name="developerUIReferenceDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="3272D745-2FFC-48C4-9E9D-CF2B2B784D5F"
+					 name="developerXmlReference"
+					 contentType="Reference"
+					 seeAlsoGroup="Reference"/>
+		<topic guid="A689E19C-2687-4881-8CE1-652FF60CF46C"
+					 name="developerGlossaryDocument"
+					 contentType="Reference"
+					 seeAlsoGroup="Other Resources"/>
+
+		<topic guid="069EFD88-412D-4E2F-8848-2D5C3AD56BDE"
+					 name="developerSampleDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Tasks"/>
+		<topic guid="4BBAAF90-0E5F-4C86-9D31-A5CAEE35A416"
+					 name="developerSDKTechnologyOverviewCodeDirectoryDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Concepts"/>
+		<topic guid="4A273212-0AC8-4D72-8349-EC11CD2FF8CD"
+					 name="codeEntityDocument"
+					 contentType="Samples"
+					 seeAlsoGroup="Other Resources"/>
+	</xsl:variable>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/globalTemplates.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/globalTemplates.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..1506faa080371c674fccdb0b096c0eb98257e171
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/globalTemplates.xsl
@@ -0,0 +1,855 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+	>
+	<!-- ============================================================================================
+	Parameters
+	============================================================================================= -->
+
+	<xsl:param name="metadata">false</xsl:param>
+	<xsl:param name="languages">false</xsl:param>
+
+	<!-- Topic header logo parameters -->
+	<xsl:param name="logoFile" />
+	<xsl:param name="logoHeight" />
+	<xsl:param name="logoWidth" />
+	<xsl:param name="logoAltText" />
+	<xsl:param name="logoPlacement" />
+	<xsl:param name="logoAlignment" />
+	<xsl:param name="logoUrl" />
+
+	<!-- Default language parameter -->
+	<xsl:param name="defaultLanguage" select="string('cs')" />
+
+	<!-- ============================================================================================
+	Globals
+	============================================================================================= -->
+
+	<xsl:variable name="g_allUpperCaseLetters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
+	<xsl:variable name="g_allLowerCaseLetters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
+
+	<!-- ============================================================================================
+	String formatting
+	============================================================================================= -->
+
+	<!-- Gets the substring after the last occurrence of a period in a given string -->
+	<xsl:template name="t_getTrimmedLastPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:choose>
+			<xsl:when test="contains($p_string, '.')">
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string"
+													select="substring-after($p_string, '.')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="$p_string" />
+			</xsl:otherwise>
+		</xsl:choose>
+
+	</xsl:template>
+
+	<xsl:template name="t_getTrimmedAtPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:variable name="v_trimmedString"
+									select="substring(normalize-space($p_string), 1, 256)" />
+		<xsl:choose>
+			<xsl:when test="normalize-space($p_string) != $v_trimmedString">
+				<xsl:choose>
+					<xsl:when test="not(contains($v_trimmedString, '.'))">
+						<xsl:value-of select="$v_trimmedString"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:call-template name="t_getSubstringAndLastPeriod">
+							<xsl:with-param name="p_string"
+															select="$v_trimmedString" />
+						</xsl:call-template>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="normalize-space($p_string)"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_getSubstringAndLastPeriod">
+		<xsl:param name="p_string" />
+
+		<xsl:if test="contains($p_string, '.')">
+			<xsl:variable name="v_after"
+										select="substring-after($p_string, '.')" />
+			<xsl:value-of select="concat(substring-before($p_string, '.'),'.')" />
+			<xsl:if test="contains($v_after, '.')">
+				<xsl:call-template name="t_getSubstringAndLastPeriod">
+					<xsl:with-param name="p_string"
+													select="$v_after" />
+				</xsl:call-template>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- indent by 2*n spaces -->
+	<xsl:template name="t_putIndent">
+		<xsl:param name="p_count" />
+		<xsl:if test="$p_count &gt; 1">
+			<xsl:text>&#160;&#160;</xsl:text>
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count"
+												select="$p_count - 1" />
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	LanguageSpecific text
+
+	NOTE - the MSHCComponent recognizes these bits and post-processes them into the format used
+	       by the MS Help Viewer.
+	============================================================================================= -->
+
+	<xsl:template name="t_decoratedNameSep">
+		<span class="languageSpecificText">
+			<span class="cpp">::</span>
+			<span class="nu">.</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template name="t_nullKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Nothing</span>
+						<span class="cpp">nullptr</span>
+						<span class="nu">null</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_nullKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_staticKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Shared</span>
+						<span class="nu">static</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_staticKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_virtualKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Overridable</span>
+						<span class="nu">virtual</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_virtualKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_trueKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">True</span>
+						<span class="nu">true</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_trueKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_falseKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">False</span>
+						<span class="nu">false</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_falseKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_abstractKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">MustInherit</span>
+						<span class="nu">abstract</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_abstractKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_sealedKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">NotInheritable</span>
+						<span class="nu">sealed</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_sealedKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_inKeyword">
+		<span class="keyword">
+			<span class="languageSpecificText">
+				<span class="vb">In</span>
+				<span class="fs"></span>
+				<span class="nu">in</span>
+			</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template name="t_outKeyword">
+		<span class="keyword">
+			<span class="languageSpecificText">
+				<span class="vb">Out</span>
+				<span class="fs"></span>
+				<span class="nu">out</span>
+			</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template name="t_asyncKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Async</span>
+						<span class="nu">async</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_asyncKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_awaitKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Await</span>
+						<span class="fs">let!</span>
+						<span class="nu">await</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_awaitKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_asyncAwaitKeyword">
+		<xsl:param name="p_syntaxKeyword" select="''"/>
+		<xsl:choose>
+			<xsl:when test="$p_syntaxKeyword">
+				<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Async</span>
+						<span class="nu">async</span>
+					</span>
+				</span>/<span class="keyword">
+					<span class="languageSpecificText">
+						<span class="vb">Await</span>
+						<span class="fs">let!</span>
+						<span class="nu">await</span>
+					</span>
+				</span>
+			</xsl:when>
+			<xsl:otherwise>
+				<span>
+					<include item="devlang_asyncAwaitKeyword"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Common metadata
+	============================================================================================= -->
+
+	<xsl:template name="t_insertNoIndexNoFollow">
+		<xsl:if test="/document/metadata/attribute[@name='NoSearch']">
+			<meta name="robots" content="noindex, nofollow" />
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Page title and optional logo
+	============================================================================================= -->
+
+	<xsl:template name="t_pageTitle">
+		<xsl:variable name="placementLC" select="translate($logoPlacement, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
+		<xsl:variable name="alignmentLC" select="translate($logoAlignment, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
+		<table class="titleTable">
+			<xsl:if test="normalize-space($logoFile) and $placementLC = 'above'">
+				<tr>
+					<td colspan="2" class="logoColumnAbove">
+						<xsl:attribute name="align">
+							<xsl:choose>
+								<xsl:when test="normalize-space($alignmentLC)">
+									<xsl:value-of select="$alignmentLC"/>
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:text>left</xsl:text>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:attribute>
+						<xsl:call-template name="logoImage" />
+					</td>
+				</tr>
+			</xsl:if>
+			<tr>
+				<xsl:if test="normalize-space($logoFile) and $placementLC = 'left'">
+					<td class="logoColumn">
+						<xsl:call-template name="logoImage" />
+					</td>
+				</xsl:if>
+				<td class="titleColumn">
+					<h1>
+						<include item="boilerplate_pageTitle">
+							<parameter>
+								<xsl:call-template name="t_topicTitleDecorated"/>
+							</parameter>
+						</include>
+					</h1>
+				</td>
+				<xsl:if test="normalize-space($logoFile) and $placementLC = 'right'">
+					<td class="logoColumn">
+						<xsl:call-template name="logoImage" />
+					</td>
+				</xsl:if>
+			</tr>
+		</table>
+	</xsl:template>
+
+	<xsl:template name="logoImage">
+		<xsl:choose>
+			<xsl:when test="normalize-space($logoUrl)">
+				<a target="_blank" rel="noopener noreferrer">
+					<xsl:attribute name="href">
+						<xsl:value-of select="$logoUrl"/>
+					</xsl:attribute>
+					<img>
+						<xsl:if test="normalize-space($logoAltText)">
+							<xsl:attribute name="alt">
+								<xsl:value-of select="$logoAltText" />
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:if test="normalize-space($logoWidth) and $logoWidth != '0'">
+							<xsl:attribute name="width">
+								<xsl:value-of select="$logoWidth" />
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:if test="normalize-space($logoHeight) and $logoHeight != '0'">
+							<xsl:attribute name="height">
+								<xsl:value-of select="$logoHeight" />
+							</xsl:attribute>
+						</xsl:if>
+						<includeAttribute name='src' item='iconPath'>
+							<parameter>
+								<xsl:value-of select="$logoFile"/>
+							</parameter>
+						</includeAttribute>
+					</img>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<img>
+					<xsl:if test="normalize-space($logoAltText)">
+						<xsl:attribute name="alt">
+							<xsl:value-of select="$logoAltText" />
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="normalize-space($logoWidth) and $logoWidth != '0'">
+						<xsl:attribute name="width">
+							<xsl:value-of select="$logoWidth" />
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="normalize-space($logoHeight) and $logoHeight != '0'">
+						<xsl:attribute name="height">
+							<xsl:value-of select="$logoHeight" />
+						</xsl:attribute>
+					</xsl:if>
+					<includeAttribute name='src' item='iconPath'>
+						<parameter>
+							<xsl:value-of select="$logoFile"/>
+						</parameter>
+					</includeAttribute>
+				</img>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	SeeAlso links
+	============================================================================================= -->
+
+	<xsl:template name="t_autogenSeeAlsoLinks">
+
+		<!-- a link to the containing type on all list and member topics -->
+		<xsl:if test="($g_apiTopicGroup='member' or $g_apiTopicGroup='list')">
+			<xsl:variable name="v_typeTopicId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/topicdata/@typeTopicId">
+						<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="/document/reference/containers/type/@api"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_typeTopicId}"
+											 display-target="format">
+					<include item="boilerplate_seeAlsoTypeLink">
+						<parameter>{0}</parameter>
+						<parameter>
+							<xsl:choose>
+								<xsl:when test="/document/reference/topicdata/@typeTopicId">
+									<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
+								</xsl:otherwise>
+							</xsl:choose>
+						</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+		<!-- a link to the type's All Members list -->
+		<xsl:variable name="v_allMembersId">
+			<xsl:choose>
+				<xsl:when test="/document/reference/topicdata/@allMembersTopicId">
+					<xsl:value-of select="/document/reference/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+				<xsl:when test="$g_apiTopicGroup='member' or ($g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload')">
+					<xsl:value-of select="/document/reference/containers/type/topicdata/@allMembersTopicId"/>
+				</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_allMembersId) and not($v_allMembersId=$key)">
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_allMembersId}"
+											 display-target="format">
+					<include item="boilerplate_seeAlsoMembersLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+		<!-- a link to the overload topic -->
+		<xsl:variable name="v_overloadId">
+			<xsl:value-of select="/document/reference/memberdata/@overload"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_overloadId)">
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_overloadId}"
+											 display-target="format"
+											 show-parameters="false">
+					<include item="boilerplate_seeAlsoOverloadLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+		<!-- a link to the namespace topic -->
+		<xsl:variable name="v_namespaceId">
+			<xsl:value-of select="/document/reference/containers/namespace/@api"/>
+		</xsl:variable>
+		<xsl:if test="normalize-space($v_namespaceId)">
+			<div class="seeAlsoStyle">
+				<referenceLink target="{$v_namespaceId}"
+											 display-target="format">
+					<include item="boilerplate_seeAlsoNamespaceLink">
+						<parameter>{0}</parameter>
+					</include>
+				</referenceLink>
+			</div>
+		</xsl:if>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Section headers
+	============================================================================================= -->
+
+	<xsl:template name="t_putSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+		<xsl:param name="p_toplink" select="false()" />
+		<xsl:param name="p_id" select="''" />
+
+		<xsl:variable name="togglePrefix" select="generate-id(msxsl:node-set($p_content))" />
+		<xsl:variable name="toggleImage" select="concat($togglePrefix,'Toggle')" />
+		<xsl:variable name="toggleSection" select="concat($togglePrefix,'Section')" />
+
+		<xsl:if test="normalize-space($p_title)">
+			<div class="collapsibleAreaRegion">
+				<xsl:if test="normalize-space($p_id)">
+					<xsl:attribute name="id">
+						<xsl:value-of select="$p_id"/>
+					</xsl:attribute>
+				</xsl:if>
+				<span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('{$togglePrefix}')"
+					onkeypress="SectionExpandCollapse_CheckKey('{$togglePrefix}', event)" tabindex="0">
+					<img id="{$toggleImage}" class="collapseToggle">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>SectionExpanded.png</parameter>
+						</includeAttribute>
+					</img>
+
+					<xsl:copy-of select="$p_title" />
+				</span>
+			</div>
+		</xsl:if>
+
+		<div id="{$toggleSection}" class="collapsibleSection">
+			<xsl:copy-of select="$p_content" />
+
+			<xsl:if test="boolean($p_toplink)">
+				<a href="#PageHeader">
+					<include item="top"/>
+				</a>
+			</xsl:if>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_putSectionInclude">
+		<xsl:param name="p_titleInclude" />
+		<xsl:param name="p_content" />
+		<xsl:param name="p_toplink" select="false()" />
+		<xsl:param name="p_id" select="''" />
+
+		<xsl:variable name="togglePrefix" select="generate-id(msxsl:node-set($p_content))" />
+		<xsl:variable name="toggleImage" select="concat($togglePrefix,'Toggle')" />
+		<xsl:variable name="toggleSection" select="concat($togglePrefix,'Section')" />
+
+		<xsl:if test="normalize-space($p_titleInclude)">
+			<div class="collapsibleAreaRegion">
+				<xsl:if test="normalize-space($p_id)">
+					<xsl:attribute name="id">
+						<xsl:value-of select="$p_id"/>
+					</xsl:attribute>
+				</xsl:if>
+				<span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('{$togglePrefix}')"
+					onkeypress="SectionExpandCollapse_CheckKey('{$togglePrefix}', event)" tabindex="0">
+					<img id="{$toggleImage}" class="collapseToggle">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>SectionExpanded.png</parameter>
+						</includeAttribute>
+					</img>
+
+					<include item="{$p_titleInclude}"/>
+				</span>
+			</div>
+		</xsl:if>
+
+		<div id="{$toggleSection}" class="collapsibleSection">
+			<xsl:copy-of select="$p_content" />
+
+			<xsl:if test="boolean($p_toplink)">
+				<a href="#PageHeader">
+					<include item="top"/>
+				</a>
+			</xsl:if>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_putSubSection">
+		<xsl:param name="p_title" />
+		<xsl:param name="p_content" />
+
+		<h4>
+			<xsl:attribute name="class">
+				<xsl:value-of select="'subHeading'"/>
+			</xsl:attribute>
+			<xsl:copy-of select="$p_title" />
+		</h4>
+		<xsl:copy-of select="$p_content" />
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template name="t_putAlert">
+		<xsl:param name="p_alertClass"
+							 select="@class"/>
+		<xsl:param name="p_alertContent"
+							 select="''"/>
+		<xsl:variable name="v_title">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note'">
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_title_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_title_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_title_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_title_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_title_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_title_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_title_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_title_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='implement'">
+					<xsl:text>text_NotesForImplementers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caller'">
+					<xsl:text>text_NotesForCallers</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='inherit'">
+					<xsl:text>text_NotesForInheritors</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_title_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_altTitle">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='tip'">
+					<xsl:text>alert_altText_tip</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>alert_altText_caution</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>alert_altText_security</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>alert_altText_important</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>alert_altText_visualBasic</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>alert_altText_visualC#</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>alert_altText_visualC++</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>alert_altText_visualJ#</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>alert_altText_note</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_noteImg">
+			<xsl:choose>
+				<xsl:when test="$p_alertClass='note' or $p_alertClass='tip' or $p_alertClass='implement' or $p_alertClass='caller' or $p_alertClass='inherit'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='caution' or $p_alertClass='warning'">
+					<xsl:text>AlertCaution.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='security' or $p_alertClass='security note'">
+					<xsl:text>AlertSecurity.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='important'">
+					<xsl:text>AlertCaution.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='vb' or $p_alertClass='VB' or $p_alertClass='VisualBasic' or $p_alertClass='visual basic note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cs' or $p_alertClass='CSharp' or $p_alertClass='c#' or $p_alertClass='C#' or $p_alertClass='visual c# note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='cpp' or $p_alertClass='c++' or $p_alertClass='C++' or $p_alertClass='CPP' or $p_alertClass='visual c++ note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:when test="$p_alertClass='JSharp' or $p_alertClass='j#' or $p_alertClass='J#' or $p_alertClass='visual j# note'">
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>AlertNote.png</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<div class="alert">
+			<table>
+				<tr>
+					<th>
+						<img>
+							<includeAttribute item="iconPath" name="src">
+								<parameter>
+									<xsl:value-of select="$v_noteImg"/>
+								</parameter>
+							</includeAttribute>
+							<includeAttribute name="alt" item="{$v_altTitle}"/>
+						</img>
+						<xsl:text>&#160;</xsl:text>
+						<include item="{$v_title}"/>
+					</th>
+				</tr>
+				<tr>
+					<td>
+						<xsl:choose>
+							<xsl:when test="$p_alertContent=''">
+								<xsl:apply-templates/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:copy-of select="$p_alertContent"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</td>
+				</tr>
+			</table>
+		</div>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Debugging template for showing an element in comments
+	============================================================================================= -->
+
+	<xsl:template name="t_dumpContent">
+		<xsl:param name="indent"
+							 select="''"/>
+		<xsl:param name="content"
+							 select="."/>
+		<xsl:for-each select="msxsl:node-set($content)">
+			<xsl:choose>
+				<xsl:when test="self::text()">
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="."/>
+					</xsl:comment>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:comment>
+						<xsl:value-of select="$indent"/>
+						<xsl:value-of select="'«'"/>
+						<xsl:value-of select="name()"/>
+						<xsl:for-each select="@*">
+							<xsl:text xml:space="preserve"> </xsl:text>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'='"/>
+							<xsl:value-of select="."/>
+						</xsl:for-each>
+						<xsl:choose>
+							<xsl:when test="./node()">
+								<xsl:value-of select="'»'"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="'/»'"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:comment>
+					<xsl:for-each select="node()">
+						<xsl:call-template name="t_dumpContent">
+							<xsl:with-param name="indent"
+															select="concat($indent,'  ')"/>
+						</xsl:call-template>
+					</xsl:for-each>
+					<xsl:if test="./node()">
+						<xsl:comment>
+							<xsl:value-of select="$indent"/>
+							<xsl:value-of select="'«/'"/>
+							<xsl:value-of select="name()"/>
+							<xsl:value-of select="'»'"/>
+						</xsl:comment>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/main_conceptual.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/main_conceptual.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..4bf4d25ec926f2efb556315465199b209d50858d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/main_conceptual.xsl
@@ -0,0 +1,496 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="codeTemplates.xsl"/>
+	<xsl:import href="utilities_dduexml.xsl"/>
+	<xsl:import href="seealso_dduexml.xsl"/>
+	<xsl:import href="conceptualMetadataHelp30.xsl"/>
+	<xsl:import href="conceptualMetadataHelp20.xsl"/>
+	<xsl:import href="utilities_bibliography.xsl"/>
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the api identifier string - see globalTemplates for others
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+	<xsl:param name="bibliographyData" select="'../data/bibliography.xml'"/>
+	<xsl:param name="changeHistoryOptions"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_hasSeeAlsoSection"
+								select="boolean(count(/document/topic/*/ddue:relatedTopics/*[local-name()!='sampleRef']) > 0)"/>
+
+	<xsl:variable name="g_apiGroup" select="/document/reference/apidata/@group"/>
+	<xsl:variable name="g_apiSubGroup" select="/document/reference/apidata/@subgroup"/>
+	<xsl:variable name="g_apiSubSubGroup" select="/document/reference/apidata/@subsubgroup"/>
+	<xsl:variable name="g_topicGroup" select="$g_apiGroup"/>
+	<xsl:variable name="g_topicSubGroup" select="$g_apiSubGroup"/>
+	<xsl:variable name="g_apiTopicGroup" select="$g_apiGroup"/>
+	<xsl:variable name="g_apiTopicSubGroup" select="$g_apiSubGroup"/>
+	<xsl:variable name="g_apiTopicSubSubGroup" select="$g_apiSubSubGroup"/>
+	<xsl:variable name="pseudo" select="boolean(/document/reference/apidata[@pseudo='true'])"/>
+
+	<!-- ============================================================================================
+	Document
+	============================================================================================= -->
+
+	<xsl:template match="/document" name="t_document">
+		<html>
+			<head>
+				<link rel="shortcut icon">
+					<includeAttribute name="href" item="iconPath">
+						<parameter>
+							<xsl:value-of select="'favicon.ico'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<xsl:value-of select="'branding.css'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<include item="brandingLocaleCss" />
+						</parameter>
+					</includeAttribute>
+				</link>
+				<script type="text/javascript">
+					<includeAttribute name="src" item="scriptPath">
+						<parameter>
+							<xsl:value-of select="'branding.js'"/>
+						</parameter>
+					</includeAttribute>
+					<xsl:text> </xsl:text>
+				</script>
+
+				<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+				<xsl:call-template name="t_insertNoIndexNoFollow"/>
+				<title>
+					<xsl:call-template name="t_topicTitlePlain"/>
+				</title>
+				<xsl:call-template name="t_insertMetadataHelp30"/>
+				<xsl:call-template name="t_insertMetadataHelp20"/>
+				<link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" />
+			</head>
+			<body onload="OnLoad('{$defaultLanguage}')">
+				<input type="hidden" id="userDataCache" class="userDataStyle" />
+				<div class="pageHeader" id="PageHeader">
+					<include item="runningHeaderText"/>
+				</div>
+				<div class="pageBody">
+					<div class="topicContent" id="TopicContent">
+						<xsl:call-template name="t_pageTitle"/>
+
+						<include item="header"/>
+
+						<xsl:call-template name="t_writeFreshnessDate">
+							<xsl:with-param name="p_changedHistoryDate"
+															select="/document/topic/*//ddue:section[ddue:title = 'Change History']/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1] |
+                    /document/topic/*/ddue:changeHistory/ddue:content/ddue:table/ddue:row[1]/ddue:entry[1]"/>
+						</xsl:call-template>
+
+						<xsl:apply-templates select="topic"/>
+
+						<xsl:call-template name="t_writeChangeHistorySection"/>
+					</div>
+				</div>
+				<div id="pageFooter" class="pageFooter">
+					<include item="footer_content" />
+				</div>
+        <include item="websiteAdContent" />
+      </body>
+		</html>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_nestedKeywordText">
+		<xsl:for-each select="keyword[@index='K']">
+			<xsl:text>, </xsl:text>
+			<xsl:value-of select="text()"/>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="t_topicTitlePlain">
+		<xsl:call-template name="t_topicTitle"/>
+	</xsl:template>
+
+	<xsl:template name="t_topicTitleDecorated">
+		<xsl:call-template name="t_topicTitle"/>
+	</xsl:template>
+
+	<xsl:template name="t_topicTitle">
+		<xsl:choose>
+			<xsl:when test="normalize-space(/document/metadata/title)">
+				<xsl:value-of select="normalize-space(/document/metadata/title)"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="normalize-space(/document/topic/*/ddue:title)"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections that behave differently in conceptual and reference
+	============================================================================================= -->
+
+	<xsl:template match="ddue:title">
+		<!-- don't print title -->
+	</xsl:template>
+
+	<xsl:template match="ddue:introduction">
+		<!-- Display the introduction only if it has content -->
+		<xsl:if test="count(*) &gt; 0">
+			<div class="introduction">
+				<xsl:if test="@address">
+					<xsl:attribute name="id">
+						<xsl:value-of select="@address"/>
+					</xsl:attribute>
+				</xsl:if>
+				<xsl:apply-templates/>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameters">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_parameters'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:returnValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:choose>
+				<xsl:when test="(normalize-space(ddue:content)='') and ddue:sections/ddue:section[ddue:title='Property Value']">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_propertyValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:sections/ddue:section[ddue:title='Property Value']/*"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_returnValue'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:exceptions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedSections">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_relatedSections'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:relatedTopics">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_id" select="'seeAlsoSection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates select="/document/topic/*/ddue:relatedTopics" mode="seeAlso"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeExample">
+		<!-- create Example section for the first codeExample node -->
+		<xsl:if test="not(preceding-sibling::ddue:codeExample) and ../ddue:codeExample[normalize-space(.)!='']">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_example'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+					<!-- if there are additional codeExample nodes, put them inside this section -->
+					<xsl:for-each select="following-sibling::ddue:codeExample">
+						<xsl:apply-templates/>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeReference">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	<autoOutline/> or <autoOutline>[#]</autoOutline>
+  
+	Inserts a bullet list of links to the topic's sections or a section's
+  sub-sections with optional support for limiting the expansion down to a
+  specific level.  Authors can use the tag directly or specify a token
+  (defined in a token file) in a topic's introduction to get a bullet list of
+  the sections; or in a ddue:section/ddue:content to get a bullet list of the
+  section's sub-sections.  If the token is used, the shared content component
+  replaces <token>autoOutline</token> with an <autoOutline/> node that you
+  specify.  This was the old way of doing it but this version allows it to
+  be specified directly like any other MAML tag. Examples:
+
+  <autoOutline/>                Show only top-level topic titles
+  <autoOutline>1</autoOutline>  Show top-level titles and titles for one level down
+  <autoOutline>3</autoOutline>  Show titles from the top down to three levels
+	============================================================================================= -->
+
+	<xsl:template match="autoOutline|ddue:autoOutline"
+								name="t_autoOutline">
+		<xsl:variable name="v_maxDepth">
+			<xsl:choose>
+				<xsl:when test="normalize-space(.)">
+					<xsl:value-of select="number(normalize-space(.))"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="number(0)"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:variable name="v_intro"
+									select="@lead"/>
+		<xsl:variable name="p_outlineType">
+			<xsl:choose>
+				<xsl:when test="@excludeRelatedTopics = 'true'">
+					<xsl:value-of select="string('topNoRelated')"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="string('toplevel')"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:choose>
+			<!--if <autoOutline/> is in introduction, it outlines the topic's toplevel sections-->
+			<xsl:when test="ancestor::ddue:introduction">
+				<xsl:for-each select="ancestor::ddue:introduction/parent::*">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">
+							<xsl:value-of select="$p_outlineType"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+			<!--if <autoOutline/> is in section/content, it outlines the section's subsections-->
+			<xsl:when test="ancestor::ddue:content[parent::ddue:section]">
+				<xsl:for-each select="ancestor::ddue:content/parent::ddue:section/ddue:sections">
+					<xsl:call-template name="t_insertAutoOutline">
+						<xsl:with-param name="p_intro">
+							<xsl:value-of select="$v_intro"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_outlineType">subsection</xsl:with-param>
+						<xsl:with-param name="p_depth">
+							<xsl:value-of select="number(0)"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_maxDepth">
+							<xsl:value-of select="$v_maxDepth"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_insertAutoOutline">
+		<xsl:param name="p_intro"/>
+		<xsl:param name="p_outlineType"/>
+		<xsl:param name="p_depth"/>
+		<xsl:param name="p_maxDepth"/>
+		<!--insert an outline if there are sections with title and address-->
+		<xsl:if test="ddue:section[ddue:title[normalize-space(.)!='']]">
+			<!--insert a boilerplate intro-->
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_intro) = 'none'">
+					<xsl:text></xsl:text>
+				</xsl:when>
+				<xsl:when test="normalize-space($p_intro)">
+					<p>
+						<xsl:value-of select="normalize-space($p_intro)"/>
+					</p>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='toplevel' or $p_outlineType='topNoRelated'">
+					<p>
+						<include item="boilerplate_autoOutlineTopLevelIntro"/>
+					</p>
+				</xsl:when>
+				<xsl:when test="$p_outlineType='subsection'">
+					<p>
+						<include item="boilerplate_autoOutlineSubsectionIntro"/>
+					</p>
+				</xsl:when>
+			</xsl:choose>
+			<ul class="autoOutline">
+				<xsl:for-each select="ddue:section[ddue:title[normalize-space(.)!='']]">
+					<xsl:call-template name="t_outlineSectionEntry"/>
+
+					<!-- Expand sub-sections too if wanted -->
+					<xsl:if test="$p_depth &lt; $p_maxDepth">
+						<xsl:for-each select="ddue:sections">
+							<xsl:call-template name="t_insertAutoOutline">
+								<xsl:with-param name="p_outlineType">subsubsection</xsl:with-param>
+								<xsl:with-param name="p_depth">
+									<xsl:value-of select="$p_depth + 1"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_maxDepth">
+									<xsl:value-of select="$p_maxDepth"/>
+								</xsl:with-param>
+							</xsl:call-template>
+						</xsl:for-each>
+					</xsl:if>
+				</xsl:for-each>
+				<!-- For top level outlines include a link to See Also -->
+				<xsl:if test="starts-with($p_outlineType,'toplevel') and count(//ddue:relatedTopics/*) > 0">
+					<li class="outlineSectionEntry">
+						<a>
+							<xsl:attribute name="href">#seeAlsoSection</xsl:attribute>
+							<include item="title_relatedTopics"/>
+						</a>
+					</li>
+				</xsl:if>
+			</ul>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- A list item in the outline's bullet list -->
+	<xsl:template name="t_outlineSectionEntry">
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or count(ddue:content/*) &gt; 0">
+			<li class="outlineSectionEntry">
+				<xsl:choose>
+					<xsl:when test="@address">
+						<a href="#{@address}">
+							<xsl:value-of select="ddue:title"/>
+						</a>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="ddue:title"/>
+					</xsl:otherwise>
+				</xsl:choose>
+				<xsl:if test="normalize-space(ddue:summary)">
+					<div class="outlineSectionEntrySummary">
+						<xsl:apply-templates select="ddue:summary/node()"/>
+					</div>
+				</xsl:if>
+			</li>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Bibliography
+	============================================================================================= -->
+
+	<xsl:key name="k_citations"
+					 match="//ddue:cite"
+					 use="text()"/>
+
+	<xsl:variable name="g_hasCitations"
+								select="boolean(count(//ddue:cite) > 0)"/>
+
+	<xsl:template match="ddue:cite"
+								name="t_ddue_cite">
+		<xsl:variable name="v_currentCitation"
+									select="text()"/>
+		<xsl:for-each select="//ddue:cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:if test="$v_currentCitation=.">
+				<xsl:choose>
+					<xsl:when test="document($bibliographyData)/bibliography/reference[@name=$v_currentCitation]">
+						<sup class="citation">
+							<a>
+								<xsl:attribute name="href">
+									#cite<xsl:value-of select="position()"/>
+								</xsl:attribute>[<xsl:value-of select="position()"/>]
+							</a>
+						</sup>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:bibliography"
+								name="t_ddue_bibliography">
+		<xsl:if test="$g_hasCitations">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'bibliographyTitle'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_autogenBibliographyLinks"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_autogenBibliographyLinks">
+		<xsl:for-each select="//ddue:cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:variable name="v_citation"
+										select="."/>
+			<xsl:variable name="entry"
+										select="document($bibliographyData)/bibliography/reference[@name=$v_citation]"/>
+
+			<xsl:call-template name="bibliographyReference">
+				<xsl:with-param name="number"
+												select="position()"/>
+				<xsl:with-param name="data"
+												select="$entry"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/main_sandcastle.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/main_sandcastle.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..ed7ed2b15d0ce662d4a64adfd548145fda922a92
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/main_sandcastle.xsl
@@ -0,0 +1,1439 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="codeTemplates.xsl"/>
+	<xsl:import href="utilities_reference.xsl"/>
+	<xsl:import href="utilities_bibliography.xsl"/>
+
+	<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="utf-8"/>
+
+	<!-- ============================================================================================
+	Parameters
+	============================================================================================= -->
+
+	<xsl:param name="bibliographyData" select="'../Data/bibliography.xml'"/>
+	<xsl:param name="omitXmlnsBoilerplate" select="'false'"/>
+	<xsl:param name="omitVersionInformation" select="'false'"/>
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_abstractSummary" select="/document/comments/summary"/>
+	<xsl:variable name="g_hasSeeAlsoSection"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads)] |
+		/document/comments/conceptualLink | /document/reference/elements/element/overloads//seealso |
+		/document/reference/elements/element/overloads/conceptualLink) > 0) or
+		($g_apiTopicGroup='type' or $g_apiTopicGroup='member' or $g_apiTopicGroup='list'))"/>
+	<xsl:variable name="g_hasReferenceLinks"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads) and not(@href)] |
+		/document/reference/elements/element/overloads//seealso[not(@href)]) > 0) or
+		($g_apiTopicGroup='type' or $g_apiTopicGroup='member' or $g_apiTopicGroup='list'))"/>
+	<xsl:variable name="g_hasOtherResourcesLinks"
+		select="boolean((count(/document/comments//seealso[not(ancestor::overloads) and @href] |
+		/document/comments/conceptualLink | /document/reference/elements/element/overloads//seealso[@href] |
+		/document/reference/elements/element/overloads/conceptualLink) > 0))"/>
+
+	<!-- ============================================================================================
+	Body
+	============================================================================================= -->
+
+	<xsl:template name="t_body">
+		<!-- auto-inserted info -->
+		<xsl:apply-templates select="/document/comments/preliminary"/>
+
+		<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+			<p>
+				<include item="boilerplate_obsoleteLong"/>
+			</p>
+		</xsl:if>
+
+		<xsl:apply-templates select="/document/comments/summary"/>
+
+		<xsl:if test="$g_apiTopicSubGroup='overload'">
+			<xsl:apply-templates select="/document/reference/elements" mode="overloadSummary"/>
+		</xsl:if>
+
+		<!-- inheritance -->
+		<xsl:apply-templates select="/document/reference/family"/>
+
+		<!-- assembly information -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:call-template name="t_putRequirementsInfo"/>
+		</xsl:if>
+
+		<!-- syntax -->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/syntax"/>
+		</xsl:if>
+
+		<!-- members -->
+		<xsl:choose>
+			<xsl:when test="$g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="root"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="namespace"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='namespaceGroup'">
+				<xsl:apply-templates select="/document/reference/elements" mode="namespaceGroup" />
+			</xsl:when>
+			<xsl:when test="$g_apiTopicSubGroup='enumeration'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="enumeration"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:apply-templates select="/document/reference/elements"
+														 mode="type"/>
+			</xsl:when>
+			<xsl:when test="$g_apiTopicGroup='list'">
+				<xsl:choose>
+					<xsl:when test="$g_apiTopicSubGroup='overload'">
+						<xsl:apply-templates select="/document/reference/elements"
+																 mode="overload"/>
+					</xsl:when>
+					<xsl:when test="$g_apiTopicSubGroup='DerivedTypeList'">
+						<xsl:apply-templates select="/document/reference/elements"
+																 mode="derivedType"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates select="/document/reference/elements"
+																 mode="member"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+		</xsl:choose>
+
+		<!-- events -->
+		<xsl:call-template name="t_events"/>
+		<!-- exceptions -->
+		<xsl:call-template name="t_exceptions"/>
+		<!-- remarks -->
+		<xsl:apply-templates select="/document/comments/remarks"/>
+		<!-- examples -->
+		<xsl:apply-templates select="/document/comments/example"/>
+
+		<!-- contracts -->
+		<xsl:call-template name="t_contracts"/>
+		<!--versions-->
+		<xsl:if test="not($g_apiTopicGroup='list' or $g_apiTopicGroup='rootGroup' or $g_apiTopicGroup='root' or $g_apiTopicGroup='namespace' or $g_apiTopicGroup='namespaceGroup')">
+			<xsl:apply-templates select="/document/reference/versions"/>
+		</xsl:if>
+		<!-- permissions -->
+		<xsl:call-template name="t_permissions"/>
+		<!-- thread safety -->
+		<xsl:apply-templates select="/document/comments/threadsafety"/>
+		<!-- revisions -->
+		<xsl:call-template name="t_revisionHistory"/>
+		<!-- bibliography -->
+		<xsl:call-template name="t_bibliography"/>
+		<!-- see also -->
+		<xsl:call-template name="t_putSeeAlsoSection"/>
+
+		<!-- Add the full inheritance hierarchy if needed -->
+		<xsl:if test="count(/document/reference/family/descendents/type) > 5">
+			<xsl:apply-templates select="/document/reference/family" mode="fullInheritance"/>
+		</xsl:if>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<!-- pass through html tags -->
+	<xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|a|img|b|i|strong|em|del|sub|sup|br|hr|h1|h2|h3|h4|h5|h6|pre|div|span|blockquote|abbr|acronym|u|font|map|area">
+		<xsl:copy>
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates/>
+		</xsl:copy>
+	</xsl:template>
+
+	<xsl:template match="para"
+								name="t_para">
+		<p>
+			<xsl:apply-templates/>
+		</p>
+	</xsl:template>
+
+	<xsl:template match="c"
+								name="t_codeInline">
+		<span class="code">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="preliminary" name="t_preliminary">
+		<div class="preliminary">
+			<xsl:choose>
+				<xsl:when test="normalize-space(.)">
+					<xsl:apply-templates/>
+				</xsl:when>
+				<xsl:otherwise>
+					<include item="preliminaryText" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="paramref"
+								name="t_paramref">
+		<span class="parameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="typeparamref"
+								name="t_typeparamref">
+		<span class="typeparameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block sections
+	============================================================================================= -->
+
+	<xsl:template match="summary" name="t_summary">
+		<div class="summary">
+			<xsl:apply-templates/>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="value" name="t_value">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_fieldValue"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="returns" name="t_returns">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_methodValue"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+							<xsl:with-param name="qualified" select="true()" />
+						</xsl:apply-templates>
+					</parameter>
+				</include>
+				<br />
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="remarks"
+								name="t_remarks">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_remarks'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="example" name="t_example">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_examples'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="codeSnippetGroup" name="t_code">
+		<xsl:call-template name="t_putCodeSections">
+			<xsl:with-param name="p_nodes" select="./code" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- Details (nonstandard) -->
+
+	<xsl:template match="details"
+								name="t_details">
+		<xsl:variable name="sectionTitle">
+			<xsl:value-of select="(child::h1 | child::h2 | child::h3 | child::h4 | child::h5 | child::h6)[1]"/>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="$sectionTitle = ''">
+				<xsl:apply-templates/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="sectionAddress">
+					<xsl:choose>
+						<xsl:when test="@name != ''">
+							<xsl:value-of select="@name"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="generate-id(.)"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<xsl:call-template name="t_putSection">
+					<xsl:with-param name="p_title">
+						<xsl:value-of select="$sectionTitle"/>
+					</xsl:with-param>
+					<xsl:with-param name="p_content">
+						<xsl:choose>
+							<xsl:when test="$sectionTitle != ''">
+								<xsl:apply-templates select="(child::h1 | child::h2 | child::h3 | child::h4 | child::h5 | child::h6)[1]/following-sibling::*"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="syntax" name="t_syntax">
+		<xsl:if test="count(*) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_syntax'"/>
+				<xsl:with-param name="p_content">
+					<!-- Syntax sections -->
+					<xsl:call-template name="t_putSyntaxSections">
+						<xsl:with-param name="p_nodes" select="./div[@codeLanguage]"/>
+					</xsl:call-template>
+					<!-- Source context -->
+					<xsl:apply-templates select="/document/reference/sourceContext" />
+					<!-- Parameters & return value -->
+					<xsl:apply-templates select="/document/reference/parameters"/>
+					<xsl:apply-templates select="/document/reference/templates"/>
+					<xsl:choose>
+						<xsl:when test="/document/comments/value | /document/comments/returns">
+							<xsl:apply-templates select="/document/comments/value" />
+							<xsl:apply-templates select="/document/comments/returns" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="/document/reference/returns[1] | /document/reference/eventhandler/type">
+								<xsl:call-template name="defaultReturnSection" />
+							</xsl:if>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="/document/reference/implements"/>
+					<!-- Usage note for extension methods -->
+					<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.ExtensionAttribute'] and boolean($g_apiSubGroup='method')">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_extensionUsage"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<include item="text_extensionUsage">
+									<parameter>
+										<xsl:apply-templates select="/document/reference/parameters/parameter[1]/type" mode="link"/>
+									</parameter>
+								</include>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="defaultReturnSection">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<xsl:choose>
+					<xsl:when test="/document/reference/apidata[@subgroup='property']">
+						<include item="title_propertyValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='field']">
+						<include item="title_fieldValue" />
+					</xsl:when>
+					<xsl:when test="/document/reference/apidata[@subgroup='event']">
+						<include item="title_value" />
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="title_methodValue" />
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<include item="typeLink">
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.FixedBufferAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsReadOnlyAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']">
+								<xsl:apply-templates select="/document/reference/attributes/attribute/type[@api='T:System.Runtime.CompilerServices.IsByRefLikeAttribute']/../argument/typeValue/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:when test="/document/reference/apidata[@subgroup='event']">
+								<xsl:apply-templates select="/document/reference/eventhandler/type" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="/document/reference/returns[1]" mode="link">
+									<xsl:with-param name="qualified" select="true()" />
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="overloads" mode="summary" name="t_overloadsSummary">
+		<xsl:choose>
+			<xsl:when test="count(summary) > 0">
+				<xsl:apply-templates select="summary"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<div class="summary">
+					<xsl:apply-templates/>
+				</div>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="overloads" mode="sections" name="t_overloadsSections">
+		<xsl:apply-templates select="remarks"/>
+		<xsl:apply-templates select="example"/>
+	</xsl:template>
+
+	<xsl:template match="templates" name="t_templates">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_templates"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<dl>
+					<xsl:for-each select="template">
+						<xsl:variable name="templateName" select="@name"/>
+						<dt>
+							<span class="parameter">
+								<xsl:value-of select="$templateName"/>
+							</span>
+						</dt>
+						<dd>
+							<xsl:apply-templates select="/document/comments/typeparam[@name=$templateName]"/>
+						</dd>
+					</xsl:for-each>
+				</dl>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_events">
+		<xsl:if test="count(/document/comments/event) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_events'"/>
+				<xsl:with-param name="p_content">
+					<div class="tableSection">
+						<table>
+							<tr>
+								<th>
+									<include item="header_eventType"/>
+								</th>
+								<th>
+									<include item="header_eventReason"/>
+								</th>
+							</tr>
+							<xsl:for-each select="/document/comments/event">
+								<tr>
+									<td>
+										<referenceLink target="{@cref}" qualified="true"/>
+									</td>
+									<td>
+										<xsl:apply-templates select="."/>
+									</td>
+								</tr>
+							</xsl:for-each>
+						</table>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_exceptions">
+		<xsl:if test="count(/document/comments/exception) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_exceptions'"/>
+				<xsl:with-param name="p_content">
+					<div class="tableSection">
+						<table>
+							<tr>
+								<th>
+									<include item="header_exceptionName"/>
+								</th>
+								<th>
+									<include item="header_exceptionCondition"/>
+								</th>
+							</tr>
+							<xsl:for-each select="/document/comments/exception">
+								<tr>
+									<td>
+										<referenceLink target="{@cref}"
+																	 qualified="false"/>
+									</td>
+									<td>
+										<xsl:apply-templates select="."/>
+									</td>
+								</tr>
+							</xsl:for-each>
+						</table>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="threadsafety"
+								name="t_threadsafety">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_threadSafety'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="normalize-space(.)">
+						<xsl:apply-templates/>
+					</xsl:when>
+					<xsl:when test="(not(@instance) and not(@static)) or (@static='true' and @instance='false')">
+						<include item="boilerplate_threadSafety" />
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:if test="@static='true'">
+							<include item="text_staticThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@static='false'">
+							<include item="text_staticNotThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='true'">
+							<include item="text_instanceThreadSafe"/>
+						</xsl:if>
+						<xsl:if test="@instance='false'">
+							<include item="text_instanceNotThreadSafe"/>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_permissions">
+		<xsl:if test="count(/document/comments/permission) &gt; 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_permissions'"/>
+				<xsl:with-param name="p_content">
+					<div class="tableSection">
+						<table>
+							<tr>
+								<th>
+									<include item="header_permissionName"/>
+								</th>
+								<th>
+									<include item="header_permissionDescription"/>
+								</th>
+							</tr>
+							<xsl:for-each select="/document/comments/permission">
+								<tr>
+									<td>
+										<referenceLink target="{@cref}"
+																	 qualified="true"/>
+									</td>
+									<td>
+										<xsl:apply-templates select="."/>
+									</td>
+								</tr>
+							</xsl:for-each>
+						</table>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_contracts">
+		<xsl:variable name="v_requires"
+									select="/document/comments/requires"/>
+		<xsl:variable name="v_ensures"
+									select="/document/comments/ensures"/>
+		<xsl:variable name="v_ensuresOnThrow"
+									select="/document/comments/ensuresOnThrow"/>
+		<xsl:variable name="v_invariants"
+									select="/document/comments/invariant"/>
+		<xsl:variable name="v_setter"
+									select="/document/comments/setter"/>
+		<xsl:variable name="v_getter"
+									select="/document/comments/getter"/>
+		<xsl:variable name="v_pure"
+									select="/document/comments/pure"/>
+		<xsl:if test="$v_requires or $v_ensures or $v_ensuresOnThrow or $v_invariants or $v_setter or $v_getter or $v_pure">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_contracts'"/>
+				<xsl:with-param name="p_content">
+					<!--Purity-->
+					<xsl:if test="$v_pure">
+						<xsl:text>This method is pure.</xsl:text>
+					</xsl:if>
+					<!--Contracts-->
+					<div class="tableSection">
+						<xsl:if test="$v_getter">
+							<xsl:variable name="v_getterRequires"
+														select="$v_getter/requires"/>
+							<xsl:variable name="v_getterEnsures"
+														select="$v_getter/ensures"/>
+							<xsl:variable name="v_getterEnsuresOnThrow"
+														select="$v_getter/ensuresOnThrow"/>
+							<xsl:call-template name="t_putSubSection">
+								<xsl:with-param name="p_title">
+									<include item="title_getter"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_content">
+									<xsl:if test="$v_getterRequires">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_requiresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_getterRequires"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_getterEnsures">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_getterEnsures"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_getterEnsuresOnThrow">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresOnThrowName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_getterEnsuresOnThrow"/>
+										</xsl:call-template>
+									</xsl:if>
+								</xsl:with-param>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_setter">
+							<xsl:variable name="v_setterRequires"
+														select="$v_setter/requires"/>
+							<xsl:variable name="v_setterEnsures"
+														select="$v_setter/ensures"/>
+							<xsl:variable name="v_setterEnsuresOnThrow"
+														select="$v_setter/ensuresOnThrow"/>
+							<xsl:call-template name="t_putSubSection">
+								<xsl:with-param name="p_title">
+									<include item="title_setter"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_content">
+									<xsl:if test="$v_setterRequires">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_requiresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_setterRequires"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_setterEnsures">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_setterEnsures"/>
+										</xsl:call-template>
+									</xsl:if>
+									<xsl:if test="$v_setterEnsuresOnThrow">
+										<xsl:call-template name="t_contractsTable">
+											<xsl:with-param name="p_title">
+												<include item="header_ensuresOnThrowName"/>
+											</xsl:with-param>
+											<xsl:with-param name="p_contracts"
+																			select="$v_setterEnsuresOnThrow"/>
+										</xsl:call-template>
+									</xsl:if>
+								</xsl:with-param>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_requires">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_requiresName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_requires"/>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_ensures">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_ensuresName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_ensures"/>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_ensuresOnThrow">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_ensuresOnThrowName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_ensuresOnThrow"/>
+							</xsl:call-template>
+						</xsl:if>
+						<xsl:if test="$v_invariants">
+							<xsl:call-template name="t_contractsTable">
+								<xsl:with-param name="p_title">
+									<include item="header_invariantsName"/>
+								</xsl:with-param>
+								<xsl:with-param name="p_contracts"
+																select="$v_invariants"/>
+							</xsl:call-template>
+						</xsl:if>
+					</div>
+					<!--Contracts link-->
+					<div>
+						<a>
+							<xsl:attribute name="target">
+								<xsl:text>_blank</xsl:text>
+							</xsl:attribute>
+							<xsl:attribute name="href">
+								<xsl:text>https://github.com/Microsoft/CodeContracts</xsl:text>
+							</xsl:attribute>
+							<xsl:attribute name="rel">
+								<xsl:text>noopener noreferrer</xsl:text>
+							</xsl:attribute>
+							<xsl:text>Learn more about contracts</xsl:text>
+						</a>
+					</div>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_contractsTable">
+		<xsl:param name="p_title"/>
+		<xsl:param name="p_contracts"/>
+		<table>
+			<tr>
+				<th>
+					<xsl:copy-of select="$p_title"/>
+				</th>
+			</tr>
+			<xsl:for-each select="$p_contracts">
+				<tr>
+					<td>
+						<div class="code"
+								 style="margin-bottom: 0pt; white-space: pre-wrap;">
+							<pre xml:space="preserve" style="margin-bottom: 0pt"><xsl:value-of select="."/></pre>
+						</div>
+						<xsl:if test="@description or @inheritedFrom or @exception">
+							<div style="font-size:95%; margin-left: 10pt; margin-bottom: 0pt">
+								<table>
+									<colgroup>
+										<col width="10%"/>
+										<col width="90%"/>
+									</colgroup>
+									<xsl:if test="@description">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Description: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<xsl:value-of select="@description"/>
+											</td>
+										</tr>
+									</xsl:if>
+									<xsl:if test="@inheritedFrom">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Inherited From: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<!-- Change the ID type and strip "get_" and "set_" prefixes from property member IDs -->
+												<xsl:variable name="inheritedMemberId">
+													<xsl:choose>
+														<xsl:when test="contains(@inheritedFrom, '.get_')">
+															<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.get_'), '.', substring-after(@inheritedFrom, '.get_'))"/>
+														</xsl:when>
+														<xsl:when test="contains(@inheritedFrom, '.set_')">
+															<!-- For the setter, we need to strip the last parameter too -->
+															<xsl:variable name="lastParam">
+																<xsl:call-template name="t_getLastParameter">
+																	<xsl:with-param name="p_string" select="@inheritedFrom" />
+																</xsl:call-template>
+															</xsl:variable>
+															<xsl:variable name="setterName">
+																<xsl:value-of select="concat('P:', substring-before(substring(@inheritedFrom, 3), '.set_'), '.', substring-after(@inheritedFrom, '.set_'))"/>
+															</xsl:variable>
+															<xsl:value-of select="concat(substring-before($setterName, $lastParam), ')')"/>
+														</xsl:when>
+														<xsl:otherwise>
+															<xsl:value-of select="@inheritedFrom"/>
+														</xsl:otherwise>
+													</xsl:choose>
+												</xsl:variable>
+												<referenceLink target="{$inheritedMemberId}">
+													<xsl:value-of select="@inheritedFromTypeName"/>
+												</referenceLink>
+											</td>
+										</tr>
+									</xsl:if>
+									<xsl:if test="@exception">
+										<tr style="border-bottom: 0px none;">
+											<td style="border-bottom: 0px none;">
+												<em><xsl:text>Exception: </xsl:text></em>
+											</td>
+											<td style="border-bottom: 0px none;">
+												<referenceLink target="{@exception}" qualified="true"/>
+											</td>
+										</tr>
+									</xsl:if>
+								</table>
+							</div>
+						</xsl:if>
+					</td>
+				</tr>
+			</xsl:for-each>
+		</table>
+	</xsl:template>
+
+	<!-- Gets the parameter following the last comma in the given string -->
+	<xsl:template name="t_getLastParameter">
+		<xsl:param name="p_string" />
+		<xsl:choose>
+			<xsl:when test="contains($p_string, ',')">
+				<xsl:call-template name="t_getLastParameter">
+					<xsl:with-param name="p_string" select="substring-after($p_string, ',')" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="concat(',', $p_string)" />
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_putSeeAlsoSection">
+		<xsl:if test="$g_hasSeeAlsoSection">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_relatedTopics'"/>
+				<xsl:with-param name="p_id" select="'seeAlsoSection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:if test="$g_hasReferenceLinks">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_seeAlso_reference"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+								<xsl:for-each select="/document/comments//seealso[not(ancestor::overloads) and not(@href)] | /document/reference/elements/element/overloads//seealso[not(@href)]">
+									<div class="seeAlsoStyle">
+										<xsl:apply-templates select=".">
+											<xsl:with-param name="displaySeeAlso" select="true()"/>
+										</xsl:apply-templates>
+									</div>
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+					<xsl:if test="$g_hasOtherResourcesLinks">
+						<xsl:call-template name="t_putSubSection">
+							<xsl:with-param name="p_title">
+								<include item="title_seeAlso_otherResources"/>
+							</xsl:with-param>
+							<xsl:with-param name="p_content">
+								<xsl:for-each select="/document/comments//seealso[not(ancestor::overloads) and @href] | /document/reference/elements/element/overloads//seealso[@href]">
+									<div class="seeAlsoStyle">
+										<xsl:apply-templates select=".">
+											<xsl:with-param name="displaySeeAlso" select="true()"/>
+										</xsl:apply-templates>
+									</div>
+								</xsl:for-each>
+								<!-- Copy conceptualLink elements as-is -->
+								<xsl:for-each select="/document/comments/conceptualLink | /document/reference/elements/element/overloads/conceptualLink">
+									<div class="seeAlsoStyle">
+										<xsl:copy-of select="."/>
+									</div>
+								</xsl:for-each>
+							</xsl:with-param>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists
+	============================================================================================= -->
+
+	<xsl:template match="list[@type='bullet' or @type='']" name="t_bulletList">
+		<ul>
+			<xsl:for-each select="item">
+				<li>
+					<xsl:choose>
+						<xsl:when test="term or description">
+							<xsl:if test="term">
+								<strong><xsl:apply-templates select="term" /></strong>
+								<xsl:text> - </xsl:text>
+							</xsl:if>
+							<xsl:apply-templates select="description" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:apply-templates />
+						</xsl:otherwise>
+					</xsl:choose>
+				</li>
+			</xsl:for-each>
+		</ul>
+	</xsl:template>
+
+	<xsl:template match="list[@type='number']" name="t_numberList">
+		<ol>
+			<xsl:if test="@start">
+				<xsl:attribute name="start">
+					<xsl:value-of select="@start"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:for-each select="item">
+				<li>
+					<xsl:choose>
+						<xsl:when test="term or description">
+							<xsl:if test="term">
+								<strong><xsl:apply-templates select="term" /></strong>
+								<xsl:text> - </xsl:text>
+							</xsl:if>
+							<xsl:apply-templates select="description" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:apply-templates />
+						</xsl:otherwise>
+					</xsl:choose>
+				</li>
+			</xsl:for-each>
+		</ol>
+	</xsl:template>
+
+	<xsl:template match="list[@type='table']" name="t_tableList">
+		<div class="tableSection">
+			<table>
+				<xsl:for-each select="listheader">
+					<tr>
+						<xsl:for-each select="*">
+							<th>
+								<xsl:apply-templates/>
+							</th>
+						</xsl:for-each>
+					</tr>
+				</xsl:for-each>
+				<xsl:for-each select="item">
+					<tr>
+						<xsl:for-each select="*">
+							<td>
+								<xsl:apply-templates/>
+							</td>
+						</xsl:for-each>
+					</tr>
+				</xsl:for-each>
+			</table>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="list[@type='definition']" name="t_definitionList">
+		<dl>
+			<xsl:for-each select="item">
+				<dt>
+					<xsl:apply-templates select="term"/>
+				</dt>
+				<dd>
+					<xsl:apply-templates select="description"/>
+				</dd>
+			</xsl:for-each>
+		</dl>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline tags
+	============================================================================================= -->
+
+	<xsl:template match="conceptualLink">
+		<xsl:choose>
+			<xsl:when test="normalize-space(.)">
+				<conceptualLink target="{@target}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<conceptualLink target="{@target}"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@cref]" name="t_seeCRef">
+		<xsl:choose>
+			<xsl:when test="starts-with(@cref,'R:')">
+				<referenceLink target="{@cref}">
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<include item="topicTitle_root" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="starts-with(@cref,'O:')">
+				<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+					show-parameters="false">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:choose>
+						<xsl:when test="normalize-space(.)">
+							<xsl:value-of select="." />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:if test="@qualifyHint">
+								<xsl:attribute name="show-container">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+								<xsl:attribute name="show-parameters">
+									<xsl:value-of select="@qualifyHint"/>
+								</xsl:attribute>
+							</xsl:if>
+							<include item="boilerplate_seeAlsoOverloadLink">
+								<parameter>{0}</parameter>
+							</include>
+						</xsl:otherwise>
+					</xsl:choose>
+				</referenceLink>
+			</xsl:when>
+			<xsl:when test="normalize-space(.)">
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:apply-templates/>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@cref}">
+					<xsl:if test="@autoUpgrade">
+						<xsl:attribute name="prefer-overload">
+							<xsl:value-of select="@autoUpgrade"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="@qualifyHint">
+							<xsl:attribute name="show-container">
+								<xsl:value-of select="@qualifyHint"/>
+							</xsl:attribute>
+							<xsl:attribute name="show-parameters">
+								<xsl:value-of select="@qualifyHint"/>
+							</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="see[@href]"
+								name="t_seeHRef">
+		<xsl:call-template name="t_hyperlink">
+			<xsl:with-param name="p_content"
+											select="."/>
+			<xsl:with-param name="p_href"
+											select="@href"/>
+			<xsl:with-param name="p_target"
+											select="@target"/>
+			<xsl:with-param name="p_alt"
+											select="@alt"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="see[@langword]">
+		<xsl:variable name="v_syntaxKeyword">
+			<xsl:if test="/document/syntax">
+				<xsl:value-of select="'true'"/>
+			</xsl:if>
+		</xsl:variable>
+		<xsl:choose>
+			<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
+				<xsl:call-template name="t_nullKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='static' or @langword='Shared'">
+				<xsl:call-template name="t_staticKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='virtual' or @langword='Overridable'">
+				<xsl:call-template name="t_virtualKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='true' or @langword='True'">
+				<xsl:call-template name="t_trueKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='false' or @langword='False'">
+				<xsl:call-template name="t_falseKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='abstract' or @langword='MustInherit'">
+				<xsl:call-template name="t_abstractKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='sealed' or @langword='NotInheritable'">
+				<xsl:call-template name="t_sealedKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='async' or @langword='Async'">
+				<xsl:call-template name="t_asyncKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='await' or @langword='Await'">
+				<xsl:call-template name="t_awaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="@langword='async/await' or @langword='Async/Await'">
+				<xsl:call-template name="t_asyncAwaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="keyword"><xsl:value-of select="@langword"/></span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="seealso[@href]"
+								name="t_seealsoHRef">
+		<xsl:param name="displaySeeAlso"
+							 select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:call-template name="t_hyperlink">
+				<xsl:with-param name="p_content"
+												select="."/>
+				<xsl:with-param name="p_href"
+												select="@href"/>
+				<xsl:with-param name="p_target"
+												select="@target"/>
+				<xsl:with-param name="p_alt"
+												select="@alt"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="seealso" name="t_seealso">
+		<xsl:param name="displaySeeAlso" select="false()"/>
+		<xsl:if test="$displaySeeAlso">
+			<xsl:choose>
+				<xsl:when test="starts-with(@cref,'R:')">
+					<referenceLink target="{@cref}">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:value-of select="." />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="topicTitle_root" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="starts-with(@cref,'O:')">
+					<referenceLink target="{concat('Overload:',substring(@cref,3))}" display-target="format"
+						show-parameters="false">
+						<xsl:choose>
+							<xsl:when test="normalize-space(.)">
+								<xsl:apply-templates />
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="boilerplate_seeAlsoOverloadLink">
+									<parameter>{0}</parameter>
+								</include>
+							</xsl:otherwise>
+						</xsl:choose>
+					</referenceLink>
+				</xsl:when>
+				<xsl:when test="normalize-space(.)">
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:apply-templates />
+					</referenceLink>
+				</xsl:when>
+				<xsl:otherwise>
+					<referenceLink target="{@cref}" qualified="true">
+						<xsl:if test="@autoUpgrade">
+							<xsl:attribute name="prefer-overload">
+								<xsl:value-of select="@autoUpgrade"/>
+							</xsl:attribute>
+						</xsl:if>
+					</referenceLink>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_hyperlink">
+		<xsl:param name="p_content"/>
+		<xsl:param name="p_href"/>
+		<xsl:param name="p_target"/>
+		<xsl:param name="p_alt"/>
+
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="$p_href"/>
+			</xsl:attribute>
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_target)">
+					<xsl:attribute name="target">
+						<xsl:value-of select="normalize-space($p_target)"/>
+					</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="target">_blank</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:if test="normalize-space($p_alt)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space($p_alt)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space($p_content)">
+					<xsl:value-of select="$p_content"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$p_href"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</a>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="note" name="t_note">
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass" select="@type"/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_getParameterDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getReturnsDescription">
+		<xsl:param name="name"/>
+		<xsl:apply-templates select="/document/comments/param[@name=$name]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getElementDescription">
+		<xsl:apply-templates select="summary[1]"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSummary">
+		<xsl:apply-templates select="overloads" mode="summary"/>
+	</xsl:template>
+
+	<xsl:template name="t_getOverloadSections">
+		<xsl:apply-templates select="overloads" mode="sections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Bibliography
+	============================================================================================= -->
+
+	<xsl:key name="k_citations"
+					 match="//cite"
+					 use="text()"/>
+
+	<xsl:variable name="g_hasCitations"
+								select="boolean(count(//cite) > 0)"/>
+
+	<xsl:template match="cite"
+								name="t_cite">
+		<xsl:variable name="v_currentCitation"
+									select="text()"/>
+		<xsl:for-each select="//cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:if test="$v_currentCitation=.">
+				<xsl:choose>
+					<xsl:when test="document($bibliographyData)/bibliography/reference[@name=$v_currentCitation]">
+						<sup class="citation">
+							<a>
+								<xsl:attribute name="href">
+									#cite<xsl:value-of select="position()"/>
+								</xsl:attribute>[<xsl:value-of select="position()"/>]
+							</a>
+						</sup>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:apply-templates/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="t_bibliography">
+		<xsl:if test="$g_hasCitations">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'bibliographyTitle'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_autogenBibliographyLinks"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_autogenBibliographyLinks">
+		<xsl:for-each select="//cite[generate-id(.)=generate-id(key('k_citations',text()))]">
+			<!-- Distinct citations only -->
+			<xsl:variable name="citation"
+										select="."/>
+			<xsl:variable name="entry"
+										select="document($bibliographyData)/bibliography/reference[@name=$citation]"/>
+
+			<xsl:call-template name="bibliographyReference">
+				<xsl:with-param name="number"
+												select="position()"/>
+				<xsl:with-param name="data"
+												select="$entry"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+	<!-- Revision History information template processing. -->
+	<xsl:template name="t_revisionHistory" match="revisionHistory" >
+		<xsl:if test="boolean(count(/document//revisionHistory) > 0)">
+			<xsl:if test="not(/document//revisionHistory[@visible='false'])">
+				<xsl:call-template name="t_putSectionInclude">
+					<xsl:with-param name="p_titleInclude" select="'title_revisionHistory'"/>
+					<xsl:with-param name="p_content">
+						<table>
+							<tr>
+								<th>
+									<include item="header_revHistoryDate" />
+								</th>
+								<th>
+									<include item="header_revHistoryVersion" />
+								</th>
+								<th>
+									<include item="header_revHistoryDescription" />
+								</th>
+							</tr>
+							<xsl:for-each select="/document//revisionHistory/revision">
+								<xsl:if test="not(@visible='false')">
+									<tr>
+										<td>
+											<xsl:value-of select="@date"/>
+										</td>
+										<td>
+											<xsl:value-of select="@version"/>
+										</td>
+										<td>
+											<xsl:apply-templates />
+										</td>
+									</tr>
+								</xsl:if>
+							</xsl:for-each>
+						</table>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Pass through a chunk of markup.  This will allow build components to add HTML or other elements such as
+			 "include" for localized shared content to a pre-transformed document.  This prevents it being removed as
+			 unrecognized content by the transformations. -->
+	<xsl:template match="markup">
+		<xsl:copy-of select="node()"/>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/metadataHelp20.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/metadataHelp20.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..fc27c7bd8a2f665be4b7e0f2d17e3b2aa7325acc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/metadataHelp20.xsl
@@ -0,0 +1,1012 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+   >
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp20">
+		<xsl:if test="$metadata='true'">
+			<xml>
+				<MSHelp:Attr Name="AssetID"
+										 Value="{$key}" />
+				<!-- toc title, rl title, etc. -->
+				<xsl:call-template name="t_mshelpTitles" />
+				<!-- keywords for the A (link target) index -->
+				<xsl:call-template name="t_linkMetadata" />
+				<!-- keywords for the K (index) index -->
+				<xsl:call-template name="t_indexMetadata" />
+				<!-- keywords for the F (F1 help) index -->
+				<xsl:call-template name="t_helpMetadata" />
+				<!-- help priority settings -->
+				<xsl:call-template name="t_helpPriorityMetadata" />
+				<!-- attributes for api identification -->
+				<xsl:call-template name="t_apiTaggingMetadata" />
+				<!-- attributes for filtering -->
+				<xsl:call-template name="t_mshelpDevlangAttributes" />
+				<MSHelp:Attr Name="Locale">
+					<includeAttribute name="Value" item="locale" />
+				</MSHelp:Attr>
+				<!-- attribute to allow F1 help integration -->
+				<MSHelp:Attr Name="TopicType"
+										 Value="kbSyntax" />
+				<MSHelp:Attr Name="TopicType"
+										 Value="apiref" />
+
+				<!-- Abstract -->
+				<xsl:choose>
+					<xsl:when test="string-length(normalize-space($g_abstractSummary)) &gt; 254">
+						<MSHelp:Attr Name="Abstract" Value="{concat(substring(normalize-space($g_abstractSummary),1,250), ' ...')}" />
+					</xsl:when>
+					<xsl:when test="string-length(normalize-space($g_abstractSummary)) &gt; 0 and $g_abstractSummary != '&#160;'">
+						<MSHelp:Attr Name="Abstract" Value="{normalize-space($g_abstractSummary)}" />
+					</xsl:when>
+				</xsl:choose>
+
+				<!-- Assembly Version-->
+				<xsl:if test="$g_apiGroup != 'namespace' and $g_apiGroup != 'namespaceGroup'">
+					<MSHelp:Attr Name="AssemblyVersion" Value="{/document/reference/containers/library/assemblydata/@version}" />
+				</xsl:if>
+
+				<xsl:call-template name="t_versionMetadata" />
+				<xsl:call-template name="t_authoredMetadata" />
+			</xml>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Add DocSet and Technology attributes depending on the versions that support this api
+	============================================================================================= -->
+
+	<xsl:template name="t_versionMetadata">
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnXNA">
+			<xsl:call-template name="t_isMemberSupportedOnXna" />
+		</xsl:variable>
+		<xsl:if test="count(/document/reference/versions/versions[@name='netfw']//version) &gt; 0 or count(/document/reference/topicdata/versions/versions[@name='netfw']//version) &gt; 0 ">
+			<MSHelp:Attr Name="Technology">
+				<includeAttribute name="Value"
+													item="meta_help20_desktopTechnologyAttribute" />
+			</MSHelp:Attr>
+		</xsl:if>
+		<!-- insert CF values for Technology and DocSet attributes for: 
+            api topics that have netcfw version nodes
+            memberlist topics where topicdata/versions has netcfw version nodes
+            overload list topics where any of the elements has netcfw version nodes
+    -->
+		<xsl:if test="count(/document/reference/versions/versions[@name='netcfw']//version) &gt; 0 or count(/document/reference/topicdata/versions/versions[@name='netcfw']//version) &gt; 0  or count(/document/reference[topicdata[@subgroup='overload']]/elements//element/versions/versions[@name='netcfw']//version) &gt; 0 or normalize-space($v_supportedOnCf)!=''">
+			<MSHelp:Attr Name="Technology">
+				<includeAttribute name="Value"
+													item="meta_help20_netcfTechnologyAttribute" />
+			</MSHelp:Attr>
+			<MSHelp:Attr Name="DocSet">
+				<includeAttribute name="Value"
+													item="meta_help20_netcfDocSetAttribute" />
+			</MSHelp:Attr>
+		</xsl:if>
+		<!-- insert XNA values for Technology and DocSet attributes for: 
+            api topics that have xnafw version nodes
+            memberlist topics where topicdata/versions has xnafw version nodes
+            overload list topics where any of the elements has xnafw version nodes
+    -->
+		<xsl:if test="count(/document/reference/versions/versions[@name='xnafw']//version) &gt; 0 or count(/document/reference/topicdata/versions/versions[@name='xnafw']//version) &gt; 0  or count(/document/reference[topicdata[@subgroup='overload']]/elements//element/versions/versions[@name='xnafw']//version) &gt; 0 or normalize-space($v_supportedOnXNA)!=''">
+			<MSHelp:Attr Name="Technology">
+				<includeAttribute name="Value"
+													item="meta_help20_xnaTechnologyAttribute" />
+			</MSHelp:Attr>
+			<MSHelp:Attr Name="DocSet">
+				<includeAttribute name="Value"
+													item="meta_help20_xnaDocSetAttribute" />
+			</MSHelp:Attr>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Attributes and keywords added to topics by authors
+	============================================================================================= -->
+
+	<xsl:template name="t_authoredMetadata">
+
+		<!-- authored attributes -->
+		<xsl:for-each select="/document/metadata/attribute">
+			<MSHelp:Attr Name="{@name}"
+									 Value="{text()}" />
+		</xsl:for-each>
+
+		<!-- authored K -->
+		<xsl:for-each select="/document/metadata/keyword[@index='K']">
+			<MSHelp:Keyword Index="K">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='K']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+		<!-- authored S -->
+		<xsl:for-each select="/document/metadata/keyword[@index='S']">
+			<MSHelp:Keyword Index="S">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='S']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+			<!-- S index keywords need to be converted to F index keywords -->
+			<MSHelp:Keyword Index="F">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='S']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+		<!-- authored F -->
+		<xsl:for-each select="/document/metadata/keyword[@index='F']">
+			<MSHelp:Keyword Index="F">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='F']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+		<!-- authored B -->
+		<xsl:for-each select="/document/metadata/keyword[@index='B']">
+			<MSHelp:Keyword Index="B">
+				<xsl:attribute name="Term">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='B']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</MSHelp:Keyword>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<!-- ============================================================================================
+	toc title and rl title
+	============================================================================================= -->
+
+	<xsl:template name="t_mshelpTitles">
+
+		<!-- TOC List title-->
+		<MSHelp:TOCTitle>
+			<includeAttribute name="Title" item="meta_mshelp_tocTitle">
+				<parameter>
+					<!-- For namespaces TOC titles, only show the namespace without any descriptive suffix -->
+					<xsl:choose>
+						<xsl:when test="$g_apiTopicGroup='namespace'">
+							<xsl:call-template name="t_shortNamePlain" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_topicTitlePlain" />
+						</xsl:otherwise>
+					</xsl:choose>
+				</parameter>
+			</includeAttribute>
+		</MSHelp:TOCTitle>
+
+		<!-- The Results List title -->
+		<MSHelp:RLTitle>
+			<includeAttribute name="Title" item="meta_mshelp_rlTitle">
+				<parameter>
+					<xsl:call-template name="t_topicTitlePlain">
+						<xsl:with-param name="p_qualifyMembers" select="true()" />
+					</xsl:call-template>
+				</parameter>
+				<parameter>
+					<xsl:value-of select="$g_namespaceName"/>
+				</parameter>
+			</includeAttribute>
+		</MSHelp:RLTitle>
+
+	</xsl:template>
+
+	<xsl:template name="t_apiTaggingMetadata">
+		<xsl:if test="$g_topicGroup='api' and ($g_apiGroup='type' or $g_apiGroup='member')">
+			<MSHelp:Attr Name="APIType"
+									 Value="Managed" />
+			<MSHelp:Attr Name="APILocation"
+									 Value="{/document/reference/containers/library/@assembly}.dll" />
+			<xsl:choose>
+				<xsl:when test="$g_apiGroup='type'">
+					<xsl:variable name="v_apiTypeName">
+						<xsl:choose>
+							<xsl:when test="/document/reference/containers/namespace/apidata/@name != ''">
+								<xsl:value-of select="concat(/document/reference/containers/namespace/apidata/@name,'.',/document/reference/apidata/@name)" />
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="/document/reference/apidata/@name" />
+							</xsl:otherwise>
+						</xsl:choose>
+						<xsl:if test="count(/document/reference/templates/template) > 0">
+							<xsl:value-of select="concat('`',count(/document/reference/templates/template))" />
+						</xsl:if>
+					</xsl:variable>
+					<!-- Namespace + Type -->
+					<MSHelp:Attr Name="APIName"
+											 Value="{$v_apiTypeName}" />
+					<xsl:choose>
+						<xsl:when test="boolean($g_apiSubGroup='delegate')">
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'..ctor')}" />
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'.','Invoke')}" />
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'.','BeginInvoke')}" />
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_apiTypeName,'.','EndInvoke')}" />
+						</xsl:when>
+						<xsl:when test="$g_apiSubGroup='enumeration'">
+							<xsl:for-each select="/document/reference/elements/element">
+								<MSHelp:Attr Name="APIName"
+														 Value="{substring(@api,3)}" />
+							</xsl:for-each>
+							<!-- Namespace + Type + Member for each member -->
+						</xsl:when>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:when test="$g_apiGroup='member'">
+					<xsl:variable name="v_namespace"
+												select="/document/reference/containers/namespace/apidata/@name" />
+					<xsl:variable name="v_type">
+						<xsl:for-each select="/document/reference/containers/type[1]">
+							<xsl:call-template name="typeNameWithTicks" />
+						</xsl:for-each>
+					</xsl:variable>
+					<xsl:variable name="v_member"
+												select="/document/reference/apidata/@name" />
+					<!-- Namespace + Type + Member -->
+					<MSHelp:Attr Name="APIName"
+											 Value="{concat($v_namespace, '.', $v_type, '.', $v_member)}" />
+					<xsl:choose>
+						<!-- for properties, add APIName attribute get/set accessor methods -->
+						<xsl:when test="boolean($g_apiSubGroup='property')">
+							<xsl:if test="/document/reference/propertydata[@get='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.get_', $v_member)}" />
+							</xsl:if>
+							<xsl:if test="/document/reference/propertydata[@set='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.set_', $v_member)}" />
+							</xsl:if>
+						</xsl:when>
+						<!-- for events, add APIName attribute add/remove accessor methods -->
+						<xsl:when test="boolean($g_apiSubGroup='event')">
+							<xsl:if test="/document/reference/eventdata[@add='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.add_', $v_member)}" />
+							</xsl:if>
+							<xsl:if test="/document/reference/eventdata[@remove='true']">
+								<MSHelp:Attr Name="APIName"
+														 Value="{concat($v_namespace, '.', $v_type, '.remove_', $v_member)}" />
+							</xsl:if>
+						</xsl:when>
+						<!-- for operators, add APIName attribute op accessor methods -->
+						<xsl:when test="boolean($g_apiSubSubGroup='operator')">
+							<MSHelp:Attr Name="APIName"
+													 Value="{concat($v_namespace, '.', $v_type, '.op_', $v_member)}" />
+						</xsl:when>
+					</xsl:choose>
+				</xsl:when>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	link target (A index) keywords
+	============================================================================================= -->
+
+	<xsl:template name="t_linkMetadata">
+
+		<!-- code entity reference keyword -->
+		<MSHelp:Keyword Index="A"
+										Term="{$key}" />
+
+		<xsl:if test="$g_topicGroup='api' and $g_apiSubGroup='enumeration'">
+			<xsl:for-each select="/document/reference/elements/element">
+				<MSHelp:Keyword Index="A"
+												Term="{@api}" />
+			</xsl:for-each>
+		</xsl:if>
+
+		<!-- frlrf keywords -->
+		<xsl:call-template name="t_FrlrfKeywords"/>
+
+	</xsl:template>
+
+	<xsl:template name="t_FrlrfKeywords">
+		<xsl:variable name="v_FrlrfTypeName">
+			<!-- for members and nested types, start with the containing type name -->
+			<xsl:for-each select="/document/reference/containers/type">
+				<xsl:call-template name="t_FrlrfTypeName"/>
+			</xsl:for-each>
+			<!-- for types and member list topics, append the type name -->
+			<xsl:if test="/document/reference/apidata[@group='type']">
+				<xsl:for-each select="/document/reference">
+					<xsl:call-template name="t_FrlrfTypeName"/>
+				</xsl:for-each>
+			</xsl:if>
+		</xsl:variable>
+		<xsl:variable name="v_memberName">
+			<xsl:choose>
+				<xsl:when test="/document/reference/apidata[@subgroup='constructor']">
+					<xsl:value-of select="'ctor'"/>
+				</xsl:when>
+				<xsl:when test="/document/reference/apidata[@subsubgroup='operator']">
+					<xsl:value-of select="concat('op_', /document/reference/apidata/@name)"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="/document/reference/apidata/@name"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<xsl:choose>
+			<!-- namespace topic -->
+			<xsl:when test="/document/reference/apidata/@group='namespace'">
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf',$v_memberName),'.','')}"/>
+			</xsl:when>
+			<!-- Overload topic -->
+			<xsl:when test="/document/reference/topicdata[@subgroup='overload']">
+				<xsl:variable name="v_FrlrfBaseId">
+					<xsl:value-of select="translate(concat('frlrf', $g_namespaceName, $v_FrlrfTypeName, 'Class', $v_memberName, 'Topic'),'.','')"/>
+				</xsl:variable>
+				<MSHelp:Keyword Index="A"
+												Term="{$v_FrlrfBaseId}"/>
+				<!-- whidbey included frlrf keyword for each overload, but I don't think we need in Manifold, so commenting it out -->
+				<!--
+        <xsl:for-each select="elements/element">
+          <MSHelp:Keyword Index="A" Term="{concat($v_FrlrfBaseId, string(position()))}"/>
+        </xsl:for-each>
+        -->
+			</xsl:when>
+			<!-- Member list topic (other than overload list captured above) -->
+			<xsl:when test="/document/reference/topicdata[@group='list']">
+				<xsl:variable name="v_memberListSubgroup">
+					<xsl:choose>
+						<xsl:when test="/document/reference/topicdata/@subgroup='members'">Members</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="/document/reference/topicdata/@subgroup"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf', $g_namespaceName, $v_FrlrfTypeName, $v_memberListSubgroup, 'Topic'),'.','')}"/>
+			</xsl:when>
+			<!-- type topic -->
+			<xsl:when test="/document/reference/apidata[@group='type']">
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf',$g_namespaceName, $v_FrlrfTypeName, 'ClassTopic'),'.','')}"/>
+			</xsl:when>
+			<!-- no frlrf ID for overload signature topics-->
+			<xsl:when test="/document/reference/apidata[@group='member'] and /document/reference/memberdata/@overload"/>
+			<!-- non-overload member topic -->
+			<xsl:when test="/document/reference/apidata[@group='member']">
+				<MSHelp:Keyword Index="A"
+												Term="{translate(concat('frlrf',$g_namespaceName, $v_FrlrfTypeName, 'Class', $v_memberName, 'Topic'),'.','')}"/>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_FrlrfTypeName">
+		<xsl:for-each select="type">
+			<xsl:call-template name="t_FrlrfTypeName"/>
+		</xsl:for-each>
+		<xsl:choose>
+			<xsl:when test="templates/template">
+				<xsl:value-of select="concat(apidata/@name, count(templates/template))"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	F1 (F index) keywords
+	============================================================================================= -->
+
+	<xsl:template name="t_helpMetadata">
+		<!-- F keywords -->
+		<xsl:choose>
+			<!-- namespace pages get the namespace keyword, if it exists -->
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:variable name="v_namespace" select="/document/reference/apidata/@name" />
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{$v_namespace}" />
+				</xsl:if>
+			</xsl:when>
+			<!-- Type overview page gets type and namespace.type keywords. -->
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:variable name="v_namespace" select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type)}" />
+				</xsl:if>
+				<MSHelp:Keyword Index="F" Term="{$v_type}" />
+				<xsl:if test="$g_apiTopicSubGroup = 'enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<xsl:choose>
+							<xsl:when test="string($v_namespace) != ''">
+								<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type, '.', apidata/@name)}" />
+							</xsl:when>
+							<xsl:otherwise>
+								<MSHelp:Keyword Index="F" Term="{concat($v_type, '.', apidata/@name)}" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:for-each>
+				</xsl:if>
+				<xsl:call-template name="xamlMSHelpFKeywords"/>
+			</xsl:when>
+
+			<!-- No F keywords on AllMembers pages, TFS 851543. -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='members'" />
+
+			<!-- overload list pages get member, type.member, and namepsace.type.member keywords -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload'">
+				<xsl:variable name="v_namespace" select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_member">
+					<xsl:choose>
+						<!-- if the member is a constructor, use the member name for the type name -->
+						<xsl:when test="/document/reference/apidata[@subgroup='constructor']">
+							<xsl:value-of select="$v_type" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="/document/reference/apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type, '.', $v_member)}" />
+				</xsl:if>
+				<MSHelp:Keyword Index="F" Term="{concat($v_type, '.', $v_member)}" />
+				<MSHelp:Keyword Index="F" Term="{$v_member}" />
+			</xsl:when>
+
+			<!-- no F1 help entries for overload signature topics -->
+			<xsl:when test="$g_apiTopicGroup='member' and /document/reference/memberdata/@overload"/>
+
+			<!-- member pages get member, type.member, and namepsace.type.member keywords -->
+			<xsl:when test="$g_apiTopicGroup='member'">
+				<xsl:variable name="v_namespace" select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_member">
+					<xsl:choose>
+						<!-- if the member is a constructor, use the member name for the type name -->
+						<xsl:when test="$g_apiTopicSubGroup='constructor'">
+							<xsl:value-of select="$v_type" />
+						</xsl:when>
+						<!-- explicit interface implementation -->
+						<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+							<xsl:for-each select="/document/reference/implements/member">
+								<xsl:call-template name="typeNameWithTicks" />
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="/document/reference/apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<xsl:if test="string($v_namespace) != ''">
+					<MSHelp:Keyword Index="F" Term="{concat($v_namespace,'.',$v_type, '.', $v_member)}" />
+				</xsl:if>
+				<MSHelp:Keyword Index="F" Term="{concat($v_type, '.', $v_member)}" />
+				<MSHelp:Keyword Index="F" Term="{$v_member}" />
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Set high help priority for namespace and member list pages, lower priority for type overview pages
+	============================================================================================= -->
+
+	<xsl:template name="t_helpPriorityMetadata">
+		<xsl:choose>
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='namespace') or ($g_topicGroup='list' and $g_topicSubGroup='members')">
+				<MSHelp:Attr Name="HelpPriority"
+										 Value="1"/>
+			</xsl:when>
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='type'">
+				<MSHelp:Attr Name="HelpPriority"
+										 Value="2"/>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Language attributes
+	============================================================================================= -->
+
+	<xsl:template name="t_mshelpDevlangAttributes">
+		<!-- First insert a DevLang attribute for each language in the $languages argument passed to the transform -->
+		<xsl:for-each select="$languages/language">
+			<xsl:variable name="v_devlang">
+				<xsl:call-template name="t_codeLangName">
+					<xsl:with-param name="p_codeLang" select="@name"/>
+				</xsl:call-template>
+			</xsl:variable>
+			<xsl:if test="normalize-space($v_devlang)!=''">
+				<MSHelp:Attr Name="DevLang">
+					<includeAttribute name="Value" item="metaLang_{$v_devlang}" undefined="{$v_devlang}"/>
+				</MSHelp:Attr>
+			</xsl:if>
+		</xsl:for-each>
+
+		<!-- Make a list of the languages that have already been included via $languages -->
+		<xsl:variable name="languagesList">
+			<xsl:for-each select="$languages/language">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@name"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:if test="normalize-space($v_devlang)!=''">
+					<xsl:value-of select="$v_devlang"/>
+					<xsl:text>;</xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<!-- Add DevLang attribute for any additional languages referred to in the topic's snippet and code nodes -->
+		<xsl:for-each select="//*[@language]">
+			<xsl:if test="not(@language=preceding::*/@language)">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@language"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="normalize-space($v_devlang)=''"/>
+					<xsl:when test="contains($languagesList,concat($v_devlang,';'))"/>
+					<xsl:otherwise>
+						<MSHelp:Attr Name="DevLang">
+							<includeAttribute name="Value" item="metaLang_{$v_devlang}" undefined="{$v_devlang}"/>
+						</MSHelp:Attr>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+
+		<!-- Extend the list of languages that have already been included -->
+		<xsl:variable name="languagesList2">
+			<xsl:value-of select="$languagesList"/>
+			<xsl:for-each select="//*[@language]">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@language"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:if test="normalize-space($v_devlang)!=''">
+					<xsl:value-of select="$v_devlang"/>
+					<xsl:text>;</xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<!-- Add DevLang attribute for any additional languages referred to in the topic's syntax blocks -->
+		<xsl:for-each select="/document/syntax/div[@codeLanguage and not(div[@class='nonXamlAssemblyBoilerplate'])]">
+			<xsl:if test="not(@codeLanguage=preceding::*/@codeLanguage)">
+				<xsl:variable name="v_devlang">
+					<xsl:call-template name="t_codeLangName">
+						<xsl:with-param name="p_codeLang" select="@codeLanguage"/>
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="normalize-space($v_devlang)=''"/>
+					<xsl:when test="contains($languagesList2,concat($v_devlang,';'))"/>
+					<xsl:otherwise>
+						<MSHelp:Attr Name="DevLang">
+							<includeAttribute name="Value" item="metaLang_{$v_devlang}" undefined="{$v_devlang}"/>
+						</MSHelp:Attr>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+	<!-- ============================================================================================
+  Additional F1 keywords for class, struct, and enum topics in a set of WPF namespaces. 
+  This template inserts the MSHelp:Keyword nodes.
+  The keyword prefixes and the WPF namespaces are hard-coded in variables.
+	============================================================================================= -->
+
+	<xsl:variable name="g_wpf_f1index_prefix_1">http://schemas.microsoft.com/winfx/2006/xaml/presentation#</xsl:variable>
+	<xsl:variable name="g_wpf_f1index_prefix_1_namespaces">N:System.Windows.Controls#N:System.Windows.Documents#N:System.Windows.Shapes#N:System.Windows.Navigation#N:System.Windows.Data#N:System.Windows#N:System.Windows.Controls.Primitives#N:System.Windows.Media.Animation#N:System.Windows.Annotations#N:System.Windows.Annotations.Anchoring#N:System.Windows.Annotations.Storage#N:System.Windows.Media#N:System.Windows.Media.Animation#N:System.Windows.Media.Media3D#N:</xsl:variable>
+
+	<xsl:template name="xamlMSHelpFKeywords">
+		<xsl:if test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='enumeration' or $g_apiTopicSubGroup='structure'">
+			<xsl:if test="boolean(contains($g_wpf_f1index_prefix_1_namespaces, concat('#',/document/reference/containers/namespace/@api,'#'))
+                           or starts-with($g_wpf_f1index_prefix_1_namespaces, concat(/document/reference/containers/namespace/@api,'#')))">
+				<MSHelp:Keyword Index="F"
+												Term="{concat($g_wpf_f1index_prefix_1, /document/reference/apidata/@name)}"/>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+  Index Logic
+	============================================================================================= -->
+
+	<xsl:template name="t_indexMetadata">
+		<xsl:choose>
+			<!-- namespace topics get one unqualified index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='namespace'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<MSHelp:Keyword Index="K">
+					<includeAttribute name="Term"
+														item="indexEntry_namespace">
+						<parameter>
+							<xsl:value-of select="msxsl:node-set($v_names)/name" />
+						</parameter>
+					</includeAttribute>
+				</MSHelp:Keyword>
+			</xsl:when>
+			<!-- type overview topics get qualified and unqualified index entries, and an about index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='type'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+					<xsl:if test="boolean($v_namespace != '')">
+						<MSHelp:Keyword Index="K">
+							<includeAttribute name="Term"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="$v_namespace"/>
+									<xsl:text>.</xsl:text>
+									<xsl:copy-of select="." />
+								</parameter>
+							</includeAttribute>
+						</MSHelp:Keyword>
+					</xsl:if>
+				</xsl:for-each>
+				<!-- enumerations get the index entries for their members -->
+				<xsl:if test="$g_apiSubGroup='enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<MSHelp:Keyword Index="K">
+							<includeAttribute name="Term"
+																item="indexEntry_{$g_apiSubGroup}Member">
+								<parameter>
+									<xsl:value-of select="apidata/@name" />
+								</parameter>
+							</includeAttribute>
+						</MSHelp:Keyword>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- all member lists get unqualified entries, qualified entries, and unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='members'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_members">
+							<parameter>
+								<include item="indexEntry_{$g_apiSubGroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:if test="boolean($v_namespace != '')">
+					<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+						<MSHelp:Keyword Index="K">
+							<includeAttribute name="Term"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="." />
+								</parameter>
+							</includeAttribute>
+						</MSHelp:Keyword>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- other member list pages get unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and not($g_topicSubGroup = 'overload')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="$g_topicSubGroup='Operators'">
+						<xsl:variable name="v_operators"
+													select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+						<xsl:variable name="v_conversions"
+													select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<!-- operators + type conversions -->
+								<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'operatorsAndTypeConversions'" />
+								</xsl:when>
+								<!-- no operators + type conversions -->
+								<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'typeConversions'" />
+								</xsl:when>
+								<!-- operators + no type conversions -->
+								<xsl:otherwise>
+									<xsl:value-of select="$g_topicSubGroup" />
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$g_apiTopicSubGroup}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- constructor (or constructor overload) topics get unqualified sub-entries using the type names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor' and not(/document/reference/memberdata/@overload)) or ($g_topicSubGroup='overload' and $g_apiSubGroup = 'constructor')">
+				<xsl:variable name="v_typeSubgroup"
+											select="/document/reference/containers/type/apidata/@subgroup" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference/containers/type">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_constructor">
+							<parameter>
+								<include item="indexEntry_{$v_typeSubgroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_constructorType">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- op_explicit and op_implicit members -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="operatorTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<MSHelp:Keyword Index="K">
+						<includeAttribute name="Term"
+															item="indexEntry_conversionOperator">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</MSHelp:Keyword>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- other member (or overload) topics get qualified and unqualified entries using the member names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member' and not(/document/reference/memberdata/@overload)) or $g_topicSubGroup='overload'">
+
+				<xsl:choose>
+					<!-- overload op_explicit and op_implicit topics -->
+					<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+					</xsl:when>
+					<!-- explicit interface implementation -->
+					<xsl:when test="/document/reference/proceduredata/@virtual='true' and /document/reference/memberdata/@visibility='private'">
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference/implements/member">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiSubSubGroup='operator'">
+											<xsl:value-of select="$g_apiSubSubGroup"/>
+										</xsl:when>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<MSHelp:Keyword Index="K">
+								<includeAttribute name="Term"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</MSHelp:Keyword>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+
+			</xsl:when>
+			<!-- derived type lists get unqualified sub-entries -->
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/metadataHelp30.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/metadataHelp30.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..519770ecdba5103d94a622fe424e06f7bfd3ba18
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/metadataHelp30.xsl
@@ -0,0 +1,729 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+   >
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_insertMetadataHelp30">
+
+		<!-- System.Language -->
+		<meta name="Language">
+			<includeAttribute name="content" item="locale" />
+		</meta>
+
+		<!-- System.Title -->
+		<!-- <title> is set elsewhere -->
+
+		<!-- System.Keywords -->
+		<!-- Microsoft.Help.F1 -->
+		<xsl:call-template name="t_indexMetadata30" />
+		<xsl:call-template name="t_helpMetadata30" />
+		<xsl:call-template name="t_authoredMetadata30" />
+
+		<!-- Microsoft.Help.Id -->
+		<meta name="Microsoft.Help.Id" content="{$key}" />
+
+		<!-- Microsoft.Help.Description -->
+		<xsl:if test="$g_abstractSummary">
+			<xsl:variable name="v_description">
+				<xsl:call-template name="t_getTrimmedAtPeriod">
+					<xsl:with-param name="p_string" select="$g_abstractSummary" />
+				</xsl:call-template>
+			</xsl:variable>
+			<xsl:if test="normalize-space($v_description)">
+				<meta name="Description">
+					<xsl:attribute name="content">
+						<xsl:value-of select="normalize-space($v_description)"/>
+					</xsl:attribute>
+				</meta>
+			</xsl:if>
+		</xsl:if>
+
+		<!-- Microsoft.Help.TocParent -->
+		<xsl:if test="/document/metadata/attribute[@name='TOCParent']">
+			<meta name="Microsoft.Help.TocParent" content="{/document/metadata/attribute[@name='TOCParent']}" />
+		</xsl:if>
+		<xsl:if test="/document/metadata/attribute[@name='TOCOrder']">
+			<meta name="Microsoft.Help.TocOrder" content="{/document/metadata/attribute[@name='TOCOrder']}" />
+		</xsl:if>
+
+		<!-- Microsoft.Help.Category -->
+		<xsl:for-each select="/document/metadata/attribute[@name='Category']">
+			<meta name="Microsoft.Help.Category" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentFilter -->
+		<xsl:for-each select="/document/metadata/attribute[@name='ContentFilter']">
+			<meta name="Microsoft.Help.ContentFilter" content="{.}" />
+		</xsl:for-each>
+
+		<!-- Microsoft.Help.ContentType -->
+		<meta name="Microsoft.Help.ContentType" content="Reference" />
+
+		<!-- Microsoft.Package.Book -->
+		<xsl:variable name="v_book" select="/document/metadata/attribute[@name='Book']/text()" />
+		<xsl:if test="$v_book">
+			<meta name="Microsoft.Package.Book" content="{$v_book}" />
+		</xsl:if>
+
+		<!-- Branding aware.  This prevents the MSHC Component from changing a couple of CSS style names. -->
+		<meta name="BrandingAware" content="true"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_indexMetadata30">
+		<xsl:choose>
+			<!-- namespace topics get one unqualified index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='namespace'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<meta name="System.Keywords">
+					<includeAttribute name="content"
+														item="indexEntry_namespace">
+						<parameter>
+							<xsl:value-of select="msxsl:node-set($v_names)/name" />
+						</parameter>
+					</includeAttribute>
+				</meta>
+			</xsl:when>
+			<!-- type overview topics get qualified and unqualified index entries, and an about index entry -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiGroup='type'">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</meta>
+					<xsl:if test="boolean($v_namespace != '')">
+						<meta name="System.Keywords">
+							<includeAttribute name="content"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="$v_namespace"/>
+									<xsl:text>.</xsl:text>
+									<xsl:copy-of select="." />
+								</parameter>
+							</includeAttribute>
+						</meta>
+					</xsl:if>
+				</xsl:for-each>
+				<!-- enumerations get the index entries for their members -->
+				<xsl:if test="$g_apiSubGroup='enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<meta name="System.Keywords">
+							<includeAttribute name="content"
+																item="indexEntry_{$g_apiSubGroup}Member">
+								<parameter>
+									<xsl:value-of select="apidata/@name" />
+								</parameter>
+							</includeAttribute>
+						</meta>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- all member lists get unqualified entries, qualified entries, and unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='members'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_{$g_apiSubGroup}">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</meta>
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_members">
+							<parameter>
+								<include item="indexEntry_{$g_apiSubGroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:if test="boolean($v_namespace != '')">
+					<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+						<meta name="System.Keywords">
+							<includeAttribute name="content"
+																item="indexEntry_{$g_apiSubGroup}">
+								<parameter>
+									<xsl:value-of select="." />
+								</parameter>
+							</includeAttribute>
+						</meta>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+			<!-- other member list pages get unqualified sub-entries -->
+			<xsl:when test="$g_topicGroup='list' and not($g_topicSubGroup = 'overload')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:choose>
+					<xsl:when test="$g_topicSubGroup='Operators'">
+						<xsl:variable name="v_operators"
+													select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+						<xsl:variable name="v_conversions"
+													select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" />
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<!-- operators + type conversions -->
+								<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'operatorsAndTypeConversions'" />
+								</xsl:when>
+								<!-- no operators + type conversions -->
+								<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+									<xsl:value-of select="'typeConversions'" />
+								</xsl:when>
+								<!-- operators + no type conversions -->
+								<xsl:otherwise>
+									<xsl:value-of select="$g_topicSubGroup" />
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$g_apiTopicSubGroup}">
+									<parameter>
+										<include item="indexEntry_{$g_apiSubGroup}">
+											<parameter>
+												<xsl:value-of select="." />
+											</parameter>
+										</include>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- constructor (or constructor overload) topics get unqualified sub-entries using the type names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor' and not(/document/reference/memberdata/@overload)) or ($g_topicSubGroup='overload' and $g_apiSubGroup = 'constructor')">
+				<xsl:variable name="v_typeSubgroup"
+											select="/document/reference/containers/type/apidata/@subgroup" />
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference/containers/type">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_constructor">
+							<parameter>
+								<include item="indexEntry_{$v_typeSubgroup}">
+									<parameter>
+										<xsl:value-of select="." />
+									</parameter>
+								</include>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+				<xsl:variable name="v_qnames">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="qualifiedTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_constructorType">
+							<parameter>
+								<xsl:value-of select="." />
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- op_explicit and op_implicit members -->
+			<xsl:when test="$g_topicGroup='api' and $g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+				<xsl:variable name="v_names">
+					<xsl:for-each select="/document/reference">
+						<xsl:call-template name="operatorTextNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:for-each select="msxsl:node-set($v_names)/name">
+					<meta name="System.Keywords">
+						<includeAttribute name="content"
+															item="indexEntry_conversionOperator">
+							<parameter>
+								<xsl:copy-of select="."/>
+							</parameter>
+						</includeAttribute>
+					</meta>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- other member (or overload) topics get qualified and unqualified entries using the member names -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member' and not(/document/reference/memberdata/@overload)) or $g_topicSubGroup='overload'">
+
+				<xsl:choose>
+					<!-- overload op_explicit and op_implicit topics -->
+					<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+					</xsl:when>
+					<!-- explicit interface implementation -->
+					<xsl:when test="/document/reference/proceduredata/@virtual='true' and /document/reference/memberdata/@visibility='private'">
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference/implements/member">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}Explicit">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_entryType">
+							<xsl:choose>
+								<xsl:when test="string($g_apiTopicSubSubGroup)">
+									<xsl:value-of select="$g_apiTopicSubSubGroup" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:choose>
+										<xsl:when test="$g_apiSubSubGroup='operator'">
+											<xsl:value-of select="$g_apiSubSubGroup"/>
+										</xsl:when>
+										<xsl:when test="$g_apiTopicSubGroup='overload'">
+											<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="$g_apiTopicSubGroup" />
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:variable>
+						<xsl:variable name="v_names">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="textNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_names)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+						<xsl:variable name="v_qnames">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="qualifiedTextNames" />
+							</xsl:for-each>
+						</xsl:variable>
+						<xsl:for-each select="msxsl:node-set($v_qnames)/name">
+							<meta name="System.Keywords">
+								<includeAttribute name="content"
+																	item="indexEntry_{$v_entryType}">
+									<parameter>
+										<xsl:copy-of select="."/>
+									</parameter>
+								</includeAttribute>
+							</meta>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+
+			</xsl:when>
+			<!-- derived type lists get unqualified sub-entries -->
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_helpMetadata30">
+		<!-- F keywords -->
+		<xsl:choose>
+
+			<!-- namespace pages get the namespace keyword, if it exists -->
+			<xsl:when test="$g_apiTopicGroup='namespace'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/apidata/@name" />
+				<xsl:if test="$v_namespace != ''">
+					<meta name="Microsoft.Help.F1"
+								content="{$v_namespace}" />
+				</xsl:if>
+			</xsl:when>
+
+			<!-- type memberlist topics do NOT get F keywords -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='members'"/>
+
+			<!-- type overview pages get namespace.type keywords -->
+			<xsl:when test="$g_apiTopicGroup='type'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference[1]">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:call-template name="t_writeF1WithApiName">
+					<xsl:with-param name="p_namespace"
+													select="$v_namespace" />
+					<xsl:with-param name="p_type"
+													select="$v_type" />
+					<xsl:with-param name="p_member"
+													select="''" />
+				</xsl:call-template>
+
+				<!-- for enums, write F1 keywords for each enum member -->
+				<xsl:if test="$g_apiTopicSubGroup = 'enumeration'">
+					<xsl:for-each select="/document/reference/elements/element">
+						<xsl:call-template name="t_writeF1WithApiName">
+							<xsl:with-param name="p_namespace"
+															select="$v_namespace" />
+							<xsl:with-param name="p_type"
+															select="$v_type" />
+							<xsl:with-param name="p_member"
+															select="apidata/@name" />
+						</xsl:call-template>
+
+					</xsl:for-each>
+				</xsl:if>
+
+				<!-- Insert additional F1 keywords to support XAML for class, struct, and enum topics in a set of namespaces. -->
+				<xsl:call-template name="t_xamlMSHelpFKeywords30"/>
+			</xsl:when>
+
+			<!-- overload list pages get namespace.type.member keyword -->
+			<xsl:when test="$g_apiTopicGroup='list' and $g_apiTopicSubGroup='overload'">
+				<xsl:variable name="v_namespace"
+											select="/document/reference/containers/namespace/apidata/@name" />
+				<xsl:variable name="v_type">
+					<xsl:for-each select="/document/reference[1]/containers">
+						<xsl:call-template name="typeNameWithTicks" />
+					</xsl:for-each>
+				</xsl:variable>
+
+				<xsl:variable name="v_containingTypeId"
+											select="/document/reference/containers/type[1]/@api" />
+				<!-- do not write F1 keyword for overload list topics that contain only inherited members -->
+				<xsl:if test="/document/reference/elements//element/containers/type[1][@api=$v_containingTypeId]">
+
+					<!-- Generate a result tree fragment with all of the names for this overload page, TFS 856956, 864173-->
+					<xsl:variable name="v_F1Names">
+						<xsl:choose>
+							<xsl:when test="/document/reference/apidata[@subgroup='constructor']">
+								<name>
+									<xsl:text>#ctor</xsl:text>
+								</name>
+								<name>
+									<xsl:value-of select="/document/reference/containers/type[1]/apidata/@name" />
+								</name>
+							</xsl:when>
+							<xsl:otherwise>
+								<name>
+									<xsl:value-of select="/document/reference/apidata/@name" />
+								</name>
+								<xsl:for-each select="/document/reference/elements/element[templates and containers/type[1][@api=$v_containingTypeId]]">
+									<name>
+										<xsl:value-of select="apidata/@name" />
+										<xsl:text>``</xsl:text>
+										<xsl:value-of select="count(templates/template)" />
+									</name>
+								</xsl:for-each>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+
+					<xsl:for-each select="msxsl:node-set($v_F1Names)//name[not(. = preceding::name)]">
+						<xsl:sort select="." />
+						<xsl:call-template name="t_writeF1WithApiName">
+							<xsl:with-param name="p_namespace"
+															select="$v_namespace" />
+							<xsl:with-param name="p_type"
+															select="$v_type" />
+							<xsl:with-param name="p_member"
+															select="." />
+						</xsl:call-template>
+					</xsl:for-each>
+				</xsl:if>
+			</xsl:when>
+
+			<!-- member pages -->
+			<xsl:when test="$g_apiTopicGroup='member'">
+				<xsl:choose>
+					<!-- no F1 help entries for overload signature topics -->
+					<xsl:when test="/document/reference/memberdata/@overload"/>
+
+					<!-- no F1 help entries for explicit interface implementation members -->
+					<xsl:when test="/document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]"/>
+
+					<!-- Property pages -->
+					<xsl:when test="$g_apiTopicSubGroup = 'property'">
+
+						<xsl:variable name="v_type">
+							<xsl:for-each select="/document/reference[1]/containers">
+								<xsl:call-template name="typeNameWithTicks" />
+							</xsl:for-each>
+						</xsl:variable>
+
+						<xsl:for-each select="document/reference/apidata/@name | document/reference/getter/@name | document/reference/setter/@name">
+							<xsl:call-template name="t_writeF1WithApiName">
+								<xsl:with-param name="p_namespace"
+																select="/document/reference/containers/namespace/apidata/@name" />
+								<xsl:with-param name="p_type"
+																select="$v_type" />
+								<xsl:with-param name="p_member"
+																select="." />
+							</xsl:call-template>
+						</xsl:for-each>
+					</xsl:when>
+
+					<!-- other member pages get namespace.type.member keywords -->
+					<xsl:otherwise>
+						<xsl:call-template name="t_memberF1KeywordsHelp30"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Insert additional F1 keywords for class, struct, and enum topics in a set of WPF namespaces.
+	The keyword prefixes and the WPF namespaces are hard-coded in variables.
+	============================================================================================= -->
+
+	<xsl:template name="t_xamlMSHelpFKeywords30">
+		<xsl:if test="$g_apiTopicSubGroup='class' or $g_apiTopicSubGroup='enumeration' or $g_apiTopicSubGroup='structure'">
+			<xsl:if test="boolean(contains($g_wpf_f1index_prefix_1_namespaces, concat('#',/document/reference/containers/namespace/@api,'#'))
+                           or starts-with($g_wpf_f1index_prefix_1_namespaces, concat(/document/reference/containers/namespace/@api,'#')))">
+				<meta name="Microsoft.Help.F1"
+							content="{concat($g_wpf_f1index_prefix_1, /document/reference/apidata/@name)}"/>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_writeF1WithApiName">
+		<xsl:param name="p_namespace"/>
+		<xsl:param name="p_type" />
+		<xsl:param name="p_member" />
+
+		<!-- Make versions of namespace and member that are joinable. -->
+
+		<xsl:variable name="v_namespaceJoinable">
+			<xsl:choose>
+				<xsl:when test="$p_namespace = ''">
+					<xsl:value-of select="''" />
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="concat($p_namespace, '.')" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:variable name="v_memberJoinable">
+			<xsl:choose>
+				<xsl:when test="$p_member = ''">
+					<xsl:value-of select="''" />
+				</xsl:when>
+				<xsl:when test="substring($p_type, string-length($p_type)) = '.'">
+					<xsl:value-of select="$p_member" />
+				</xsl:when>
+				<xsl:when test="substring($p_member, string-length($p_member)) = '.'">
+					<xsl:value-of select="substring($p_member, string-length($p_member) - 1)" />
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="concat('.', $p_member)" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:variable name="v_apiName"
+									select="concat($v_namespaceJoinable, $p_type, $v_memberJoinable)" />
+
+		<xsl:if test="not($v_namespaceJoinable != '' and $p_type = '' and $v_memberJoinable != '') and $v_apiName != ''">
+			<meta name="Microsoft.Help.F1"
+						content="{concat($v_namespaceJoinable, $p_type, $v_memberJoinable)}" />
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template name="t_memberF1KeywordsHelp30">
+		<xsl:variable name="v_namespace"
+									select="/document/reference/containers/namespace/apidata/@name" />
+		<xsl:variable name="v_type">
+			<xsl:for-each select="/document/reference/containers/type[1]">
+				<xsl:call-template name="typeNameWithTicks" />
+			</xsl:for-each>
+		</xsl:variable>
+		<xsl:variable name="v_member">
+			<xsl:choose>
+				<!-- if the member is a constructor, use "#ctor" as the member name -->
+				<xsl:when test="/document/reference/apidata[@subgroup='constructor']">#ctor</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="/document/reference/apidata/@name"/>
+					<!-- for generic members, include tick notation for number of generic template parameters. -->
+					<xsl:if test="/document/reference/templates/template">
+						<xsl:text>``</xsl:text>
+						<xsl:value-of select="count(/document/reference/templates/template)"/>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:call-template name="t_writeF1WithApiName">
+			<xsl:with-param name="p_namespace"
+											select="$v_namespace" />
+			<xsl:with-param name="p_type"
+											select="$v_type" />
+			<xsl:with-param name="p_member"
+											select="$v_member" />
+		</xsl:call-template>
+
+		<!-- Write the constructor again as type.type -->
+		<xsl:if test="/document/reference/apidata[@subgroup='constructor']">
+			<xsl:call-template name="t_writeF1WithApiName">
+				<xsl:with-param name="p_namespace"
+												select="$v_namespace" />
+				<xsl:with-param name="p_type"
+												select="$v_type" />
+				<xsl:with-param name="p_member"
+												select="/document/reference/containers/type/apidata/@name" />
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Attributes and keywords added to topics by authors
+	============================================================================================= -->
+
+	<xsl:template name="t_authoredMetadata30">
+
+		<xsl:for-each select="/document/metadata/keyword[@index='K']">
+			<meta name="System.Keywords">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='K']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+		<!-- authored F -->
+		<xsl:for-each select="/document/metadata/keyword[@index='F']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='F']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+		<!-- authored B -->
+		<xsl:for-each select="/document/metadata/keyword[@index='B']">
+			<meta name="Microsoft.Help.F1">
+				<xsl:attribute name="content">
+					<xsl:value-of select="text()" />
+					<xsl:for-each select="keyword[@index='B']">
+						<xsl:text>, </xsl:text>
+						<xsl:value-of select="text()"/>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:for-each>
+
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/seealso_dduexml.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/seealso_dduexml.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..5b2c3f8cf5c9862f87a726812163b1e9ed33ca9d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/seealso_dduexml.xsl
@@ -0,0 +1,162 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="conceptualTopicTypes.xsl"/>
+
+	<!-- ============================================================================================
+	Process relatedTopics
+	============================================================================================= -->
+
+	<xsl:template match="ddue:relatedTopics" mode="seeAlso">
+		<xsl:param name="p_autoGenerateLinks" select="false()"/>
+
+		<xsl:variable name="v_taskLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='tasks'">
+					<xsl:copy-of select="."/>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_conceptLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id]">
+				<xsl:variable name="v_topicTypeId">
+					<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+				</xsl:variable>
+				<xsl:variable name="v_seeAlsoGroup">
+					<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+				</xsl:variable>
+				<xsl:if test="$v_seeAlsoGroup='concepts'">
+					<xsl:copy-of select="."/>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_referenceLinks">
+			<xsl:for-each select="(ddue:link | ddue:legacyLink)[@topicType_id] | ddue:codeEntityReference">
+				<xsl:choose>
+					<xsl:when test="self::ddue:codeEntityReference">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="$v_seeAlsoGroup='reference'">
+							<xsl:copy-of select="."/>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:variable name="v_otherLinks">
+			<xsl:for-each select="ddue:link | ddue:legacyLink | ddue:dynamicLink[@type='inline'] | ddue:externalLink">
+				<xsl:choose>
+					<xsl:when test="self::ddue:dynamicLink">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:when test="self::ddue:externalLink">
+						<xsl:copy-of select="."/>
+					</xsl:when>
+					<xsl:when test="@topicType_id">
+						<xsl:variable name="v_topicTypeId">
+							<xsl:value-of select="translate(@topicType_id, $g_allLowerCaseLetters, $g_allUpperCaseLetters)"/>
+						</xsl:variable>
+						<xsl:variable name="v_seeAlsoGroup">
+							<xsl:value-of select="translate(msxsl:node-set($g_topicTypes)/topic[@guid = $v_topicTypeId]/@seeAlsoGroup, $g_allUpperCaseLetters, $g_allLowerCaseLetters)"/>
+						</xsl:variable>
+						<xsl:if test="($v_seeAlsoGroup!='tasks') and ($v_seeAlsoGroup!='concepts') and ($v_seeAlsoGroup!='reference')">
+							<xsl:copy-of select="."/>
+						</xsl:if>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:copy-of select="."/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:for-each>
+		</xsl:variable>
+
+		<xsl:if test="msxsl:node-set($v_taskLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_tasks'"/>
+				<xsl:with-param name="p_members"
+												select="$v_taskLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_referenceLinks)/* or boolean($p_autoGenerateLinks)">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_reference'"/>
+				<xsl:with-param name="p_members"
+												select="$v_referenceLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="$p_autoGenerateLinks"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_conceptLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_concepts'"/>
+				<xsl:with-param name="p_members"
+												select="$v_conceptLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="msxsl:node-set($v_otherLinks)/*">
+			<xsl:call-template name="t_putSeeAlsoSubSection">
+				<xsl:with-param name="p_headerGroup"
+												select="'title_seeAlso_otherResources'"/>
+				<xsl:with-param name="p_members"
+												select="$v_otherLinks"/>
+				<xsl:with-param name="p_autoGenerateLinks"
+												select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template name="t_putSeeAlsoSubSection">
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_autoGenerateLinks"
+							 select="false()"/>
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="{$p_headerGroup}"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:if test="boolean($p_autoGenerateLinks)">
+					<xsl:call-template name="t_autogenSeeAlsoLinks"/>
+				</xsl:if>
+				<xsl:for-each select="msxsl:node-set($p_members)/*">
+					<div class="seeAlsoStyle">
+						<xsl:apply-templates select="."/>
+					</div>
+				</xsl:for-each>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/skeleton.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/skeleton.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1a171e36a685024500fb88d688c3c204922d9d42
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/skeleton.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<reference />
+	<syntax />
+	<comments />
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/skeleton_conceptual.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/skeleton_conceptual.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90ef0c71d916776145a2521b051917d57a4e10e2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/skeleton_conceptual.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<document>
+	<metadata />
+</document>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_bibliography.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_bibliography.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..1ca2c28172c85beee0a4d03f39b4211620c77a6f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_bibliography.xsl
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:template name="bibliographyReference">
+    <xsl:param name="number" />
+    <xsl:param name="data" />
+
+    <xsl:if test="$data">
+      <div class="bibliographStyle">
+        <span class="bibliographyNumber">
+          <xsl:attribute name="id">cite<xsl:value-of select="$number"/></xsl:attribute>
+          [<xsl:value-of select="$number"/>]
+        </span>
+        <span class="bibliographyAuthor"><xsl:value-of select="$data/author/text()" /></span>
+        <xsl:text>, </xsl:text>
+        <span class="bibliographyTitle"><xsl:value-of select="$data/title/text()" /></span>
+        <xsl:if test="$data/publisher">
+          <xsl:text>, </xsl:text>
+          <span class="bibliographyPublisher"><xsl:value-of select="$data/publisher/text()" /></span>
+        </xsl:if>
+        <xsl:if test="$data/link">
+          <xsl:text>, </xsl:text>
+          <a>
+            <xsl:attribute name="href"><xsl:value-of select="$data/link/text()" /></xsl:attribute>
+            <xsl:attribute name="target">_blank</xsl:attribute>
+						<xsl:attribute name="rel">
+							<xsl:text>noopener noreferrer</xsl:text>
+						</xsl:attribute>
+						<xsl:value-of select="$data/link/text()" />
+          </a>
+        </xsl:if>
+      </div>
+    </xsl:if>
+  </xsl:template>
+  
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_dduexml.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_dduexml.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..51fd32e184f45f6648f1496d442dfd37579798e6
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_dduexml.xsl
@@ -0,0 +1,1845 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="globalTemplates.xsl"/>
+	<xsl:import href="codeTemplates.xsl"/>
+
+	<!-- ============================================================================================
+	The Remarks section includes content from these nodes, excluding the xaml sections which are captured in the xaml syntax processing
+	============================================================================================= -->
+
+	<xsl:template name="t_hasRemarksContent">
+		<xsl:param name="p_node"/>
+		<xsl:choose>
+			<xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:content)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForImplementers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForCallers)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:notesForInheritors)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:platformNotes)">true</xsl:when>
+			<xsl:when test="normalize-space($p_node/ddue:remarks/ddue:sections/ddue:section[not(
+                starts-with(@address,'xamlValues') or 
+                starts-with(@address,'xamlTextUsage') or 
+                starts-with(@address,'xamlAttributeUsage') or 
+                starts-with(@address,'xamlPropertyElementUsage') or 
+                starts-with(@address,'xamlImplicitCollectionUsage') or 
+                starts-with(@address,'xamlObjectElementUsage') or 
+                starts-with(@address,'dependencyPropertyInfo') or 
+                starts-with(@address,'routedEventInfo')
+                )])">true</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Remarks
+	============================================================================================= -->
+
+	<xsl:template match="ddue:remarks"
+								name="t_ddue_Remarks">
+		<xsl:call-template name="t_writeRemarksSection">
+			<xsl:with-param name="p_node"
+											select=".."/>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_writeRemarksSection">
+		<xsl:param name="p_node"/>
+
+		<xsl:variable name="v_hasRemarks">
+			<xsl:call-template name="t_hasRemarksContent">
+				<xsl:with-param name="p_node"
+												select="$p_node"/>
+			</xsl:call-template>
+		</xsl:variable>
+
+		<xsl:if test="$v_hasRemarks='true'">
+			<xsl:choose>
+				<xsl:when test="not($g_apiTopicGroup = 'namespace')">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_remarks'"/>
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+							<!-- HostProtectionAttribute -->
+							<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
+								<xsl:call-template name="t_hostProtectionContent"/>
+							</xsl:if>
+							<xsl:apply-templates select="$p_node/ddue:notesForImplementers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForCallers"/>
+							<xsl:apply-templates select="$p_node/ddue:notesForInheritors"/>
+							<xsl:apply-templates select="$p_node/ddue:platformNotes"/>
+							<include item="meta_mshelp_KTable">
+								<parameter>
+									<xsl:text>tt_</xsl:text>
+									<xsl:value-of select="$key"/>
+								</parameter>
+							</include>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates select="$p_node/ddue:remarks/*"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_hostProtectionContent">
+		<!-- HostProtectionAttribute boilerplate -->
+		<xsl:call-template name="t_putAlert">
+			<xsl:with-param name="p_alertClass"
+											select="'note'"/>
+			<xsl:with-param name="p_alertContent">
+				<include item="boilerplate_hostProtectionAttribute">
+					<parameter>
+						<xsl:value-of select="concat('text_', $g_apiTopicSubGroup, 'Lower')"/>
+					</parameter>
+					<parameter>
+						<span class="label">
+							<xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
+								<xsl:value-of select="@name"/>
+								<xsl:if test="position() != last()">
+									<xsl:text> | </xsl:text>
+								</xsl:if>
+							</xsl:for-each>
+						</span>
+					</parameter>
+				</include>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Sections
+	============================================================================================= -->
+
+	<xsl:template match="ddue:sections"
+								name="t_ddue_sections">
+		<xsl:apply-templates select="ddue:section"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:section"
+								name="t_ddue_section">
+		<!-- display the section only if it has content (text or media)-->
+		<xsl:if test="descendant::ddue:content[normalize-space(.)] or descendant::ddue:content/*">
+			<!-- Count all the possible ancestor root nodes -->
+			<xsl:variable name="a1"
+										select="count(ancestor::ddue:attributesandElements)"/>
+			<xsl:variable name="a2"
+										select="count(ancestor::ddue:codeExample)"/>
+			<xsl:variable name="a3"
+										select="count(ancestor::ddue:dotNetFrameworkEquivalent)"/>
+			<xsl:variable name="a4"
+										select="count(ancestor::ddue:elementInformation)"/>
+			<xsl:variable name="a5"
+										select="count(ancestor::ddue:exceptions)"/>
+			<xsl:variable name="a6"
+										select="count(ancestor::ddue:introduction)"/>
+			<xsl:variable name="a7"
+										select="count(ancestor::ddue:languageReferenceRemarks)"/>
+			<xsl:variable name="a8"
+										select="count(ancestor::ddue:nextSteps)"/>
+			<xsl:variable name="a9"
+										select="count(ancestor::ddue:parameters)"/>
+			<xsl:variable name="a10"
+										select="count(ancestor::ddue:prerequisites)"/>
+			<xsl:variable name="a11"
+										select="count(ancestor::ddue:procedure)"/>
+			<xsl:variable name="a12"
+										select="count(ancestor::ddue:relatedTopics)"/>
+			<xsl:variable name="a13"
+										select="count(ancestor::ddue:remarks)"/>
+			<xsl:variable name="a14"
+										select="count(ancestor::ddue:requirements)"/>
+			<xsl:variable name="a15"
+										select="count(ancestor::ddue:schemaHierarchy)"/>
+			<xsl:variable name="a16"
+										select="count(ancestor::ddue:syntaxSection)"/>
+			<xsl:variable name="a17"
+										select="count(ancestor::ddue:textValue)"/>
+			<xsl:variable name="a18"
+										select="count(ancestor::ddue:type)"/>
+			<xsl:variable name="a19"
+										select="count(ancestor::ddue:section)"/>
+			<xsl:variable name="total"
+										select="$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10+$a11+$a12+$a13+$a14+$a15+$a16+$a17+$a18+$a19"/>
+			<xsl:choose>
+				<!-- Don't render the 'Change History' section here; it's handled in the t_writeChangeHistorySection template. -->
+				<xsl:when test="ddue:title = 'Change History'"/>
+
+				<xsl:when test="$total = 0">
+					<xsl:call-template name="t_putSection">
+						<xsl:with-param name="p_title">
+							<xsl:apply-templates select="ddue:title" mode="section"/>
+						</xsl:with-param>
+						<xsl:with-param name="p_id" select="@address" />
+						<xsl:with-param name="p_content">
+							<xsl:apply-templates select="ddue:content"/>
+							<xsl:apply-templates select="ddue:sections"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:when>
+				<xsl:otherwise>
+					<h4 class="subHeading">
+						<xsl:if test="@address">
+							<xsl:attribute name="id">
+								<xsl:value-of select="@address"/>
+							</xsl:attribute>
+						</xsl:if>
+						<xsl:apply-templates select="ddue:title" mode="section"/>
+					</h4>
+					<div class="subsection">
+						<xsl:apply-templates select="ddue:content"/>
+						<xsl:apply-templates select="ddue:sections"/>
+					</div>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:title" mode="section" name="t_ddue_sectionTitle">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Block Elements
+	============================================================================================= -->
+
+	<xsl:template match="ddue:para"
+								name="t_ddue_para">
+		<p>
+			<xsl:apply-templates />
+		</p>
+	</xsl:template>
+
+	<xsl:template match="ddue:summary"
+								name="t_ddue_summary">
+		<xsl:if test="not(@abstract='true')">
+			<!-- The ddue:summary element is redundant since it's optional in
+           the MAML schema but ddue:introduction is not.  Using abstract='true'
+           will prevent the summary from being included in the topic. -->
+			<div class="summary">
+				<xsl:apply-templates />
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForImplementers" name="t_ddue_notesForImplementers">
+		<p>
+			<span class="label">
+				<include item="text_NotesForImplementers"/>
+			</span>
+		</p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForCallers" name="t_ddue_notesForCallers">
+		<p>
+			<span class="label">
+				<include item="text_NotesForCallers"/>
+			</span>
+		</p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:notesForInheritors" name="t_ddue_notesForInheritors">
+		<p>
+			<span class="label">
+				<include item="text_NotesForInheritors"/>
+			</span>
+		</p>
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:platformNotes"
+								name="t_ddue_platformNotes">
+		<xsl:for-each select="ddue:platformNote[normalize-space(ddue:content)]">
+			<p>
+				<include item="boilerplate_PlatformNote">
+					<parameter>
+						<xsl:for-each select="ddue:platforms/ddue:platform">
+							<xsl:variable name="v_platformName">
+								<xsl:value-of select="."/>
+							</xsl:variable>
+							<include item="{$v_platformName}"/>
+							<xsl:if test="position() != last()">, </xsl:if>
+						</xsl:for-each>
+					</parameter>
+					<parameter>
+						<xsl:apply-templates select="ddue:content"/>
+					</parameter>
+				</include>
+			</p>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:platformNotes/ddue:platformNote/ddue:content/ddue:para"
+								name="t_ddue_platformNote_para">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:schemaHierarchy"
+								name="t_ddue_schemaHierarchy">
+		<xsl:for-each select="ddue:link">
+			<xsl:call-template name="t_putIndent">
+				<xsl:with-param name="p_count"
+												select="position()"/>
+			</xsl:call-template>
+			<xsl:apply-templates select="."/>
+			<br/>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:syntaxSection" name="t_ddue_syntaxSection">
+		<div id="syntaxSection">
+			<xsl:if test="ddue:legacySyntax">
+				<div id="snippetGroup_Syntax" class="code">
+					<xsl:for-each select="ddue:legacySyntax">
+						<div class="codeSnippetContainerCode">
+							<pre xml:space="preserve"><xsl:apply-templates xml:space="preserve"/></pre>
+						</div>
+					</xsl:for-each>
+				</div>
+			</xsl:if>
+		</div>
+	</xsl:template>
+
+	<!-- just pass these through -->
+	<xsl:template match="ddue:content"
+								name="t_ddue_content">
+		<xsl:apply-templates/>
+	</xsl:template>
+	<xsl:template match="ddue:legacy"
+								name="t_ddue_legacy">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:procedure"
+								name="t_ddue_procedure">
+		<xsl:if test="normalize-space(ddue:title)">
+			<h3 class="procedureSubHeading">
+				<xsl:if test="@address">
+					<xsl:attribute name="id">
+						<xsl:value-of select="@address"/>
+					</xsl:attribute>
+				</xsl:if>
+				<xsl:value-of select="ddue:title"/>
+			</h3>
+		</xsl:if>
+		<div class="subSection">
+			<xsl:if test="@address and not(normalize-space(ddue:title))">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates select="ddue:steps"/>
+			<xsl:apply-templates select="ddue:conclusion"/>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:steps"
+								name="t_ddue_steps">
+		<xsl:choose>
+			<xsl:when test="@class = 'ordered'">
+				<xsl:variable name="v_temp">
+					<xsl:value-of select="count(ddue:step)"/>
+				</xsl:variable>
+				<xsl:if test="$v_temp = 1">
+					<ul>
+						<xsl:apply-templates select="ddue:step"/>
+					</ul>
+			</xsl:if>
+				<xsl:if test="$v_temp &gt; 1">
+					<ol>
+						<xsl:apply-templates select="ddue:step"/>
+					</ol>
+				</xsl:if>
+			</xsl:when>
+			<xsl:when test="@class='bullet'">
+				<ul>
+					<xsl:apply-templates select="ddue:step"/>
+				</ul>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:step"
+								name="t_ddue_step">
+		<li>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</li>
+	</xsl:template>
+
+
+	<xsl:template match="ddue:inThisSection"
+								name="t_ddue_inThisSection">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_inThisSection'"/>
+			<xsl:with-param name="p_content">
+				<xsl:apply-templates/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="ddue:buildInstructions"
+								name="t_ddue_buildInstructions">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_buildInstructions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:nextSteps"
+								name="t_ddue_nextSteps">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_nextSteps'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:requirements"
+								name="t_ddue_requirements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_requirements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageReferenceRemarks"
+								name="t_ddue_languageReferenceRemarks">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_remarks'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributesandElements"
+								name="t_ddue_attributesandElements">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_attributesAndElements'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attributes"
+								name="t_ddue_attributes">
+		<xsl:if test="normalize-space(.)">
+			<h4 class="subHeading">
+				<include item="title_attributes"/>
+			</h4>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute"
+								name="t_ddue_attribute">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:attribute/ddue:title"
+								name="t_ddue_attributeTitle">
+		<h4 class="subHeading">
+			<xsl:apply-templates/>
+		</h4>
+	</xsl:template>
+
+	<xsl:template match="ddue:childElement"
+								name="t_ddue_childElement">
+		<xsl:if test="normalize-space(.)">
+			<h4 class="subHeading">
+				<include item="title_childElement"/>
+			</h4>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parentElement"
+								name="t_ddue_parentElement">
+		<xsl:if test="normalize-space(.)">
+			<h4 class="subHeading">
+				<include item="title_parentElement"/>
+			</h4>
+			<xsl:apply-templates/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:textValue"
+								name="t_ddue_textValue">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_textValue'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:elementInformation"
+								name="t_ddue_elementInformation">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_elementInformation'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:dotNetFrameworkEquivalent"
+								name="t_ddue_dotNetFrameworkEquivalent">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_dotNetFrameworkEquivalent'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:prerequisites"
+								name="t_ddue_prerequisites">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_prerequisites'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:type"
+								name="t_ddue_type">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:title_robustProgramming"
+								name="t_ddue_robustProgramming">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_robustProgramming'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:security"
+								name="t_ddue_security">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_securitySection'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:externalResources"
+								name="t_ddue_externalResources">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_externalResources'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:demonstrates"
+								name="t_ddue_demonstrates">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_demonstrates'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:appliesTo"
+								name="t_ddue_appliesTo">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_appliesTo'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:conclusion"
+								name="t_ddue_conclusion">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:background"
+								name="t_ddue_background">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_background'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:whatsNew"
+								name="t_ddue_whatsNew">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_whatsNew'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:reference"
+								name="t_ddue_reference">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_reference'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerErrorMessageDocument"
+								name="t_ddue_developerErrorMessageDocument">
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<xsl:when test="name() = 'secondaryErrorTitle'">
+					<xsl:if test="not(../ddue:nonLocErrorTitle)">
+						<xsl:apply-templates select=".">
+							<xsl:with-param name="newSection">yes</xsl:with-param>
+						</xsl:apply-templates>
+					</xsl:if>
+				</xsl:when>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<xsl:template match="ddue:nonLocErrorTitle" name="t_ddue_nonLocErrorTitle">
+		<xsl:if test="string-length(../ddue:nonLocErrorTitle[normalize-space(.)]) > 0 or string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<div id="errorTitleSection">
+				<xsl:if test="../ddue:secondaryErrorTitle">
+					<h4 class="subHeading">
+						<include item="title_errorMessage"/>
+					</h4>
+					<xsl:apply-templates select="../ddue:secondaryErrorTitle">
+						<xsl:with-param name="newSection">no</xsl:with-param>
+					</xsl:apply-templates>
+				</xsl:if>
+				<xsl:apply-templates/>
+				<p><xsl:text> </xsl:text></p>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:secondaryErrorTitle" name="t_ddue_secondaryErrorTitle">
+		<xsl:param name="newSection"/>
+		<xsl:if test="string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
+			<xsl:choose>
+				<xsl:when test="$newSection = 'yes'">
+					<div id="errorTitleSection">
+						<xsl:apply-templates/>
+						<p><xsl:text> </xsl:text></p>
+					</div>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates/>
+					<br/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:developerSampleDocument"
+								name="t_ddue_developerSampleDocument">
+		<!-- show the topic intro -->
+		<xsl:apply-templates select="ddue:introduction"/>
+
+		<!-- the sample download list section from dsSample -->
+		<xsl:if test="ddue:relatedTopics/ddue:sampleRef">
+			<include item="{ddue:relatedTopics/ddue:sampleRef/@srcID}"/>
+		</xsl:if>
+
+		<!-- then the rest of the topic's content -->
+		<xsl:for-each select="*">
+			<xsl:choose>
+				<!-- introduction was already captured above -->
+				<xsl:when test="name() = 'introduction'"/>
+
+				<xsl:otherwise>
+					<xsl:apply-templates select="."/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+
+	</xsl:template>
+
+	<xsl:template name="t_threadSafety">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_threadSafety'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="/document/comments/ddue:dduexml/ddue:threadSafety">
+						<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:threadSafety"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<include item="boilerplate_threadSafety"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Lists and Tables
+	============================================================================================= -->
+
+	<xsl:template match="ddue:list" name="t_ddue_list">
+		<xsl:choose>
+			<xsl:when test="@class='bullet'">
+				<ul>
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ul>
+			</xsl:when>
+			<xsl:when test="@class='ordered'">
+				<ol>
+					<xsl:if test="@start">
+						<xsl:attribute name="start">
+							<xsl:value-of select="@start"/>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ol>
+			</xsl:when>
+			<xsl:otherwise>
+				<ul class="noBullet">
+					<xsl:apply-templates select="ddue:listItem | ddue:list"/>
+				</ul>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:listItem" name="t_ddue_listItem">
+		<li>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates />
+		</li>
+	</xsl:template>
+
+	<xsl:template match="ddue:table" name="t_ddue_table">
+		<div class="tableSection">
+			<xsl:if test="normalize-space(ddue:title)">
+				<div class="caption">
+					<xsl:value-of select="ddue:title"/>
+				</div>
+			</xsl:if>
+			<table>
+				<xsl:apply-templates/>
+			</table>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader" name="t_ddue_tableHeader">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:row" name="t_ddue_row">
+		<tr>
+			<xsl:apply-templates/>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="ddue:entry" name="t_ddue_entry">
+		<td>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</td>
+	</xsl:template>
+
+	<xsl:template match="ddue:tableHeader/ddue:row/ddue:entry" name="t_ddue_tableHeaderRowEntry">
+		<th>
+			<xsl:apply-templates/>
+		</th>
+	</xsl:template>
+
+	<xsl:template match="ddue:definitionTable" name="t_ddue_definitionTable">
+		<dl>
+			<xsl:apply-templates/>
+		</dl>
+	</xsl:template>
+
+	<xsl:template match="ddue:definedTerm" name="t_ddue_definedTerm">
+		<dt>
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:apply-templates/>
+		</dt>
+	</xsl:template>
+
+	<xsl:template match="ddue:definition" name="t_ddue_definition">
+		<dd>
+			<xsl:apply-templates/>
+		</dd>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Code
+	============================================================================================= -->
+
+	<xsl:template match="ddue:snippets" name="t_ddue_snippets">
+		<xsl:if test="ddue:codeSnippetGroup">
+			<xsl:for-each select="ddue:codeSnippetGroup">
+				<xsl:call-template name="t_putCodeSections">
+					<xsl:with-param name="p_nodes" select="./ddue:snippet" />
+				</xsl:call-template>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeSnippetGroup" name="t_ddue_code">
+		<xsl:call-template name="t_putCodeSections">
+			<xsl:with-param name="p_nodes" select="./ddue:code" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="ddue:sampleCode" name="t_ddue_sampleCode">
+		<div>
+			<span class="label">
+				<xsl:value-of select="@language"/>
+			</span>
+		</div>
+		<div class="code">
+			<pre xml:space="preserve"><xsl:apply-templates/></pre>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeExamples" name="t_ddue_codeExamples">
+		<xsl:if test="normalize-space(.)">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_examples'"/>
+				<xsl:with-param name="p_content">
+					<xsl:apply-templates/>
+					<xsl:call-template name="t_moreCodeSection"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+  tasks/task nodes are inserted by TaskGrabberComponent which gets content from HowTo topics
+	these nodes are handled below in the t_moreCodeSection
+	============================================================================================= -->
+	<xsl:template match="ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/tasks"/>
+
+	<xsl:template name="t_moreCodeSection">
+		<xsl:variable name="v_gotCodeAlready"
+									select="boolean(
+													(ddue:codeExample/ddue:legacy/ddue:content[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets//ddue:snippet]) or
+													(ddue:codeExample[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets//ddue:snippet])
+													)"/>
+
+		<xsl:variable name="v_gotMoreCode"
+									select="(count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;1) or 
+                           ($v_gotCodeAlready and count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;0)"/>
+
+		<!-- if no preceding code in the code examples section, display the tasks[1]/task[1] -->
+		<xsl:if test="not($v_gotCodeAlready)">
+			<xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks[1]/task[1]">
+				<xsl:apply-templates select="ddue:introduction | ddue:codeExample"/>
+			</xsl:for-each>
+		</xsl:if>
+
+		<xsl:if test="$v_gotMoreCode">
+			<sections>
+				<h4 class="subHeading">
+					<include item="mrefTaskMoreCodeHeading"/>
+				</h4>
+				<div class="subsection">
+					<div class="tableSection">
+						<table>
+							<xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks/task">
+								<xsl:choose>
+									<xsl:when test="not($v_gotCodeAlready) and position()=1"/>
+									<xsl:otherwise>
+										<tr valign="top">
+											<td>
+												<conceptualLink target="{@topicId}">
+													<xsl:value-of select="ddue:title"/>
+												</conceptualLink>
+											</td>
+											<td>
+												<xsl:choose>
+													<xsl:when test="ddue:introduction/ddue:para[1][normalize-space(.)!='']">
+														<xsl:apply-templates select="ddue:introduction/ddue:para[1]/node()"/>
+													</xsl:when>
+													<xsl:when test="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1][normalize-space(.)!='']">
+														<xsl:apply-templates select="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1]/node()"/>
+													</xsl:when>
+												</xsl:choose>
+											</td>
+										</tr>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:for-each>
+						</table>
+					</div>
+				</div>
+			</sections>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Alerts
+	============================================================================================= -->
+
+	<xsl:template match="ddue:alert" name="t_ddue_alert">
+		<xsl:call-template name="t_putAlert"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Media
+	============================================================================================= -->
+
+	<xsl:template match="ddue:mediaLink" name="t_ddue_mediaLink">
+		<div>
+			<xsl:choose>
+				<xsl:when test="ddue:image[@placement='center']">
+					<xsl:attribute name="class">mediaCenter</xsl:attribute>
+				</xsl:when>
+				<xsl:when test="ddue:image[@placement='far']">
+					<xsl:attribute name="class">mediaFar</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="class">mediaNear</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:if test="ddue:caption and not(ddue:caption[@placement='after'])">
+				<div class="caption">
+					<xsl:if test="ddue:caption[@lead]">
+						<span class="captionLead">
+							<xsl:value-of select="normalize-space(ddue:caption/@lead)"/>:
+						</span>
+					</xsl:if>
+					<xsl:apply-templates select="ddue:caption"/>
+				</div>
+			</xsl:if>
+			<artLink target="{ddue:image/@xlink:href}"/>
+			<xsl:if test="ddue:caption and ddue:caption[@placement='after']">
+				<div class="caption">
+					<xsl:if test="ddue:caption[@lead]">
+						<span class="captionLead">
+							<xsl:value-of select="normalize-space(ddue:caption/@lead)"/>:
+						</span>
+					</xsl:if>
+					<xsl:apply-templates select="ddue:caption"/>
+				</div>
+			</xsl:if>
+		</div>
+	</xsl:template>
+
+	<xsl:template match="ddue:mediaLinkInline" name="t_ddue_mediaLinkInline">
+		<span class="media">
+			<artLink target="{ddue:image/@xlink:href}"/>
+		</span>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inline elements
+	============================================================================================= -->
+
+	<xsl:template match="ddue:span" name="t_ddue_span">
+		<xsl:choose>
+			<!-- fix bug 361746 - use copy-of, so that span class="keyword", "literal" and "comment" 
+           nodes are copied to preserve code colorization in snippets -->
+			<xsl:when test="@class='keyword' or @class='identifier' or @class='literal' or @class='parameter' or @class='typeparameter' or @class='comment'">
+				<xsl:copy-of select="."/>
+			</xsl:when>
+			<!-- If the class is unrecognized skip it -->
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:languageKeyword" name="t_ddue_languageKeyword">
+		<xsl:variable name="v_keyword" select="."/>
+		<xsl:variable name="v_syntaxKeyword">
+			<xsl:if test="/document/syntax">
+				<xsl:value-of select="'true'"/>
+			</xsl:if>
+		</xsl:variable>
+		<xsl:choose>
+			<xsl:when test="$v_keyword='null' or $v_keyword='Nothing' or $v_keyword='nullptr'">
+				<xsl:call-template name="t_nullKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='static' or $v_keyword='Shared'">
+				<xsl:call-template name="t_staticKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='virtual' or $v_keyword='Overridable'">
+				<xsl:call-template name="t_virtualKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='true' or $v_keyword='True'">
+				<xsl:call-template name="t_trueKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='false' or $v_keyword='False'">
+				<xsl:call-template name="t_falseKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='abstract' or $v_keyword='MustInherit'">
+				<xsl:call-template name="t_abstractKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='sealed' or $v_keyword='NotInheritable'">
+				<xsl:call-template name="t_sealedKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='async' or $v_keyword='Async'">
+				<xsl:call-template name="t_asyncKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='await' or $v_keyword='Await'">
+				<xsl:call-template name="t_awaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="$v_keyword='async/await' or $v_keyword='Async/Await'">
+				<xsl:call-template name="t_asyncAwaitKeyword">
+					<xsl:with-param name="p_syntaxKeyword" select="$v_syntaxKeyword"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="code">
+					<xsl:value-of select="."/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="ddue:application"
+								name="t_ddue_application">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeFeaturedElement"
+								name="t_ddue_codeFeaturedElement">
+		<xsl:if test="normalize-space(.)">
+			<span class="label">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeInline"
+								name="t_ddue_codeInline">
+		<xsl:if test="normalize-space(.)">
+			<span class="code">
+				<xsl:value-of select="." />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:command"
+								name="t_ddue_command">
+		<xsl:if test="normalize-space(.)">
+			<span class="command">
+				<xsl:apply-templates />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:computerOutputInline"
+								name="t_ddue_computerOutputInline">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:corporation"
+								name="t_ddue_corporation">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:country"
+								name="t_ddue_country">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:database"
+								name="t_ddue_database">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:date"
+								name="t_ddue_date">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:embeddedLabel"
+								name="t_ddue_embeddedLabel">
+		<xsl:if test="normalize-space(.)">
+			<span class="label">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:environmentVariable"
+								name="t_ddue_environmentVariable">
+		<xsl:call-template name="t_ddue_codeInline"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:errorInline"
+								name="t_ddue_errorInline">
+		<xsl:if test="normalize-space(.)">
+			<em>
+				<xsl:apply-templates/>
+			</em>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:hardware"
+								name="t_ddue_hardware">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:fictitiousUri"
+								name="t_ddue_fictitiousUri">
+		<xsl:call-template name="t_ddue_localUri"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:foreignPhrase"
+								name="t_ddue_foreignPhrase">
+		<xsl:if test="normalize-space(.)">
+			<span class="foreignPhrase">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyBold"
+								name="t_ddue_legacyBold">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates />
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyItalic" name="t_ddue_legacyItalic">
+		<xsl:if test="normalize-space(.)">
+			<em>
+				<xsl:apply-templates />
+			</em>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyUnderline"
+								name="t_ddue_legacyUnderline">
+		<xsl:if test="normalize-space(.)">
+			<u>
+				<xsl:apply-templates />
+			</u>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:lineBreak" name="t_ddue_lineBreak">
+		<br />
+	</xsl:template>
+
+	<xsl:template match="ddue:literal"
+								name="t_ddue_literal">
+		<xsl:if test="normalize-space(.)">
+			<span class="literal">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:localizedText"
+								name="t_ddue_localizedText">
+		<xsl:apply-templates/>
+	</xsl:template>
+
+	<xsl:template match="ddue:localUri"
+								name="t_ddue_localUri">
+		<xsl:if test="normalize-space(.)">
+			<em>
+				<xsl:apply-templates/>
+			</em>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:math"
+								name="t_ddue_math">
+		<xsl:if test="normalize-space(.)">
+			<span class="math">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:newTerm"
+								name="t_ddue_newTerm">
+		<xsl:if test="normalize-space(.)">
+			<span class="term">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:parameterReference"
+								name="t_ddue_parameterReference">
+		<xsl:if test="normalize-space(.)">
+			<span class="parameter">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:phrase"
+								name="t_ddue_phrase">
+		<xsl:if test="normalize-space(.)">
+			<span class="phrase">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:placeholder"
+								name="t_ddue_placeholder">
+		<xsl:call-template name="t_ddue_replaceable"/>
+	</xsl:template>
+
+	<xsl:template match="ddue:quote"
+								name="t_ddue_quote">
+		<xsl:if test="normalize-space(.)">
+			<blockquote>
+				<xsl:apply-templates/>
+			</blockquote>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:quoteInline"
+								name="t_ddue_quoteInline">
+		<xsl:if test="normalize-space(.)">
+			<q>
+				<xsl:apply-templates/>
+			</q>
+	</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:replaceable"
+								name="t_ddue_replaceable">
+		<xsl:if test="normalize-space(.)">
+			<span class="placeholder">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:subscript|ddue:subscriptType" name="t_ddue_subscript">
+		<xsl:if test="normalize-space(.)">
+			<sub>
+				<xsl:apply-templates/>
+			</sub>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:superscript|ddue:superscriptType" name="t_ddue_superscript">
+		<xsl:if test="normalize-space(.)">
+			<sup>
+				<xsl:apply-templates/>
+			</sup>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:system"
+								name="t_ddue_system">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:ui"
+								name="t_ddue_ui">
+		<xsl:if test="normalize-space(.)">
+			<span class="ui">
+				<xsl:apply-templates/>
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:unmanagedCodeEntityReference"
+								name="t_ddue_unmanagedCodeEntityReference">
+		<xsl:if test="normalize-space(.)">
+			<strong>
+				<xsl:apply-templates/>
+			</strong>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInput"
+								name="t_ddue_userInput">
+		<xsl:if test="normalize-space(.)">
+			<span class="input">
+				<xsl:value-of select="." />
+			</span>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="ddue:userInputLocalizable"
+								name="t_ddue_userInputLocalizable">
+		<xsl:call-template name="t_ddue_userInput"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Pass through a chunk of markup.  This differs from the API markup template in that it must strip
+	off the "ddue" namespace.  This will allow build components to add HTML elements to a
+	pre-transformed document.  You can also use it in topics to support things that aren't addressed
+	by the MAML schema and the Sandcastle transforms.
+	============================================================================================= -->
+
+	<xsl:template match="ddue:markup" name="t_ddue_markup">
+		<xsl:apply-templates select="node()" mode="markup"/>
+	</xsl:template>
+
+	<xsl:template match="*" mode="markup" name="t_ddue_markup_content">
+		<xsl:element name="{name()}">
+			<xsl:copy-of select="@*"/>
+			<xsl:apply-templates select="node()" mode="markup"/>
+		</xsl:element>
+	</xsl:template>
+
+	<xsl:template match="text() | comment()" mode="markup" name="t_ddue_markup_text">
+		<xsl:copy-of select="."/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Links
+	============================================================================================= -->
+
+	<xsl:template match="ddue:externalLink" name="t_ddue_externalLink">
+		<a>
+			<xsl:attribute name="href">
+				<xsl:value-of select="normalize-space(ddue:linkUri)"/>
+			</xsl:attribute>
+			<xsl:if test="normalize-space(ddue:linkAlternateText)">
+				<xsl:attribute name="title">
+					<xsl:value-of select="normalize-space(ddue:linkAlternateText)"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:attribute name="target">
+				<xsl:choose>
+					<xsl:when test="normalize-space(ddue:linkTarget)">
+						<xsl:value-of select="normalize-space(ddue:linkTarget)"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>_blank</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:attribute>
+			<xsl:attribute name="rel">
+				<xsl:text>noopener noreferrer</xsl:text>
+			</xsl:attribute>
+			<xsl:value-of select="normalize-space(ddue:linkText)"/>
+		</a>
+	</xsl:template>
+
+	<xsl:template match="ddue:link" name="t_ddue_link">
+		<xsl:choose>
+			<xsl:when test="starts-with(@xlink:href,'#')">
+				<!-- In-page link -->
+				<a href="{@xlink:href}">
+					<xsl:apply-templates/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- Verified, external link -->
+				<conceptualLink target="{@xlink:href}">
+					<xsl:apply-templates/>
+				</conceptualLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:legacyLink" name="t_ddue_legacyLink">
+		<a href="{@xlink:href}" rel="noopener noreferrer">
+			<xsl:apply-templates />
+		</a>
+	</xsl:template>
+
+	<xsl:template match="ddue:codeEntityReference" name="t_ddue_codeEntityReference">
+		<referenceLink target="{normalize-space(string(.))}">
+			<xsl:if test="@qualifyHint">
+				<xsl:attribute name="show-container">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+				<xsl:attribute name="show-parameters">
+					<xsl:value-of select="@qualifyHint"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:if test="@autoUpgrade">
+				<xsl:attribute name="prefer-overload">
+					<xsl:value-of select="@autoUpgrade"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:choose>
+				<xsl:when test="normalize-space(@linkText)">
+					<xsl:value-of select="normalize-space(@linkText)"/>
+				</xsl:when>
+				<xsl:when test="starts-with(normalize-space(.), 'R:')">
+					<include item="topicTitle_root" />
+				</xsl:when>
+				<xsl:otherwise />
+			</xsl:choose>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Copyright notice
+	============================================================================================= -->
+
+	<xsl:template match="ddue:copyright"
+								name="t_ddue_copyright">
+		<!-- <p>{0} &copy;{1}{2}. All rights reserved.</p> -->
+		<include item="boilerplate_copyrightNotice">
+			<parameter>
+				<xsl:value-of select="ddue:trademark" />
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:year">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+			<parameter>
+				<xsl:for-each select="ddue:holder">
+					<xsl:if test="position() = 1">
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:value-of select="."/>
+					<xsl:if test="position() != last()">
+						<xsl:text>, </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Change history
+	============================================================================================= -->
+
+	<!-- Don't render the changeHistory section here; it's handled in the t_writeChangeHistorySection template. -->
+	<xsl:template match="ddue:changeHistory"
+								name="t_ddue_changeHistory"/>
+
+	<!-- Display a date to show when the topic was last updated. -->
+	<xsl:template name="t_writeFreshnessDate">
+		<!-- The $p_changedHistoryDate param is from the authored changeHistory table, if any. -->
+		<xsl:param name="p_changedHistoryDate"/>
+		<!-- Determine whether the authored date is a valid date string.  -->
+		<xsl:choose>
+			<!-- display nothing if the 'changeHistoryOptions' argument is set to 'omit' -->
+			<xsl:when test="$changeHistoryOptions = 'omit'"/>
+
+			<!-- if it's a valid date, display the freshness line. -->
+			<xsl:when test="normalize-space($p_changedHistoryDate)">
+				<p>
+					<include item="boilerplate_UpdateTitle">
+						<parameter>
+							<xsl:value-of select="normalize-space($p_changedHistoryDate)"/>
+						</parameter>
+					</include>
+				</p>
+			</xsl:when>
+
+			<!-- use a default date if no p_changedHistoryDate and the 'changeHistoryOptions' argument is set to 'showDefaultFreshnessDate' -->
+			<xsl:when test="$changeHistoryOptions = 'showDefaultFreshnessDate'">
+				<p>
+					<include item="boilerplate_UpdateTitle">
+						<parameter>
+							<include item="text_defaultFreshnessDate"/>
+						</parameter>
+					</include>
+				</p>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_writeChangeHistorySection">
+		<xsl:if test="$changeHistoryOptions!='omit'">
+			<!-- conceptual authored content is in /document/topic/*; mref content is in /document/comments/ddue:dduexml. -->
+			<xsl:for-each select="/document/comments/ddue:dduexml | /document/topic/*">
+				<!-- Get the change history section content, which can be in changeHistory or a section with title='Change History'. -->
+				<xsl:variable name="v_changeHistoryContent">
+					<xsl:choose>
+						<xsl:when test="ddue:changeHistory/ddue:content/ddue:table/ddue:row/ddue:entry[normalize-space(.)]">
+							<xsl:apply-templates select="ddue:changeHistory/ddue:content"/>
+						</xsl:when>
+						<xsl:when test=".//ddue:section[ddue:title = 'Change History']/ddue:content/ddue:table/ddue:row/ddue:entry[normalize-space(.)]">
+							<xsl:apply-templates select=".//ddue:section[ddue:title = 'Change History']/ddue:content"/>
+						</xsl:when>
+					</xsl:choose>
+				</xsl:variable>
+				<xsl:if test="normalize-space($v_changeHistoryContent)">
+					<xsl:call-template name="t_putSectionInclude">
+						<xsl:with-param name="p_titleInclude"
+														select="'title_changeHistory'"/>
+						<xsl:with-param name="p_content">
+							<xsl:copy-of select="$v_changeHistoryContent"/>
+						</xsl:with-param>
+					</xsl:call-template>
+				</xsl:if>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Glossary
+	============================================================================================= -->
+
+	<xsl:key name="k_glossaryTermFirstLetters"
+					 match="//ddue:glossaryEntry"
+					 use="translate(substring(ddue:terms/ddue:term/text(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ ')"/>
+
+	<xsl:template match="ddue:glossary"
+								name="t_ddue_glossary">
+		<xsl:if test="ddue:title">
+			<h2>
+				<xsl:value-of select="normalize-space(ddue:title)" />
+			</h2>
+		</xsl:if>
+		<xsl:choose>
+			<xsl:when test="ddue:glossaryDiv">
+				<!-- Organized glossary with glossaryDiv elements -->
+				<br/>
+				<xsl:for-each select="ddue:glossaryDiv">
+					<xsl:if test="ddue:title">
+						<xsl:choose>
+							<xsl:when test="@address">
+								<a href="#{@address}">
+									<xsl:value-of select="ddue:title" />
+								</a>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="ddue:title" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:if>
+					<xsl:if test="position() != last()">
+						<xsl:text> | </xsl:text>
+					</xsl:if>
+				</xsl:for-each>
+
+				<xsl:apply-templates select="ddue:glossaryDiv"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- Simple glossary consisting of nothing by glossaryEntry elements -->
+				<br/>
+				<xsl:call-template name="t_glossaryLetterBar"/>
+				<br/>
+				<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryDiv" name="t_ddue_glossaryDiv">
+		<div class="glossaryDiv">
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:if test="ddue:title">
+				<h3>
+					<xsl:value-of select="ddue:title"/>
+				</h3>
+			</xsl:if>
+			<hr class="glossaryRule"/>
+			<xsl:call-template name="t_glossaryLetterBar">
+				<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+			</xsl:call-template>
+			<br/>
+			<xsl:call-template name="t_glossaryGroupByEntriesTermFirstLetter">
+				<xsl:with-param name="p_sectionPrefix" select="generate-id()"/>
+			</xsl:call-template>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryGroupByEntriesTermFirstLetter">
+		<xsl:param name="p_sectionPrefix"
+							 select="''"/>
+		<xsl:variable name="v_div"
+									select="."/>
+		<!-- Group entries by the first letter of their terms using the Muenchian method.
+         http://www.jenitennison.com/xslt/grouping/muenchian.html -->
+		<xsl:for-each select="ddue:glossaryEntry[generate-id() = 
+                  generate-id(key('k_glossaryTermFirstLetters',
+                  translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                  [parent::node() = $v_div][1])]">
+			<xsl:sort select="ddue:terms/ddue:term[1]" />
+			<xsl:variable name="v_letter"
+										select="translate(substring(ddue:terms/ddue:term[1]/text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' '))"/>
+
+			<xsl:call-template name="t_glossaryEntryGroup">
+				<xsl:with-param name="p_link"
+												select="concat($p_sectionPrefix,$v_letter)"/>
+				<xsl:with-param name="p_name"
+												select="$v_letter"/>
+				<xsl:with-param name="p_nodes"
+												select="key('k_glossaryTermFirstLetters',
+                        translate($v_letter,$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')))
+                        [parent::node() = $v_div]"/>
+			</xsl:call-template>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="ddue:glossaryEntry" name="t_ddue_glossaryEntry">
+		<dt class="glossaryEntry">
+			<xsl:if test="@address">
+				<xsl:attribute name="id">
+					<xsl:value-of select="@address"/>
+				</xsl:attribute>
+			</xsl:if>
+			<xsl:for-each select="ddue:terms/ddue:term">
+				<xsl:sort select="normalize-space(.)" />
+
+				<xsl:choose>
+					<xsl:when test="@termId">
+						<span id="{@termId}">
+							<xsl:value-of select="normalize-space(.)" />
+						</span>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="normalize-space(.)" />
+					</xsl:otherwise>
+				</xsl:choose>
+
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+		</dt>
+		<dd class="glossaryEntry">
+			<xsl:apply-templates select="ddue:definition/*"/>
+
+			<xsl:if test="ddue:relatedEntry">
+				<div class="relatedEntry">
+					<include item="text_relatedEntries" />&#160;
+
+					<xsl:for-each select="ddue:relatedEntry">
+						<xsl:variable name="id" select="@termId" />
+						<a href="#{@termId}">
+							<xsl:value-of select="//ddue:term[@termId=$id]"/>
+						</a>
+						<xsl:if test="position() != last()">
+							<xsl:text>, </xsl:text>
+						</xsl:if>
+					</xsl:for-each>
+				</div>
+			</xsl:if>
+		</dd>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryEntryGroup">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:param name="p_nodes"/>
+		<div class="glossaryGroup">
+			<h3 class="glossaryGroupHeading">
+				<xsl:attribute name="id">
+					<xsl:value-of select="$p_link"/>
+				</xsl:attribute>
+				<xsl:value-of select="$p_name"/>
+			</h3>
+			<dl class="glossaryGroupList">
+				<xsl:apply-templates select="$p_nodes">
+					<xsl:sort select="ddue:terms/ddue:term"/>
+				</xsl:apply-templates>
+			</dl>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBar">
+		<xsl:param name="p_sectionPrefix" select="''"/>
+		<div class="glossaryLetterBar">
+			<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+				<xsl:with-param name="p_sectionPrefix" select="$p_sectionPrefix"/>
+				<xsl:with-param name="p_bar" select="$g_allUpperCaseLetters"/>
+				<xsl:with-param name="p_characterPosition" select="1"/>
+			</xsl:call-template>
+		</div>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLinkRecursive">
+		<xsl:param name="p_sectionPrefix"/>
+		<xsl:param name="p_bar"/>
+		<xsl:param name="p_characterPosition"/>
+		<xsl:variable name="v_letter"
+									select="substring($p_bar,$p_characterPosition,1)"/>
+		<xsl:if test="$v_letter">
+			<xsl:choose>
+				<xsl:when test="ddue:glossaryEntry[ddue:terms/ddue:term[1]
+                  [translate(substring(text(),1,1),$g_allLowerCaseLetters,concat($g_allUpperCaseLetters,' ')) = $v_letter]]">
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_link"
+														select="concat($p_sectionPrefix,$v_letter)"/>
+						<xsl:with-param name="p_name"
+														select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<xsl:text> | </xsl:text>
+					</xsl:if>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:call-template name="t_glossaryLetterBarLink">
+						<xsl:with-param name="p_name"
+														select="$v_letter"/>
+					</xsl:call-template>
+					<xsl:if test="not($p_characterPosition = string-length($p_bar))">
+						<xsl:text> | </xsl:text>
+					</xsl:if>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:call-template name="t_glossaryLetterBarLinkRecursive">
+				<xsl:with-param name="p_sectionPrefix"
+												select="$p_sectionPrefix"/>
+				<xsl:with-param name="p_bar"
+												select="$p_bar"/>
+				<xsl:with-param name="p_characterPosition"
+												select="$p_characterPosition + 1"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_glossaryLetterBarLink">
+		<xsl:param name="p_link"/>
+		<xsl:param name="p_name"/>
+		<xsl:choose>
+			<xsl:when test="$p_link">
+				<a href="#{$p_link}">
+					<xsl:value-of select="$p_name"/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="nolink">
+					<xsl:value-of select="$p_name"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_metadata.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_metadata.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..de9e9554a16e86a0480708f29e23134cabe3a6cb
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_metadata.xsl
@@ -0,0 +1,319 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
+		xmlns:msxsl="urn:schemas-microsoft-com:xslt" >
+
+	<xsl:template name="typeNameWithTicks">
+		<xsl:for-each select="type|(containers/type)">
+			<xsl:call-template name="typeNameWithTicks" />
+			<xsl:text>.</xsl:text>
+		</xsl:for-each>
+		<xsl:value-of select="apidata/@name" />
+		<xsl:if test="boolean(templates/template)">
+			<xsl:text>`</xsl:text>
+			<xsl:value-of select="count(templates/template)"/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="qualifiedTextNames">
+		<xsl:choose>
+			<!-- explicit interface implementations -->
+			<xsl:when test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+				<xsl:variable name="left">
+					<xsl:for-each select="containers/type">
+						<xsl:call-template name="textNames"/>
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:for-each select="implements/member">
+						<xsl:call-template name="textNames" />
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<!-- members get qualified by type name -->
+			<xsl:when test="apidata/@group='member' and containers/type">
+				<xsl:variable name="left">
+					<xsl:for-each select="containers/type">
+						<xsl:call-template name="textNames"/>
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="simpleTextNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<!-- types get qualified by namespace name -->
+			<xsl:when test="typedata and containers/namespace/apidata/@name">
+				<xsl:variable name="left">
+					<xsl:for-each select="containers/namespace">
+						<xsl:call-template name="simpleTextNames"/>
+					</xsl:for-each>
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="textNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- given two XML lists of API names (produced by textNames template below), produces an XML list
+  that dot-concatenates them, respecting the @language attributes -->
+	<xsl:template name="combineTextNames">
+		<xsl:param name="left" />
+		<xsl:param name="right" />
+		<xsl:param name="concatenateOperator" select="'.'" />
+
+		<xsl:choose>
+			<xsl:when test="count($left/name) &gt; 1">
+				<xsl:choose>
+					<xsl:when test="count($right/name) &gt; 1">
+						<!-- both left and right are multi-language -->
+						<xsl:for-each select="$left/name">
+							<xsl:variable name="language" select="@language" />
+							<name language="{$language}">
+								<xsl:apply-templates select="." />
+								<xsl:copy-of select="$concatenateOperator" />
+								<xsl:apply-templates select="$right/name[@language=$language]" />
+							</name>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- left is multi-language, right is not -->
+						<xsl:for-each select="$left/name">
+							<xsl:variable name="language" select="@language" />
+							<name language="{$language}">
+								<xsl:apply-templates select="." />
+								<xsl:if test="$right/name">
+									<xsl:copy-of select="$concatenateOperator"/>
+								</xsl:if>
+								<xsl:value-of select="$right/name"/>
+							</name>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:choose>
+					<xsl:when test="count($right/name) &gt; 1">
+						<!-- right is multi-language, left is not -->
+						<xsl:for-each select="$right/name">
+							<xsl:variable name="language" select="@language" />
+							<name language="{.}">
+								<xsl:value-of select="$left/name"/>
+								<xsl:if test="$left/name">
+									<xsl:copy-of select="$concatenateOperator"/>
+								</xsl:if>
+								<xsl:apply-templates select="." />
+							</name>
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- neiter is multi-language -->
+						<name>
+							<xsl:value-of select="$left/name"/>
+							<xsl:if test="$left/name and $right/name">
+								<xsl:copy-of select="$concatenateOperator"/>
+							</xsl:if>
+							<xsl:value-of select="$right/name"/>
+						</name>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- produces an XML list of API names; context is parent of apidata element -->
+	<!-- if there are no templates: <name>Blah</name> -->
+	<!-- if there are templates: <name langauge="c">Blah<T></name><name language="v">Blah(Of T)</name> -->
+	<xsl:template name="simpleTextNames">
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="index">
+					<xsl:with-param name="name" select="apidata/@name" />
+				</xsl:apply-templates>
+			</xsl:when>
+			<xsl:when test="templates">
+				<xsl:apply-templates select="templates" mode="index">
+					<xsl:with-param name="name" select="apidata/@name" />
+				</xsl:apply-templates>
+			</xsl:when>
+			<xsl:otherwise>
+				<name>
+					<xsl:choose>
+						<xsl:when test="apidata/@subgroup = 'constructor'">
+							<xsl:value-of select="containers/type/apidata/@name"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</name>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="textNames">
+		<xsl:choose>
+			<xsl:when test="typedata and (containers/type | type) and not($g_topicGroup='list')">
+				<xsl:variable name="left">
+					<xsl:apply-templates select="type | (containers/type)" mode="index" />
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="simpleTextNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:when test="type">
+				<xsl:variable name="left">
+					<xsl:apply-templates select="type" mode="index" />
+				</xsl:variable>
+				<xsl:variable name="right">
+					<xsl:call-template name="simpleTextNames" />
+				</xsl:variable>
+				<xsl:call-template name="combineTextNames">
+					<xsl:with-param name="left" select="msxsl:node-set($left)" />
+					<xsl:with-param name="right" select="msxsl:node-set($right)" />
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="simpleTextNames" />
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- produces a C#/C++ style generic template parameter list for inclusion in the index -->
+	<xsl:template name="csTemplateText">
+		<xsl:text>%3C</xsl:text>
+		<xsl:call-template name="templateText" />
+		<xsl:text>%3E</xsl:text>
+	</xsl:template>
+
+	<!-- produces a VB-style generic template parameter list for inclusion in the index -->
+	<xsl:template name="vbTemplateText">
+		<xsl:text>(Of </xsl:text>
+		<xsl:call-template name="templateText" />
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<!-- produces a comma-separated list of generic template parameter names -->
+	<!-- comma character is URL-encoded so as not to create sub-index entries -->
+	<xsl:template name="templateText">
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="index" />
+			<xsl:if test="not(position()=last())">
+				<xsl:text>%2C </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+	</xsl:template>
+
+
+	<xsl:template match="specialization | templates" mode="index" >
+		<xsl:param name="name" />
+		<name language="c">
+			<xsl:value-of select="$name" />
+			<xsl:call-template name="csTemplateText" />
+		</name>
+		<name language="v">
+			<xsl:value-of select="$name" />
+			<xsl:call-template name="vbTemplateText" />
+		</name>
+	</xsl:template>
+
+	<xsl:template match="template" mode="index">
+		<xsl:value-of select="@name" />
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="index">
+		<name language="c">
+			<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+			<xsl:text>[</xsl:text>
+			<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+			<xsl:text>]</xsl:text>
+		</name>
+		<name language="v">
+			<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+			<xsl:text>(</xsl:text>
+			<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+			<xsl:text>)</xsl:text>
+		</name>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="index">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="index">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates" mode="index"/>
+	</xsl:template>
+
+	<xsl:template match="type" mode="index">
+		<xsl:call-template name="textNames" />
+	</xsl:template>
+
+	<xsl:template match="name/name">
+		<xsl:variable name="lang" select="ancestor::*/@language"/>
+
+		<xsl:if test="not(@language) or @language = $lang">
+			<xsl:value-of select="."/>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="name/text()">
+		<xsl:value-of select="."/>
+	</xsl:template>
+
+	<xsl:template name="operatorTextNames">
+		<xsl:variable name="left">
+			<xsl:if test="parameters/parameter[1]">
+				<xsl:choose>
+					<xsl:when test="parameters/parameter[1]//specialization | parameters/parameter[1]//templates | parameters/parameter[1]//arrayOf">
+						<xsl:apply-templates select="parameters/parameter[1]" mode="index" />
+					</xsl:when>
+					<xsl:otherwise>
+						<name>
+							<xsl:apply-templates select="parameters/parameter[1]" mode="index" />
+						</name>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:variable>
+
+		<xsl:variable name="right">
+			<xsl:if test="returns[1]">
+				<xsl:choose>
+					<xsl:when test="returns[1]//specialization | returns[1]//templates | returns[1]//arrayOf">
+						<xsl:apply-templates select="returns[1]" mode="index" />
+					</xsl:when>
+					<xsl:otherwise>
+						<name>
+							<xsl:apply-templates select="returns[1]" mode="index" />
+						</name>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:if>
+		</xsl:variable>
+
+		<xsl:call-template name="combineTextNames">
+			<xsl:with-param name="left" select="msxsl:node-set($left)" />
+			<xsl:with-param name="right" select="msxsl:node-set($right)" />
+			<xsl:with-param name="concatenateOperator">
+				<xsl:text> to </xsl:text>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_reference.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_reference.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..344ec8422dfb9993c50af66204f55de3c7e74d0a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Transforms/utilities_reference.xsl
@@ -0,0 +1,2611 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+								version="2.0"
+								xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+								xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+								xmlns:xlink="http://www.w3.org/1999/xlink"
+								xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
+>
+	<!-- ======================================================================================== -->
+
+	<xsl:import href="utilities_metadata.xsl" />
+	<xsl:import href="metadataHelp30.xsl"/>
+	<xsl:import href="metadataHelp20.xsl"/>
+
+	<!-- ============================================================================================
+	Parameters - key parameter is the api identifier string - see globalTemplates for others
+	============================================================================================= -->
+
+	<xsl:param name="key"/>
+	<xsl:param name="maxVersionParts" />
+	<xsl:param name="includeEnumValues" select="string('true')" />
+	<xsl:param name="baseSourceCodeUrl" />
+	<xsl:param name="requestExampleUrl" />
+
+	<!-- ============================================================================================
+	Global Variables
+	============================================================================================= -->
+
+	<xsl:variable name="g_typeTopicId">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata[@group='api'] and /document/reference/apidata[@group='type']">
+				<xsl:value-of select="$key"/>
+			</xsl:when>
+			<xsl:when test="/document/reference/topicdata/@typeTopicId">
+				<xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/containers/type/@api"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicGroup"
+								select="/document/reference/topicdata/@group"/>
+	<xsl:variable name="g_apiGroup"
+								select="/document/reference/apidata/@group"/>
+	<xsl:variable name="g_apiTopicGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@group"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@group"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_topicSubGroup"
+								select="/document/reference/topicdata/@subgroup"/>
+	<xsl:variable name="g_apiSubGroup"
+								select="/document/reference/apidata/@subgroup"/>
+	<xsl:variable name="g_apiTopicSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_apiSubSubGroup"
+								select="/document/reference/apidata/@subsubgroup"/>
+	<xsl:variable name="g_apiTopicSubSubGroup">
+		<xsl:choose>
+			<xsl:when test="/document/reference/topicdata/@group = 'api'">
+				<xsl:value-of select="/document/reference/apidata/@subsubgroup"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/topicdata/@subsubgroup"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="g_namespaceName"
+								select="/document/reference/containers/namespace/apidata/@name"/>
+
+	<!-- ============================================================================================
+	Document body
+	============================================================================================= -->
+
+	<xsl:template match="/">
+		<html>
+			<head>
+				<link rel="shortcut icon">
+					<includeAttribute name="href" item="iconPath">
+						<parameter>
+							<xsl:value-of select="'favicon.ico'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<xsl:value-of select="'branding.css'"/>
+						</parameter>
+					</includeAttribute>
+				</link>
+				<link rel="stylesheet" type="text/css">
+					<includeAttribute name="href" item="stylePath">
+						<parameter>
+							<include item="brandingLocaleCss" />
+						</parameter>
+					</includeAttribute>
+				</link>
+				<script type="text/javascript">
+					<includeAttribute name="src" item="scriptPath">
+						<parameter>
+							<xsl:value-of select="'branding.js'"/>
+						</parameter>
+					</includeAttribute>
+					<xsl:text> </xsl:text>
+				</script>
+
+				<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+				<xsl:call-template name="t_insertNoIndexNoFollow"/>
+				<title>
+					<xsl:call-template name="t_topicTitlePlain">
+						<xsl:with-param name="p_qualifyMembers" select="true()" />
+					</xsl:call-template>
+				</title>
+				<xsl:call-template name="t_insertMetadataHelp30"/>
+				<xsl:call-template name="t_insertMetadataHelp20"/>
+				<xsl:call-template name="t_insertFilename"/>
+				<link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" />
+			</head>
+			<body onload="OnLoad('{$defaultLanguage}')">
+				<input type="hidden" id="userDataCache" class="userDataStyle" />
+				<div class="pageHeader" id="PageHeader">
+					<include item="runningHeaderText"/>
+				</div>
+				<div class="pageBody">
+					<div class="topicContent" id="TopicContent">
+						<xsl:call-template name="t_pageTitle"/>
+
+						<include item="header"/>
+
+						<xsl:call-template name="t_body"/>
+					</div>
+				</div>
+				<div id="pageFooter" class="pageFooter">
+					<include item="footer_content" />
+					<xsl:text> </xsl:text>
+				</div>
+        <include item="websiteAdContent" />
+      </body>
+		</html>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	The plain-text title used in the TOC 
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitlePlain">
+		<xsl:param name="p_qualifyMembers" select="false()"/>
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<!-- the subsubgroup, subgroup, or group determines the title -->
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- v_operators + type v_conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no v_operators + type v_conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- v_operators + no type v_conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNamePlain">
+					<xsl:with-param name="p_qualifyMembers"
+													select="$p_qualifyMembers"/>
+				</xsl:call-template>
+			</parameter>
+			<parameter>
+				<!-- show parameters only for overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesPlain"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesPlain"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- when positioned on a parameterized api, produces a (plain) comma-separated list of parameter types -->
+	<xsl:template name="t_parameterTypesPlain">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template"
+														 mode="plain"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (plain) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesPlain">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+                               parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+													 mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+                               returns[1]/template"
+													 mode="plain"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNamePlain">
+		<xsl:param name="p_qualifyMembers"
+							 select="false()"/>
+		<xsl:choose>
+			<!-- type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNamePlain"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- member pages use the member name, qualified if the qualified flag is set -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<!-- check for qualify flag and qualify if it is set -->
+				<xsl:if test="$p_qualifyMembers">
+					<xsl:for-each select="/document/reference/containers/type[1]">
+						<xsl:call-template name="t_typeNamePlain"/>
+					</xsl:for-each>
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>.</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+				<xsl:choose>
+					<!-- EII names are interfaceName.interfaceMemberName, not memberName -->
+					<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+						<xsl:for-each select="/document/reference/implements/member">
+							<xsl:for-each select="type">
+								<xsl:call-template name="t_typeNamePlain"/>
+							</xsl:for-each>
+							<xsl:text>.</xsl:text>
+							<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+							<xsl:choose>
+								<xsl:when test="apidata/@name">
+									<xsl:value-of select="apidata/@name" />
+								</xsl:when>
+								<xsl:otherwise>
+									<xsl:call-template name="t_getTrimmedLastPeriod">
+										<xsl:with-param name="p_string" select="@api" />
+									</xsl:call-template>
+								</xsl:otherwise>
+							</xsl:choose>
+							<xsl:apply-templates select="templates" mode="plain"/>
+						</xsl:for-each>
+					</xsl:when>
+					<!-- Use just the plain, unadorned api name for overload pages with templates -->
+					<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+						<xsl:value-of select="/document/reference/apidata/@name"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- but other members just use the name -->
+						<xsl:for-each select="/document/reference[1]">
+							<xsl:value-of select="apidata/@name"/>
+							<xsl:apply-templates select="templates"
+																	 mode="plain"/>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<!-- namespace, member (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	The language-variant, marked-up topic title	used as the big title at the top of the page
+	============================================================================================= -->
+
+	<xsl:template name="t_topicTitleDecorated">
+		<include>
+			<xsl:attribute name="item">
+				<xsl:text>topicTitle_</xsl:text>
+				<xsl:choose>
+
+					<!-- api topic titles -->
+					<xsl:when test="$g_topicGroup='api'">
+						<xsl:choose>
+							<xsl:when test="string($g_apiSubSubGroup)">
+								<xsl:choose>
+									<!-- topic title for op_explicit and op_implicit members -->
+									<xsl:when test="$g_apiSubSubGroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')">
+										<xsl:value-of select="'typeConversion'"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$g_apiSubSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:when test="string($g_apiSubGroup)">
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:when>
+							<xsl:when test="string($g_apiGroup)">
+								<xsl:value-of select="$g_apiGroup"/>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload topic titles -->
+					<xsl:when test="$g_topicSubGroup='overload'">
+						<!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? -->
+						<xsl:choose>
+							<!-- topic title for overload op_explicit and op_implicit members -->
+							<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+								<xsl:value-of select="'conversionOperator'"/>
+							</xsl:when>
+							<!-- topic title for overload operator members -->
+							<xsl:when test="$g_apiSubSubGroup='operator'">
+								<xsl:value-of select="$g_apiSubSubGroup"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_apiSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- list topic titles -->
+					<xsl:when test="$g_topicGroup='list'">
+						<!-- the topic subgroup (e.g. "methods") determines the title -->
+						<xsl:choose>
+							<xsl:when test="$g_topicSubGroup='Operators'">
+								<xsl:variable name="v_operators"
+															select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/>
+								<xsl:variable name="v_conversions"
+															select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]"/>
+								<xsl:choose>
+									<!-- operators + type conversions -->
+									<xsl:when test="count($v_operators) &gt; 0 and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'OperatorsAndTypeConversions'"/>
+									</xsl:when>
+									<!-- no operators + type conversions -->
+									<xsl:when test="not(count($v_operators) &gt; 0) and count($v_conversions) &gt; 0">
+										<xsl:value-of select="'TypeConversions'"/>
+									</xsl:when>
+									<!-- operators + no type conversions -->
+									<xsl:otherwise>
+										<xsl:value-of select="$g_topicSubGroup"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$g_topicSubGroup"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:when>
+
+					<!-- overload root titles  -->
+					<xsl:when test="$g_topicGroup='root'">
+						<xsl:value-of select="$g_topicGroup"/>
+					</xsl:when>
+					<xsl:when test="$g_topicGroup='rootGroup'">
+						<xsl:text>root</xsl:text>
+					</xsl:when>
+				</xsl:choose>
+
+			</xsl:attribute>
+			<parameter>
+				<xsl:call-template name="t_shortNameDecorated"/>
+			</parameter>
+			<parameter>
+				<!-- show parameters only from overloaded members -->
+				<xsl:if test="document/reference/memberdata/@overload or ($g_apiSubSubGroup= 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')">
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_operatorTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:for-each select="/document/reference">
+								<xsl:call-template name="t_parameterTypesDecorated"/>
+							</xsl:for-each>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:if>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<!-- When positioned on a generic api, produces a (decorated) comma-separated list of template names -->
+	<xsl:template name="t_parameterTypesDecorated">
+		<xsl:if test="parameters/parameter">
+			<xsl:text>(</xsl:text>
+			<xsl:for-each select="parameters/parameter">
+				<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template"
+														 mode="decorated"/>
+				<xsl:if test="position() != last()">
+					<xsl:text>, </xsl:text>
+				</xsl:if>
+			</xsl:for-each>
+			<xsl:if test="proceduredata[@varargs='true']">
+				<xsl:text>, ...</xsl:text>
+			</xsl:if>
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- Produces parameter and return types in (decorated) format:(Int32 to Decimal) for operator members -->
+	<xsl:template name="t_operatorTypesDecorated">
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>(</xsl:text>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1">
+			<xsl:apply-templates select="parameters/parameter[1]/type|parameters/parameter[1]/arrayOf|parameters/parameter[1]/pointerTo|
+                               parameters/parameter[1]/referenceTo|parameters/parameter[1]/template"
+													 mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 and count(returns/*) = 1">
+			<xsl:text> to </xsl:text>
+		</xsl:if>
+		<xsl:if test="count(returns/*) = 1">
+			<xsl:apply-templates select="returns[1]/type|returns[1]/arrayOf|returns[1]/pointerTo|returns[1]/referenceTo|
+                               returns[1]/template"
+													 mode="decorated"/>
+		</xsl:if>
+		<xsl:if test="count(parameters/parameter/*) = 1 or count(returns/*) = 1">
+			<xsl:text>)</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_shortNameDecorated">
+		<xsl:choose>
+			<!-- type overview pages and member list pages get the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='type') or ($g_topicGroup='list' and not($g_topicSubGroup='overload'))">
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- constructors and member list pages also use the type name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiSubGroup='constructor') or ($g_topicSubGroup='overload' and $g_apiSubGroup='constructor')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- eii members -->
+			<xsl:when test="document/reference[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:call-template name="t_decoratedNameSep"/>
+				<xsl:for-each select="/document/reference/implements/member">
+					<xsl:for-each select="type">
+						<xsl:call-template name="t_typeNameDecorated"/>
+					</xsl:for-each>
+					<xsl:call-template name="t_decoratedNameSep"/>
+					<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+					<xsl:choose>
+						<xsl:when test="apidata/@name">
+							<xsl:value-of select="apidata/@name" />
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:call-template name="t_getTrimmedLastPeriod">
+								<xsl:with-param name="p_string" select="@api" />
+							</xsl:call-template>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- Use just the plain, unadorned type.api name for overload pages with templates -->
+			<xsl:when test="$g_topicGroup='list' and $g_topicSubGroup='overload' and /document/reference/templates">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:call-template name="t_decoratedNameSep"/>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:when>
+			<!-- normal member pages use the qualified member name -->
+			<xsl:when test="($g_topicGroup='api' and $g_apiGroup='member') or ($g_topicSubGroup='overload' and $g_apiGroup='member')">
+				<xsl:for-each select="/document/reference/containers/type[1]">
+					<xsl:call-template name="t_typeNameDecorated"/>
+				</xsl:for-each>
+				<xsl:if test="not($g_apiSubSubGroup='operator'and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))">
+					<xsl:call-template name="t_decoratedNameSep"/>
+				</xsl:if>
+				<xsl:for-each select="/document/reference[1]">
+					<xsl:choose>
+						<xsl:when test="$g_apiSubSubGroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit')">
+							<xsl:text>&#xa0;</xsl:text>
+							<span class="languageSpecificText">
+								<span class="vb">
+									<xsl:choose>
+										<xsl:when test="apidata/@name='Explicit'">
+											<xsl:text>Narrowing</xsl:text>
+										</xsl:when>
+										<xsl:when test="apidata/@name='Implicit'">
+											<xsl:text>Widening</xsl:text>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="apidata/@name"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</span>
+								<span class="nu">
+									<xsl:value-of select="apidata/@name"/>
+								</span>
+							</span>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="apidata/@name"/>
+						</xsl:otherwise>
+					</xsl:choose>
+					<xsl:apply-templates select="templates" mode="decorated"/>
+				</xsl:for-each>
+			</xsl:when>
+			<!-- namespace (and any other) topics just use the name -->
+			<xsl:when test="/document/reference/apidata/@name = ''">
+				<include item="defaultNamespace"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="/document/reference/apidata/@name"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Filename metadata
+	============================================================================================= -->
+
+	<xsl:template name="t_insertFilename">
+		<meta name="container">
+			<xsl:attribute name="content">
+				<xsl:choose>
+					<!-- get the namespace name from containers/namespace/@api for most members -->
+					<xsl:when test="normalize-space(substring-after(/document/reference/containers/namespace/@api,':'))">
+						<xsl:value-of select="normalize-space(substring-after(/document/reference/containers/namespace/@api,':'))"/>
+					</xsl:when>
+					<!-- use 'default_namespace' for members in the default namespace (where namespace/@api == 'N:') -->
+					<xsl:when test="normalize-space(/document/reference/containers/namespace/@api)">
+						<xsl:text>default_namespace</xsl:text>
+					</xsl:when>
+					<!-- for the default namespace topic, use 'default_namespace' -->
+					<xsl:when test="/document/reference/apidata[@group='namespace' and @name='']">
+						<xsl:text>default_namespace</xsl:text>
+					</xsl:when>
+					<!-- for other namespace topics, get the name from apidata/@name -->
+					<xsl:when test="/document/reference/apidata/@group='namespace'">
+						<xsl:value-of select="normalize-space(/document/reference/apidata/@name)"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>unknown</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:attribute>
+		</meta>
+		<meta name="file" content="{/document/reference/file/@name}"/>
+		<meta name="guid">
+			<xsl:attribute name="content">
+				<xsl:value-of select="/document/reference/file/@name"/>
+			</xsl:attribute>
+		</meta>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements processing
+	============================================================================================= -->
+
+	<xsl:template match="elements" mode="root" name="t_rootElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'title_namespaces'"/>
+				<xsl:with-param name="p_content">
+					<table id="namespaceList" class="members">
+						<tr>
+							<th>
+								<include item="header_namespaceName"/>
+							</th>
+							<th>
+								<include item="header_namespaceDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="root">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</table>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespace" name="t_namespaceElements">
+
+		<xsl:if test="element/apidata/@subgroup = 'class'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'class'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'structure'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'structure'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'interface'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'interface'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'delegate'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'delegate'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+		<xsl:if test="element/apidata/@subgroup = 'enumeration'">
+			<xsl:call-template name="t_putNamespaceSection">
+				<xsl:with-param name="p_listSubgroup" select="'enumeration'"/>
+			</xsl:call-template>
+		</xsl:if>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="namespaceGroup" name="t_namespaceGroupElements">
+		<xsl:if test="count(element) > 0">
+			<div id="namespacesSection">
+				<xsl:call-template name="t_putSectionInclude">
+					<xsl:with-param name="p_titleInclude" select="'tableTitle_namespace'"/>
+					<xsl:with-param name="p_content">
+						<table id="namespaceList" class="members">
+							<tr>
+								<th>
+									<include item="header_namespaceName"/>
+								</th>
+								<th>
+									<include item="header_namespaceDescription"/>
+								</th>
+							</tr>
+							<xsl:apply-templates select="element" mode="namespaceGroup">
+								<xsl:sort select="substring-after(@api, ':')"/>
+							</xsl:apply-templates>
+						</table>
+					</xsl:with-param>
+				</xsl:call-template>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespaceGroup" name="t_namespaceGroupElement">
+		<tr>
+			<td>
+				<referenceLink target="{@api}" qualified="false"/>
+			</td>
+			<td>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="enumeration" name="t_enumerationElements">
+		<xsl:if test="count(element) > 0">
+			<div id="enumerationSection">
+				<xsl:call-template name="t_putSectionInclude">
+					<xsl:with-param name="p_titleInclude" select="'topicTitle_enumMembers'"/>
+					<xsl:with-param name="p_content">
+						<table id="enumMemberList" class="members">
+							<tr>
+								<th class="iconColumn">
+									&#160;
+								</th>
+								<th>
+									<include item="header_memberName"/>
+								</th>
+								<xsl:if test="$includeEnumValues='true'">
+									<th>
+										<include item="header_memberValue"/>
+									</th>
+								</xsl:if>
+								<th>
+									<include item="header_memberDescription"/>
+								</th>
+							</tr>
+							<xsl:apply-templates select="element" mode="enumeration"/>
+						</table>
+					</xsl:with-param>
+				</xsl:call-template>
+			</div>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="member" name="t_memberElements">
+
+		<!-- Filter out the Overload pages created by ApplyVSDocModel.xsl. -->
+		<xsl:variable name="filteredOverloadElements"
+									select="element[starts-with(@api, 'Overload:')]/element | element[not(starts-with(@api, 'Overload:'))]"/>
+
+		<xsl:call-template name="t_memberIntroBoilerplate"/>
+
+		<!-- Constructor table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">constructor</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">property</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">method</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">event</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Operator table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">operator</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Field table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">field</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"/>
+		</xsl:call-template>
+
+		<!-- Attached property table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedProperty</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedProperty']]"/>
+		</xsl:call-template>
+
+		<!-- Attached event table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">attachedEvent</xsl:with-param>
+			<xsl:with-param name="p_members" select="element[apidata[@subsubgroup='attachedEvent']]"/>
+		</xsl:call-template>
+
+		<!-- Extension method table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">extensionMethod</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[apidata[@subsubgroup='extension']]"/>
+		</xsl:call-template>
+
+		<!-- EII table -->
+		<xsl:call-template name="t_putMemberListSection">
+			<xsl:with-param name="p_headerGroup">explicitInterfaceImplementation</xsl:with-param>
+			<xsl:with-param name="p_members" select="$filteredOverloadElements[.//memberdata[@visibility='private'] and .//proceduredata[@virtual = 'true']]"/>
+		</xsl:call-template>
+
+	</xsl:template>
+
+	<xsl:template match="elements" mode="type" name="t_typeElements">
+		<xsl:apply-templates select="." mode="member"/>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="derivedType">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="'derivedClasses'"/>
+				<xsl:with-param name="p_content">
+					<table id="derivedTypeList" class="members">
+						<tr>
+							<th>
+								<include item="header_memberName"/>
+							</th>
+							<th>
+								<include item="header_memberDescription"/>
+							</th>
+						</tr>
+						<xsl:apply-templates select="element" mode="derivedType">
+							<xsl:sort select="apidata/@name"/>
+						</xsl:apply-templates>
+					</table>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overload" name="t_overloadElements">
+		<xsl:if test="count(element) > 0">
+			<xsl:call-template name="t_putMemberListSection">
+				<xsl:with-param name="p_headerGroup" select="'overloadMembers'"/>
+				<xsl:with-param name="p_members" select="element"/>
+				<xsl:with-param name="p_showParameters" select="'true'"/>
+				<xsl:with-param name="p_sort" select="false()"/>
+			</xsl:call-template>
+		</xsl:if>
+		<xsl:apply-templates select="element" mode="overloadSections">
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<xsl:template match="elements" mode="overloadSummary">
+		<xsl:apply-templates select="element" mode="overloadSummary" >
+			<xsl:sort select="apidata/@name"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Elements helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putNamespaceSection">
+		<xsl:param name="p_listSubgroup"/>
+
+		<xsl:variable name="v_header" select="concat('tableTitle_', $p_listSubgroup)"/>
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="$v_header"/>
+			<xsl:with-param name="p_content">
+				<xsl:call-template name="t_putNamespaceList">
+					<xsl:with-param name="p_listSubgroup" select="$p_listSubgroup"/>
+				</xsl:call-template>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template name="t_putNamespaceList">
+		<xsl:param name="p_listSubgroup"/>
+
+		<table class="members">
+			<xsl:attribute name="id">
+				<xsl:value-of select="concat($p_listSubgroup, 'List')"/>
+			</xsl:attribute>
+			<tr>
+				<th class="iconColumn">
+					&#160;
+				</th>
+				<th>
+					<include item="header_{$p_listSubgroup}Name"/>
+				</th>
+				<th>
+					<include item="header_typeDescription"/>
+				</th>
+			</tr>
+			<xsl:apply-templates select="element[apidata/@subgroup=$p_listSubgroup]" mode="namespace">
+				<xsl:sort select="@api"/>
+			</xsl:apply-templates>
+		</table>
+
+	</xsl:template>
+
+	<xsl:template name="t_memberIntroBoilerplate">
+		<xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+			<!-- if there are exposed members, show a boilerplate intro p -->
+			<xsl:variable name="v_introTextItemId">
+				<xsl:choose>
+					<xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
+					<xsl:otherwise>exposedMembersTableText</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			<p>
+				<include item="{$v_introTextItemId}">
+					<parameter>
+						<referenceLink target="{$g_typeTopicId}"/>
+					</parameter>
+					<parameter>
+						<xsl:value-of select="concat ('text_',$g_apiTopicSubGroup,'Upper')"/>
+					</parameter>
+				</include>
+			</p>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putMemberListSection">
+		<xsl:param name="p_members"/>
+		<xsl:param name="p_headerGroup"/>
+		<xsl:param name="p_showParameters" select="false()"/>
+		<xsl:param name="p_sort" select="true()"/>
+
+		<xsl:if test="count($p_members) &gt; 0">
+			<xsl:variable name="v_header">
+				<xsl:value-of select="concat('tableTitle_', $p_headerGroup)"/>
+			</xsl:variable>
+
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude" select="$v_header"/>
+				<xsl:with-param name="p_toplink" select="true()"/>
+				<xsl:with-param name="p_content">
+					<table class="members">
+						<xsl:attribute name="id">
+							<xsl:value-of select="concat($p_headerGroup, 'List')"/>
+						</xsl:attribute>
+						<tr>
+							<th class="iconColumn">
+								&#160;
+							</th>
+							<th>
+								<include item="header_typeName"/>
+							</th>
+							<th>
+								<include item="header_typeDescription"/>
+							</th>
+						</tr>
+
+						<!-- Add a row for each member of the current subgroup-visibility -->
+						<xsl:choose>
+							<xsl:when test="boolean($p_sort)">
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+									<xsl:sort select="topicdata/@eiiName | apidata/@name"/>
+									<xsl:sort select="count(templates/*)"/>
+								</xsl:apply-templates>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:apply-templates select="$p_members" mode="memberlistRow">
+									<xsl:with-param name="p_showParameters" select="$p_showParameters"/>
+								</xsl:apply-templates>
+							</xsl:otherwise>
+						</xsl:choose>
+					</table>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element processing
+	============================================================================================= -->
+
+	<xsl:template match="element"
+								mode="root"
+								name="t_rootElement">
+		<tr>
+			<td>
+				<xsl:choose>
+					<xsl:when test="apidata/@name = ''">
+						<referenceLink target="{@api}"
+													 qualified="false">
+							<include item="defaultNamespace"/>
+						</referenceLink>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}"
+													 qualified="false"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</td>
+			<td>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="namespace" name="t_namespaceElement">
+		<xsl:variable name="v_typeVisibility">
+			<xsl:choose>
+				<xsl:when test="typedata/@visibility='family' or typedata/@visibility='family or assembly' or typedata/@visibility='assembly'">prot</xsl:when>
+				<xsl:when test="typedata/@visibility='private'">priv</xsl:when>
+				<xsl:otherwise>pub</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<tr>
+			<xsl:attribute name="data">
+				<xsl:value-of select="apidata/@subgroup"/>
+				<xsl:text>; public</xsl:text>
+			</xsl:attribute>
+			<td>
+				<xsl:call-template name="t_putTypeIcon">
+					<xsl:with-param name="p_typeVisibility" select="$v_typeVisibility"/>
+				</xsl:call-template>
+			</td>
+			<td>
+				<referenceLink target="{@api}" qualified="false"/>
+			</td>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element" mode="enumeration" name="t_enumerationElement">
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<tr>
+			<td>
+				<!-- Platform icons -->
+				<xsl:if test="normalize-space($v_supportedOnCf)!=''">
+					<img data="netcfw">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>CFW.gif</parameter>
+						</includeAttribute>
+						<includeAttribute name="alt" item="altText_CompactFramework"/>
+						<includeAttribute name="title" item="altText_CompactFramework"/>
+					</img>
+				</xsl:if>
+				<xsl:if test="normalize-space($v_supportedOnXna)!=''">
+					<img data="xnafw">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>xna.gif</parameter>
+						</includeAttribute>
+						<includeAttribute name="alt" item="altText_XNAFramework"/>
+						<includeAttribute name="title" item="altText_XNAFramework"/>
+					</img>
+				</xsl:if>
+				<xsl:if test="normalize-space($v_supportedOnSilverlightMobile)!=''">
+					<img data="silverlight_mobile">
+						<includeAttribute name="src" item="iconPath">
+							<parameter>slMobile.gif</parameter>
+						</includeAttribute>
+						<includeAttribute name="alt" item="altText_SilverlightMobile"/>
+						<includeAttribute name="title" item="altText_SilverlightMobile"/>
+					</img>
+				</xsl:if>
+			</td>
+			<xsl:variable name="id" select="@api"/>
+			<td target="{$id}">
+				<span class="selflink">
+					<xsl:value-of select="apidata/@name"/>
+				</span>
+			</td>
+			<xsl:if test="$includeEnumValues='true'">
+				<td>
+					<xsl:value-of select="value"/>
+				</td>
+			</xsl:if>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getEnumMemberDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="derivedType"
+								name="t_derivedTypeElement">
+		<tr>
+			<td>
+				<xsl:choose>
+					<xsl:when test="@display-api">
+						<referenceLink target="{@api}"
+													 display-target="{@display-api}"/>
+					</xsl:when>
+					<xsl:otherwise>
+						<referenceLink target="{@api}"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</td>
+			<td>
+				<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+					<xsl:text> </xsl:text>
+					<include item="boilerplate_obsoleteShort"/>
+				</xsl:if>
+				<xsl:call-template name="t_getElementDescription"/>
+			</td>
+		</tr>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="members"
+								name="t_membersElement">
+		<xsl:param name="subgroup"/>
+		<xsl:if test="memberdata[@visibility='public'] and apidata[@subgroup=$g_apiTopicSubGroup]">
+			public;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly'] and apidata[@subgroup=$g_apiTopicSubGroup]">
+			protected;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='private'] and apidata[@subgroup=$g_apiTopicSubGroup] and not(proceduredata[@virtual = 'true'])">
+			private;
+		</xsl:if>
+		<xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+			explicit;
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element" mode="memberlistRow" name="t_memberlistRowElement">
+		<xsl:param name="p_showParameters" select="'false'"/>
+		<xsl:variable name="v_notsupportedOnNetfw">
+			<xsl:call-template name="t_isMemberUnsupportedOnNetfw"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnXna">
+			<xsl:call-template name="t_isMemberSupportedOnXna"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnCf">
+			<xsl:call-template name="t_isMemberSupportedOnCf"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlight">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+		</xsl:variable>
+		<xsl:variable name="v_supportedOnSilverlightMobile">
+			<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+		</xsl:variable>
+		<xsl:variable name="v_staticMember">
+			<xsl:call-template name="t_isMemberStatic"/>
+		</xsl:variable>
+		<xsl:variable name="v_inheritedMember">
+			<xsl:call-template name="t_isMemberInherited"/>
+		</xsl:variable>
+		<xsl:variable name="v_declaredMember">
+			<xsl:call-template name="t_isMemberDeclared"/>
+		</xsl:variable>
+		<xsl:variable name="v_protectedMember">
+			<xsl:call-template name="t_isMemberProtected"/>
+		</xsl:variable>
+		<xsl:variable name="v_publicMember">
+			<xsl:call-template name="t_isMemberPublic"/>
+		</xsl:variable>
+		<xsl:variable name="v_privateMember">
+			<xsl:call-template name="t_isMemberPrivate"/>
+		</xsl:variable>
+		<xsl:variable name="v_explicitMember">
+			<xsl:call-template name="t_isMemberExplicit"/>
+		</xsl:variable>
+		<xsl:variable name="v_conversionOperator">
+			<xsl:call-template name="t_isConversionOperator"/>
+		</xsl:variable>
+		<!-- Do not show non-static members of static types -->
+		<xsl:if test=".//memberdata/@static='true' or not(/document/reference/typedata[@abstract='true' and @sealed='true'])">
+			<tr>
+				<xsl:attribute name="data">
+					<!-- it's possible to include both public and protected for overload topics -->
+					<xsl:if test="normalize-space($v_publicMember)!=''">
+						<xsl:text>public;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_protectedMember)!=''">
+						<xsl:text>protected;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_privateMember)!=''">
+						<xsl:text>private;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_explicitMember) != ''">
+						<xsl:text>explicit;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_staticMember)!=''">
+						<xsl:text>static;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_declaredMember)!=''">
+						<xsl:text>declared;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_inheritedMember)!=''">
+						<xsl:text>inherited;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnCf)!=''">
+						<xsl:text>netcfw;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnXna)!=''">
+						<xsl:text>xnafw;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnSilverlight) != ''">
+						<xsl:text>silverlight;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_supportedOnSilverlightMobile) != ''">
+						<xsl:text>silverlight_mobile;</xsl:text>
+					</xsl:if>
+					<xsl:if test="normalize-space($v_notsupportedOnNetfw)!=''">
+						<xsl:text>notNetfw;</xsl:text>
+					</xsl:if>
+					<xsl:if test=".//versions">
+						<xsl:for-each select=".//versions/versions">
+							<!-- If we have at least one version in this framework, we list this framework. -->
+							<xsl:if test=".//version">
+								<xsl:value-of select="@name" />
+								<xsl:text>;</xsl:text>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:if>
+				</xsl:attribute>
+				<td>
+					<xsl:call-template name="t_putMemberIcons">
+						<xsl:with-param name="p_memberVisibility">
+							<xsl:choose>
+								<xsl:when test="normalize-space($v_publicMember)!=''">pub</xsl:when>
+								<xsl:when test="normalize-space($v_protectedMember)!=''">prot</xsl:when>
+								<xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
+								<xsl:otherwise>pub</xsl:otherwise>
+							</xsl:choose>
+						</xsl:with-param>
+						<xsl:with-param name="p_staticMember" select="normalize-space($v_staticMember)"/>
+						<xsl:with-param name="p_supportedOnXna" select="normalize-space($v_supportedOnXna)"/>
+						<xsl:with-param name="p_supportedOnCf" select="normalize-space($v_supportedOnCf)"/>
+						<xsl:with-param name="p_supportedOnSilverlight" select="normalize-space($v_supportedOnSilverlight)"/>
+						<xsl:with-param name="p_supportedOnSilverlightMobile" select="normalize-space($v_supportedOnSilverlightMobile)"/>
+					</xsl:call-template>
+				</td>
+				<td>
+					<xsl:choose>
+						<xsl:when test="normalize-space($v_conversionOperator)!=''">
+							<referenceLink target="{@api}"
+														 show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="memberdata[@overload] or starts-with(../@api, 'Overload:')">
+							<referenceLink target="{@api}"
+														 show-parameters="true"/>
+						</xsl:when>
+						<xsl:when test="@source='extension'">
+							<xsl:call-template name="t_putExtensionMethodDisplayLink"/>
+						</xsl:when>
+						<xsl:when test="@display-api">
+							<referenceLink target="{@api}"
+														 display-target="{@display-api}"
+														 show-parameters="{$p_showParameters}"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<referenceLink target="{@api}"
+														 show-parameters="{$p_showParameters}"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</td>
+				<td>
+					<xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
+						<xsl:text> </xsl:text>
+						<include item="boilerplate_obsoleteShort"/>
+					</xsl:if>
+					<xsl:if test="topicdata[@subgroup='overload'] or @overload='true'">
+						<include item="Overloaded"/>
+						<xsl:text> </xsl:text>
+					</xsl:if>
+					<xsl:apply-templates select="element"
+															 mode="overloadSummary"/>
+					<xsl:call-template name="t_getElementDescription"/>
+					<xsl:choose>
+						<xsl:when test="not(topicdata[@subgroup='overload'])">
+							<xsl:choose>
+								<xsl:when test="@source='extension' and containers/type">
+									<xsl:text> </xsl:text>
+									<include item="definedBy">
+										<parameter>
+											<xsl:apply-templates select="containers/type"
+																					 mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="normalize-space($v_inheritedMember)!=''">
+									<xsl:text> </xsl:text>
+									<include item="inheritedFrom">
+										<parameter>
+											<xsl:apply-templates select="containers/type"
+																					 mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+								<xsl:when test="overrides/member">
+									<xsl:text> </xsl:text>
+									<include item="overridesMember">
+										<parameter>
+											<xsl:apply-templates select="overrides/member"
+																					 mode="link"/>
+										</parameter>
+									</include>
+								</xsl:when>
+							</xsl:choose>
+						</xsl:when>
+					</xsl:choose>
+
+					<!-- add boilerplate for other members in the signature set -->
+					<xsl:if test="@signatureset and element">
+						<xsl:variable name="primaryMember">
+							<xsl:copy-of select="."/>
+						</xsl:variable>
+						<xsl:variable name="primaryFramework"
+													select="versions/versions[1]/@name"/>
+						<xsl:for-each select="versions/versions[@name!=$primaryFramework]">
+							<xsl:variable name="secondaryFramework"
+														select="@name"/>
+							<xsl:if test="(msxsl:node-set($primaryMember)/*[not(@*[local-name()=$secondaryFramework])]) and (msxsl:node-set($primaryMember)/*[element[@*[local-name()=$secondaryFramework]]])">
+								<xsl:for-each select="msxsl:node-set($primaryMember)/*/element[@*[local-name()=$secondaryFramework]][1]">
+									<xsl:variable name="inheritedSecondaryMember">
+										<xsl:call-template name="t_isMemberInherited"/>
+									</xsl:variable>
+									<xsl:choose>
+										<xsl:when test="overrides">
+											<span data="{$secondaryFramework}">
+												<include item="boilerplate_secondaryFrameworkOverride">
+													<parameter>
+														<xsl:value-of select="$secondaryFramework"/>
+													</parameter>
+													<!--<parameter>
+                            <xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+                          </parameter>-->
+													<parameter>
+														<referenceLink target="{@api}"/>
+													</parameter>
+												</include>
+											</span>
+										</xsl:when>
+										<xsl:when test="normalize-space($inheritedSecondaryMember)!=''">
+											<span data="{$secondaryFramework}">
+												<include item="boilerplate_secondaryFrameworkInherited">
+													<parameter>
+														<xsl:value-of select="$secondaryFramework"/>
+													</parameter>
+													<parameter>
+														<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+													</parameter>
+													<parameter>
+														<xsl:call-template name="t_decoratedNameSep"/>
+													</parameter>
+													<parameter>
+														<xsl:apply-templates select="containers/type"
+																								 mode="link"/>
+													</parameter>
+													<parameter>
+														<referenceLink target="{@api}"/>
+													</parameter>
+												</include>
+											</span>
+										</xsl:when>
+										<xsl:otherwise>
+											<span data="{$secondaryFramework}">
+												<include item="boilerplate_secondaryFrameworkMember">
+													<parameter>
+														<xsl:value-of select="$secondaryFramework"/>
+													</parameter>
+													<parameter>
+														<xsl:value-of select="@*[local-name()=$secondaryFramework]"/>
+													</parameter>
+													<parameter>
+														<referenceLink target="{@api}"/>
+													</parameter>
+												</include>
+											</span>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:for-each>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:if>
+
+				</td>
+			</tr>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="overloadSummary"
+								name="t_overloadSummaryElement">
+		<xsl:call-template name="t_getOverloadSummary"/>
+	</xsl:template>
+
+	<xsl:template match="element"
+								mode="overloadSections"
+								name="t_overloadSectionsElement">
+		<xsl:call-template name="t_getOverloadSections"/>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Element helpers
+	============================================================================================= -->
+
+	<xsl:template name="t_putTypeIcon">
+		<xsl:param name="p_typeVisibility"/>
+
+		<xsl:variable name="typeSubgroup" select="apidata/@subgroup"/>
+		<img>
+			<includeAttribute name="src" item="iconPath">
+				<parameter>
+					<xsl:value-of select="concat($p_typeVisibility,$typeSubgroup,'.gif')"/>
+				</parameter>
+			</includeAttribute>
+			<includeAttribute name="alt" item="{concat('altText_',$p_typeVisibility,$typeSubgroup)}"/>
+			<includeAttribute name="title" item="{concat('altText_',$p_typeVisibility,$typeSubgroup)}"/>
+		</img>
+
+		<xsl:if test=".//example">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>CodeExample.png</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_CodeExample"/>
+				<includeAttribute name="title" item="altText_CodeExample"/>
+			</img>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putMemberIcons">
+		<xsl:param name="p_memberVisibility"/>
+		<xsl:param name="p_staticMember"/>
+		<xsl:param name="p_supportedOnXna"/>
+		<xsl:param name="p_supportedOnCf"/>
+		<xsl:param name="p_supportedOnSilverlightMobile"/>
+
+		<xsl:variable name="v_memberSubgroup">
+			<xsl:choose>
+				<xsl:when test="apidata/@subgroup='constructor'">
+					<xsl:text>method</xsl:text>
+				</xsl:when>
+				<xsl:when test="apidata/@subgroup='method'">
+					<xsl:choose>
+						<xsl:when test="apidata/@subsubgroup='operator'">
+							<xsl:text>operator</xsl:text>
+						</xsl:when>
+						<xsl:when test="apidata/@subsubgroup='extension'">
+							<xsl:text>extension</xsl:text>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:text>method</xsl:text>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="apidata/@subgroup"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<!-- test for explicit interface implementations, which get the interface icon -->
+		<xsl:if test="memberdata/@visibility='private' and proceduredata/@virtual='true'">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>pubinterface.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_ExplicitInterface"/>
+				<includeAttribute name="title" item="altText_ExplicitInterface"/>
+			</img>
+		</xsl:if>
+
+		<img>
+			<includeAttribute name="src" item="iconPath">
+				<parameter>
+					<xsl:value-of select="concat($p_memberVisibility,$v_memberSubgroup,'.gif')"/>
+				</parameter>
+			</includeAttribute>
+			<xsl:choose>
+				<xsl:when test="apidata/@subsubgroup">
+					<includeAttribute name="alt" item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+					<includeAttribute name="title" item="{concat('altText_',$p_memberVisibility,apidata/@subsubgroup)}"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<includeAttribute name="alt" item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+					<includeAttribute name="title" item="{concat('altText_',$p_memberVisibility,$v_memberSubgroup)}"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</img>
+
+		<xsl:if test="$p_staticMember!=''">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>static.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_static"/>
+				<includeAttribute name="title" item="altText_static"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnCf!=''">
+			<img data="netcfw">
+				<includeAttribute name="src" item="iconPath">
+					<parameter>CFW.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_CompactFramework"/>
+				<includeAttribute name="title" item="altText_CompactFramework"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnXna!=''">
+			<img data="xnafw">
+				<includeAttribute name="src" item="iconPath">
+					<parameter>xna.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_XNAFramework"/>
+				<includeAttribute name="title" item="altText_XNAFramework"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test="$p_supportedOnSilverlightMobile!=''">
+			<img data="silverlight_mobile">
+				<includeAttribute name="src" item="iconPath">
+					<parameter>slMobile.gif</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_SilverlightMobile"/>
+				<includeAttribute name="title" item="altText_SilverlightMobile"/>
+			</img>
+		</xsl:if>
+
+		<xsl:if test=".//example">
+			<img>
+				<includeAttribute name="src" item="iconPath">
+					<parameter>CodeExample.png</parameter>
+				</includeAttribute>
+				<includeAttribute name="alt" item="altText_CodeExample"/>
+				<includeAttribute name="title" item="altText_CodeExample"/>
+			</img>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_getEnumMemberDescription">
+		<xsl:apply-templates select="summary[1]/node()"/>
+		<!-- enum members may have additional authored content in the remarks node -->
+		<xsl:apply-templates select="remarks[1]/node()"/>
+	</xsl:template>
+
+	<xsl:template name="t_putExtensionMethodDisplayLink">
+		<xsl:variable name="v_showParameters">
+			<xsl:choose>
+				<xsl:when test="@overload='true'">true</xsl:when>
+				<xsl:otherwise>false</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		<referenceLink target="{@api}"
+									 display-target="extension"
+									 show-parameters="{$v_showParameters}">
+			<extensionMethod>
+				<xsl:copy-of select="@*"/>
+				<xsl:copy-of select="apidata|templates|parameters|containers"/>
+			</extensionMethod>
+		</referenceLink>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Inheritance hierarchy
+	============================================================================================= -->
+
+	<xsl:template match="family" name="t_family">
+		<xsl:param name="p_maxCount" select="number(5)" />
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude" select="'title_family'"/>
+			<xsl:with-param name="p_id">
+				<xsl:if test="$p_maxCount=0">
+					<xsl:value-of select="'fullInheritance'"/>
+				</xsl:if>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<xsl:variable name="ancestorCount" select="count(ancestors/*)"/>
+				<xsl:variable name="childCount" select="count(descendents/*)"/>
+
+				<xsl:for-each select="ancestors/type">
+					<xsl:sort select="position()" data-type="number" order="descending"/>
+
+					<xsl:call-template name="t_putIndent">
+						<xsl:with-param name="p_count" select="position()"/>
+					</xsl:call-template>
+
+					<xsl:apply-templates select="self::type" mode="link">
+						<xsl:with-param name="qualified" select="true()"/>
+					</xsl:apply-templates>
+
+					<br/>
+				</xsl:for-each>
+
+				<xsl:call-template name="t_putIndent">
+					<xsl:with-param name="p_count" select="$ancestorCount + 1"/>
+				</xsl:call-template>
+				<referenceLink target="{$key}" qualified="true"/>
+				<br/>
+
+				<xsl:choose>
+					<xsl:when test="descendents/@derivedTypes">
+						<xsl:call-template name="t_putIndent">
+							<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+						</xsl:call-template>
+						<referenceLink target="{descendents/@derivedTypes}" qualified="true">
+							<include item="derivedClasses"/>
+						</referenceLink>
+					</xsl:when>
+					<xsl:when test="not($p_maxCount=0) and count(descendents/type) > $p_maxCount">
+						<xsl:call-template name="t_putIndent">
+							<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+						</xsl:call-template>
+						<a href="#fullInheritance">
+							<include item="text_moreInheritance"/>
+						</a>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:for-each select="descendents/type">
+							<xsl:sort select="@api"/>
+
+							<xsl:if test="not(self::type/@api=preceding-sibling::*/self::type/@api)">
+								<xsl:call-template name="t_putIndent">
+									<xsl:with-param name="p_count" select="$ancestorCount + 2"/>
+								</xsl:call-template>
+
+								<xsl:apply-templates select="self::type" mode="link">
+									<xsl:with-param name="qualified" select="true()"/>
+								</xsl:apply-templates>
+
+								<br/>
+							</xsl:if>
+						</xsl:for-each>
+					</xsl:otherwise>
+				</xsl:choose>
+
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="family" name="t_familyFull" mode="fullInheritance">
+		<xsl:call-template name="t_family">
+			<xsl:with-param name="p_maxCount" select="number(0)" />
+		</xsl:call-template>
+	</xsl:template>
+
+	<xsl:template match="implements" name="t_implements">
+		<xsl:if test="member">
+			<xsl:call-template name="t_putSubSection">
+				<xsl:with-param name="p_title">
+					<include item="title_implements"/>
+				</xsl:with-param>
+				<xsl:with-param name="p_content">
+					<xsl:for-each select="member">
+						<referenceLink target="{@api}" qualified="true"/>
+						<br/>
+					</xsl:for-each>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Member attribute tests
+	============================================================================================= -->
+
+	<xsl:template name="t_isMemberUnsupportedOnNetfw">
+		<xsl:if test="boolean(not(@netfw) and not(element/@netfw))">
+			<xsl:text>unsupported</xsl:text>
+		</xsl:if>
+	</xsl:template>
+
+	<!-- for testing CF and XNA support, check the signature variations of @signatureset elements -->
+	<!-- for testing inherited/protected/etc, do not check the @signatureset variations; just go with the primary .NET Framework value -->
+	<xsl:template name="t_isMemberSupportedOnXna">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnXna"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesXna"
+											select="boolean(platforms and not(platforms/platform[.='Xbox360']))"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesXna) and (@xnafw or element/@xnafw))">
+					<xsl:text>supported</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnCf">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnCf"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesCF"
+											select="boolean( platforms and not(platforms[platform[.='PocketPC'] or platform[.='SmartPhone'] or platform[.='WindowsCE']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesCF) and (@netcfw or element/@netcfw))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlightMobile">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlightMobile"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="platformFilterExcludesSilverlightMobile"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($platformFilterExcludesSilverlightMobile) and (@silverlight_mobile or element/@silverlight_mobile))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberSupportedOnSilverlight">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberSupportedOnSilverlight"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="v_platformFilterExcludesSilverlight"
+											select="boolean( platforms and not(platforms[platform[.='SilverlightPlatforms']]) )"/>
+				<xsl:if test="boolean(not($v_platformFilterExcludesSilverlight) and (@silverlight or element/@silverlight))">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template name="t_isMemberStatic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberStatic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:when test="apidata[@subsubgroup='attachedProperty' or @subsubgroup='attachedEvent']"/>
+			<xsl:otherwise>
+				<xsl:if test="memberdata/@static='true'">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is inherited, or for overloads if any of the overloads is inherited -->
+	<xsl:template name="t_isMemberInherited">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberInherited"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api!=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- returns a non-empty string if the element is declared, or for overloads if any of the overloads is declared -->
+	<xsl:template name="t_isMemberDeclared">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberDeclared"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="containers/type[@api=$g_typeTopicId]">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPublic">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPublic"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='public']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberProtected">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberProtected"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberPrivate">
+		<xsl:choose>
+			<xsl:when test="element and not(@signatureset)">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberPrivate"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and not(proceduredata[@virtual = 'true'])">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isMemberExplicit">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isMemberExplicit"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_isConversionOperator">
+		<xsl:choose>
+			<xsl:when test="element">
+				<xsl:for-each select="element">
+					<xsl:call-template name="t_isConversionOperator"/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:if test="apidata/@subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit') and not(memberdata/@overload)">
+					<xsl:text>yes</xsl:text>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Assembly information
+	============================================================================================= -->
+
+	<xsl:template name="t_putRequirementsInfo">
+		<p><xsl:text> </xsl:text></p>
+		<include item="boilerplate_requirementsNamespace"/>
+		<xsl:text>&#xa0;</xsl:text>
+		<referenceLink target="{/document/reference/containers/namespace/@api}"/>
+		<br/>
+		<xsl:call-template name="t_putAssembliesInfo"/>
+
+		<!-- Show XAML xmlns for APIs that support XAML -->
+		<xsl:if test="$omitXmlnsBoilerplate != 'true'">
+			<!-- All topics that have auto-generated XAML syntax get an "XMLNS for XAML" line in the Requirements
+					 section.  Topics with boilerplate XAML syntax, e.g. "Not applicable", do NOT get this line. -->
+			<xsl:if test="boolean(/document/syntax/div[@codeLanguage='XAML']/div[
+										@class='xamlAttributeUsageHeading' or @class='xamlObjectElementUsageHeading' or
+										@class='xamlContentElementUsageHeading' or @class='xamlPropertyElementUsageHeading'])">
+				<br/>
+				<include item="boilerplate_xamlXmlnsRequirements">
+					<parameter>
+						<xsl:choose>
+							<xsl:when test="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+								<xsl:for-each select="/document/syntax/div[@codeLanguage='XAML']/div[@class='xamlXmlnsUri']">
+									<xsl:if test="position()!=1">
+										<xsl:text>, </xsl:text>
+									</xsl:if>
+									<xsl:value-of select="."/>
+								</xsl:for-each>
+							</xsl:when>
+							<xsl:otherwise>
+								<include item="boilerplate_unmappedXamlXmlns"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</parameter>
+				</include>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_putAssembliesInfo">
+		<xsl:choose>
+			<xsl:when test="count(/document/reference/containers/library)&gt;1">
+				<include item="boilerplate_requirementsAssemblies"/>
+				<xsl:for-each select="/document/reference/containers/library">
+					<xsl:text>&#xa0;&#xa0;</xsl:text>
+					<xsl:call-template name="t_putAssemblyNameAndModule">
+						<xsl:with-param name="library"
+														select="."/>
+					</xsl:call-template>
+					<br/>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<include item="boilerplate_requirementsAssemblyLabel"/>
+				<xsl:text>&#xa0;</xsl:text>
+				<xsl:call-template name="t_putAssemblyNameAndModule"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="t_putAssemblyNameAndModule">
+		<xsl:param name="library" select="/document/reference/containers/library"/>
+		<include item="assemblyNameAndModule">
+			<parameter>
+				<xsl:value-of select="$library/@assembly"/>
+			</parameter>
+			<parameter>
+				<xsl:value-of select="$library/@module"/>
+			</parameter>
+			<parameter>
+				<xsl:choose>
+					<xsl:when test="$library/@kind = 'DynamicallyLinkedLibrary'">
+						<xsl:text>dll</xsl:text>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:text>exe</xsl:text>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+			<parameter>
+				<xsl:variable name="versionParts">
+					<xsl:call-template name="t_tokenize">
+						<xsl:with-param name="string" select="substring-before(concat($library/assemblydata/@version, ' '), ' ')" />
+					</xsl:call-template>
+				</xsl:variable>
+				<xsl:variable name="versionNodes" select="msxsl:node-set($versionParts)" />
+				<!-- Limit version number length if requested -->
+				<xsl:choose>
+					<xsl:when test="$maxVersionParts = '2'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '3'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3])" />
+					</xsl:when>
+					<xsl:when test="$maxVersionParts = '4'">
+						<xsl:value-of select="concat($versionNodes/token[1], '.', $versionNodes/token[2], '.', $versionNodes/token[3], '.', $versionNodes/token[4])" />
+					</xsl:when>
+					<xsl:otherwise>
+						<!-- All parts including the assembly file version if present -->
+						<xsl:value-of select="$library/assemblydata/@version"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</parameter>
+		</include>
+	</xsl:template>
+
+	<xsl:template name="t_tokenize">
+		<xsl:param name="string"/>
+		<xsl:param name="separator" select="'.'"/>
+
+		<xsl:choose>
+			<xsl:when test="contains($string, $separator)">
+				<token>
+					<xsl:value-of select="substring-before($string, $separator)"/>
+				</token>
+				<xsl:call-template name="t_tokenize">
+					<xsl:with-param name="string" select="substring-after($string, $separator)"/>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<token>
+					<xsl:value-of select="$string"/>
+				</token>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Platform information
+	============================================================================================= -->
+
+	<xsl:template match="platforms[platform]"
+								name="t_platforms">
+		<xsl:call-template name="t_putSectionInclude">
+			<xsl:with-param name="p_titleInclude"
+											select="'title_platforms'"/>
+			<xsl:with-param name="p_content">
+				<xsl:choose>
+					<xsl:when test="/document/reference/versions/versions[@name='silverlight']//version">
+						<p>
+							<include item="boilerplate_silverlightPlatforms"/>
+						</p>
+					</xsl:when>
+					<xsl:otherwise>
+						<p>
+							<xsl:for-each select="platform">
+								<include item="{.}"/>
+								<xsl:if test="position()!=last()">
+									<xsl:text>, </xsl:text>
+								</xsl:if>
+							</xsl:for-each>
+						</p>
+						<xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version">
+							<p>
+								<include item="boilerplate_systemRequirementsLink"/>
+							</p>
+						</xsl:if>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Version information
+	============================================================================================= -->
+
+	<xsl:template match="versions"
+								name="t_versions">
+		<xsl:if test="$omitVersionInformation != 'true'">
+			<xsl:call-template name="t_putSectionInclude">
+				<xsl:with-param name="p_titleInclude"
+												select="'title_versions'"/>
+				<xsl:with-param name="p_content">
+					<xsl:call-template name="t_processVersions"/>
+				</xsl:with-param>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template name="t_processVersions">
+		<xsl:param name="p_frameworkGroup"
+							 select="true()"/>
+		<xsl:choose>
+			<xsl:when test="versions and $p_frameworkGroup">
+				<xsl:for-each select="versions">
+					<!-- $v_platformFilterExcluded is based on platform filtering information -->
+					<xsl:variable name="v_platformFilterExcluded"
+												select="boolean(/document/reference/platforms and ( (@name='netcfw' and not(/document/reference/platforms/platform[.='PocketPC']) and not(/document/reference/platforms/platform[.='SmartPhone']) and not(/document/reference/platforms/platform[.='WindowsCE']) ) or (@name='xnafw' and not(/document/reference/platforms/platform[.='Xbox360']) ) ) )"/>
+					<xsl:if test="not($v_platformFilterExcluded) and count(.//version) &gt; 0">
+						<h4 class="subHeading">
+							<include item="{@name}"/>
+						</h4>
+						<xsl:call-template name="t_processVersions">
+							<xsl:with-param name="p_frameworkGroup"
+															select="false()"/>
+						</xsl:call-template>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:when>
+			<xsl:otherwise>
+				<!-- show the versions in which the api is supported, if any -->
+				<xsl:variable name="v_supportedCount"
+											select="count(version[not(@obsolete)] | versions[version[not(@obsolete)]])"/>
+				<xsl:if test="$v_supportedCount &gt; 0">
+					<include item="supportedIn_{$v_supportedCount}">
+						<xsl:for-each select="version[not(@obsolete)] | versions[version[not(@obsolete)]]">
+							<xsl:variable name="versionName">
+								<xsl:choose>
+									<!-- A versions[version] node at this level is for releases that had subsequent service packs. 
+                       For example, versions for .NET 3.0 has version nodes for 3.0 and 3.0 SP1. 
+                       We show only the first node, which is the one in which the api was first released, 
+                       that is, we show 3.0 SP1 only if the api was introduced in SP1. -->
+									<xsl:when test="local-name()='versions'">
+										<xsl:value-of select="version[not(@obsolete)][not(preceding-sibling::version[not(@obsolete)])]/@name"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="@name"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<parameter>
+								<include item="{$versionName}"/>
+							</parameter>
+						</xsl:for-each>
+					</include>
+					<br/>
+				</xsl:if>
+				<!-- show the versions in which the api is obsolete with a compiler warning, if any -->
+				<xsl:for-each select=".//version[@obsolete='warning']">
+					<include item="obsoleteWarning">
+						<parameter>
+							<include item="{@name}"/>
+						</parameter>
+					</include>
+					<br/>
+				</xsl:for-each>
+				<!-- show the versions in which the api is obsolete and does not compile, if any -->
+				<xsl:for-each select=".//version[@obsolete='error']">
+					<xsl:if test="position()=last()">
+						<include item="obsoleteError">
+							<parameter>
+								<include item="{@name}"/>
+							</parameter>
+						</include>
+						<br/>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ============================================================================================
+	Syntax
+	============================================================================================= -->
+
+	<xsl:template match="sourceContext" name="t_sourceContext">
+		<xsl:if test="$requestExampleUrl">
+			<include item="requestExample">
+				<parameter>
+					<xsl:value-of select="$requestExampleUrl"/>
+				</parameter>
+			</include>
+		</xsl:if>
+		<xsl:if test="$baseSourceCodeUrl">
+			<a target="_blank" class="button">
+				<xsl:attribute name="href">
+					<xsl:value-of select="$baseSourceCodeUrl"/>
+					<xsl:value-of select="@file"/>
+					<xsl:if test="@startLine">
+						<xsl:text>#L</xsl:text>
+						<xsl:value-of select="@startLine"/>
+					</xsl:if>
+				</xsl:attribute>
+				<xsl:attribute name="rel">
+					<xsl:text>noopener noreferrer</xsl:text>
+				</xsl:attribute>
+				<includeAttribute name="title" item="sourceCodeLinkTitle" />
+				<include item="sourceCodeLinkText" />
+			</a>
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="parameters" name="t_parameters">
+		<xsl:call-template name="t_putSubSection">
+			<xsl:with-param name="p_title">
+				<include item="title_parameters"/>
+			</xsl:with-param>
+			<xsl:with-param name="p_content">
+				<dl>
+					<xsl:for-each select="parameter">
+						<dt>
+							<span class="parameter">
+								<xsl:value-of select="normalize-space(@name)"/>
+							</span>
+							<xsl:if test="@optional = 'true'">
+								<xsl:text> (Optional)</xsl:text>
+							</xsl:if>
+						</dt>
+						<dd>
+							<include item="typeLink">
+								<parameter>
+									<xsl:apply-templates select="*[1]" mode="link">
+										<xsl:with-param name="qualified" select="true()"/>
+									</xsl:apply-templates>
+								</parameter>
+							</include>
+							<br/>
+							<xsl:call-template name="t_getParameterDescription">
+								<xsl:with-param name="name" select="normalize-space(@name)"/>
+							</xsl:call-template>
+						</dd>
+					</xsl:for-each>
+				</dl>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<!-- produces a (plain) comma-separated list of parameter types -->
+	<xsl:template match="type"
+								mode="link"
+								name="t_typeLink">
+		<xsl:param name="qualified"
+							 select="false()"/>
+		<!-- we don't display outer types, because the link will show them -->
+		<referenceLink target="{@api}"
+									 prefer-overload="false">
+			<xsl:choose>
+				<xsl:when test="specialization">
+					<xsl:attribute name="show-templates">false</xsl:attribute>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:attribute name="show-templates">true</xsl:attribute>
+				</xsl:otherwise>
+			</xsl:choose>
+			<xsl:if test="$qualified">
+				<xsl:attribute name="show-container">true</xsl:attribute>
+			</xsl:if>
+		</referenceLink>
+		<xsl:apply-templates select="specialization"
+												 mode="link"/>
+	</xsl:template>
+
+	<!-- Produces a (plain) name; outer types are indicated by dot-separators; -->
+	<!-- generic types are indicated by a keyword, because we can't show templates in a language-independent way -->
+	<xsl:template match="type" mode="plain" name="t_typeNamePlain">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not($g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="plain"/>
+			<xsl:text>.</xsl:text>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="plain"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="plain"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="type" mode="decorated" name="t_typeNameDecorated">
+		<!-- EFW - Don't show the type name on list pages -->
+		<xsl:if test="type|(containers/type) and not($g_topicGroup='list')">
+			<xsl:apply-templates select="type|(containers/type)" mode="decorated"/>
+			<xsl:call-template name="t_decoratedNameSep"/>
+		</xsl:if>
+		<!-- EFW - If the API element is not present (unresolved type), show the type name from the type element -->
+		<xsl:choose>
+			<xsl:when test="apidata/@name">
+				<xsl:value-of select="apidata/@name" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:call-template name="t_getTrimmedLastPeriod">
+					<xsl:with-param name="p_string" select="@api" />
+				</xsl:call-template>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:choose>
+			<xsl:when test="specialization">
+				<xsl:apply-templates select="specialization" mode="decorated"/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates select="templates" mode="decorated"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="specialization" mode="link" name="t_specializationLink">
+		<span class="languageSpecificText">
+			<span class="cs">&lt;</span>
+			<span class="vb">
+				<xsl:text>(Of </xsl:text>
+			</span>
+			<span class="cpp">&lt;</span>
+			<span class="fs">&lt;'</span>
+			<span class="nu">(</span>
+		</span>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="link"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<span class="languageSpecificText">
+			<span class="cs">&gt;</span>
+			<span class="vb">)</span>
+			<span class="cpp">&gt;</span>
+			<span class="fs">&gt;</span>
+			<span class="nu">)</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="plain" name="t_specializationPlain">
+		<xsl:text>(</xsl:text>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="plain"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<xsl:text>)</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="specialization" mode="decorated" name="t_specializationDecorated">
+		<span class="languageSpecificText">
+			<span class="cs">&lt;</span>
+			<span class="vb">
+				<xsl:text>(Of </xsl:text>
+			</span>
+			<span class="cpp">&lt;</span>
+			<span class="fs">&lt;'</span>
+			<span class="nu">(</span>
+		</span>
+		<xsl:for-each select="*">
+			<xsl:apply-templates select="." mode="decorated"/>
+			<xsl:if test="position() != last()">
+				<xsl:text>, </xsl:text>
+			</xsl:if>
+		</xsl:for-each>
+		<span class="languageSpecificText">
+			<span class="cs">&gt;</span>
+			<span class="vb">)</span>
+			<span class="cpp">&gt;</span>
+			<span class="fs">&gt;</span>
+			<span class="nu">)</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="template"
+								mode="link"
+								name="t_template_link">
+		<xsl:choose>
+			<xsl:when test="@api">
+				<referenceLink target="{@api}">
+					<span class="typeparameter">
+						<xsl:value-of select="@name"/>
+					</span>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<span class="typeparameter">
+					<xsl:value-of select="@name"/>
+				</span>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="template"
+								mode="plain"
+								name="t_templatePlain">
+		<xsl:value-of select="@name"/>
+	</xsl:template>
+
+	<xsl:template match="template"
+								mode="decorated"
+								name="t_templateDecorated">
+		<span class="typeparameter">
+			<xsl:value-of select="@name"/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="templates"
+								mode="link"
+								name="t_templatesLink">
+		<xsl:call-template name="t_specializationLink"/>
+	</xsl:template>
+
+	<xsl:template match="templates"
+								mode="plain"
+								name="t_templatesPlain">
+		<xsl:call-template name="t_specializationPlain"/>
+	</xsl:template>
+
+	<xsl:template match="templates"
+								mode="decorated"
+								name="t_templatesDecorated">
+		<xsl:call-template name="t_specializationDecorated"/>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="arrayOf" mode="link" name="t_arrayOfLink">
+		<xsl:param name="qualified" select="false()"/>
+		<span class="languageSpecificText">
+			<span class="cpp">array&lt;</span>
+		</span>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<span class="languageSpecificText">
+			<span class="cpp">
+				<xsl:if test="number(@rank) &gt; 1">
+					<xsl:text>,</xsl:text>
+					<xsl:value-of select="@rank"/>
+				</xsl:if>
+				<xsl:text>&gt;</xsl:text>
+			</span>
+			<span class="vb">
+				<xsl:text>(</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>)</xsl:text>
+			</span>
+			<span class="nu">
+				<xsl:text>[</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>]</xsl:text>
+			</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="plain" name="t_arrayOfPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="plain"/>
+		<xsl:text>[</xsl:text>
+		<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+		<xsl:text>]</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="arrayOf" mode="decorated" name="t_arrayOfDecorated">
+		<span class="languageSpecificText">
+			<span class="cpp">array&lt;</span>
+		</span>
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="decorated"/>
+		<span class="languageSpecificText">
+			<span class="cpp">
+				<xsl:if test="number(@rank) &gt; 1">
+					<xsl:text>,</xsl:text>
+					<xsl:value-of select="@rank"/>
+				</xsl:if>
+				<xsl:text>&gt;</xsl:text>
+			</span>
+			<span class="vb">
+				<xsl:text>(</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>)</xsl:text>
+			</span>
+			<span class="nu">
+				<xsl:text>[</xsl:text>
+				<xsl:if test="number(@rank) &gt; 1">,</xsl:if>
+				<xsl:text>]</xsl:text>
+			</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="pointerTo" mode="link" name="t_pointerToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="plain" name="t_pointerToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="plain"/>
+		<xsl:text>*</xsl:text>
+	</xsl:template>
+
+	<xsl:template match="pointerTo" mode="decorated" name="t_pointerToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="decorated"/>
+		<span class="languageSpecificText">
+			<span class="cpp">
+				<xsl:text>*</xsl:text>
+			</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="referenceTo" mode="link" name="t_referenceToLink">
+		<xsl:param name="qualified" select="false()"/>
+		<xsl:apply-templates mode="link">
+			<xsl:with-param name="qualified" select="$qualified"/>
+		</xsl:apply-templates>
+		<span class="languageSpecificText">
+			<span class="cpp">%</span>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="plain" name="t_referenceToPlain">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="plain"/>
+	</xsl:template>
+
+	<xsl:template match="referenceTo" mode="decorated" name="t_referenceToDecorated">
+		<xsl:apply-templates select="type|arrayOf|pointerTo|referenceTo|template|specialization|templates"
+												 mode="decorated"/>
+		<span class="languageSpecificText">
+			<span class="cpp">%</span>
+		</span>
+	</xsl:template>
+
+	<!-- ======================================================================================== -->
+
+	<xsl:template match="member"
+								mode="link"
+								name="t_memberLink">
+		<xsl:param name="qualified"
+							 select="true()"/>
+		<xsl:choose>
+			<xsl:when test="@display-api">
+				<referenceLink target="{@api}"
+											 display-target="{@display-api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:when>
+			<xsl:otherwise>
+				<referenceLink target="{@api}">
+					<xsl:if test="$qualified">
+						<xsl:attribute name="show-container">true</xsl:attribute>
+					</xsl:if>
+				</referenceLink>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.aspx b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.aspx
new file mode 100644
index 0000000000000000000000000000000000000000..40f4afe8b1b69eb87f42661bada68a30d33a6bf2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.aspx
@@ -0,0 +1,232 @@
+<%@ Page Language="C#" EnableViewState="False" %>
+
+<script runat="server">
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : SearchHelp.aspx
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 05/15/2014
+// Note    : Copyright 2007-2015, Eric Woodruff, All rights reserved
+//
+// This file contains the code used to search for keywords within the help topics using the full-text index
+// files created by the help file builder.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+//    Date     Who  Comments
+// ==============================================================================================================
+// 06/24/2007  EFW  Created the code
+// 02/17/2012  EFW  Switched to JSON serialization to support websites that use something other than ASP.NET
+//                  such as PHP.
+// 05/15/2014  EFW  Updated for use with the lightweight website presentation styles
+//===============================================================================================================
+
+/// <summary>
+/// This class is used to track the results and their rankings
+/// </summary>
+private class Ranking
+{
+    public string Filename, PageTitle;
+    public int Rank;
+
+    public Ranking(string file, string title, int rank)
+    {
+        Filename = file;
+        PageTitle = title;
+        Rank = rank;
+    }
+}
+
+/// <summary>
+/// Render the search results
+/// </summary>
+/// <param name="writer">The writer to which the results are written</param>
+protected override void Render(HtmlTextWriter writer)
+{
+    JavaScriptSerializer jss = new JavaScriptSerializer();
+    string searchText, ftiFile;
+    char letter;
+    bool sortByTitle = false;
+
+    jss.MaxJsonLength = Int32.MaxValue;
+
+    // The keywords for which to search should be passed in the query string
+    searchText = this.Request.QueryString["Keywords"];
+
+    if(String.IsNullOrEmpty(searchText))
+    {
+        writer.Write("<strong>Nothing found</strong>");
+        return;
+    }
+
+    // An optional SortByTitle option can also be specified
+    if(this.Request.QueryString["SortByTitle"] != null)
+        sortByTitle = Convert.ToBoolean(this.Request.QueryString["SortByTitle"]);
+
+    List<string> keywords = this.ParseKeywords(searchText);
+    List<char> letters = new List<char>();
+    List<string> fileList;
+    Dictionary<string, List<long>> ftiWords, wordDictionary = new Dictionary<string,List<long>>();
+
+    // Load the file index
+    using(StreamReader sr = new StreamReader(Server.MapPath("fti/FTI_Files.json")))
+    {
+        fileList = jss.Deserialize<List<string>>(sr.ReadToEnd());
+    }
+
+    // Load the required word index files
+    foreach(string word in keywords)
+    {
+        letter = word[0];
+
+        if(!letters.Contains(letter))
+        {
+            letters.Add(letter);
+            ftiFile = Server.MapPath(String.Format(CultureInfo.InvariantCulture, "fti/FTI_{0}.json", (int)letter));
+
+            if(File.Exists(ftiFile))
+            {
+                using(StreamReader sr = new StreamReader(ftiFile))
+                {
+                    ftiWords = jss.Deserialize<Dictionary<string, List<long>>>(sr.ReadToEnd());
+                }
+
+                foreach(string ftiWord in ftiWords.Keys)
+                    wordDictionary.Add(ftiWord, ftiWords[ftiWord]);
+            }
+        }
+    }
+
+    // Perform the search and return the results as a block of HTML
+    writer.Write(this.Search(keywords, fileList, wordDictionary, sortByTitle));
+}
+
+/// <summary>
+/// Split the search text up into keywords
+/// </summary>
+/// <param name="keywords">The keywords to parse</param>
+/// <returns>A list containing the words for which to search</returns>
+private List<string> ParseKeywords(string keywords)
+{
+    List<string> keywordList = new List<string>();
+    string checkWord;
+    string[] words = Regex.Split(keywords, @"\W+");
+
+    foreach(string word in words)
+    {
+        checkWord = word.ToLower(CultureInfo.InvariantCulture);
+        
+        if(checkWord.Length > 2 && !Char.IsDigit(checkWord[0]) && !keywordList.Contains(checkWord))
+            keywordList.Add(checkWord);
+    }
+
+    return keywordList;
+}
+
+/// <summary>
+/// Search for the specified keywords and return the results as a block of HTML
+/// </summary>
+/// <param name="keywords">The keywords for which to search</param>
+/// <param name="fileInfo">The file list</param>
+/// <param name="wordDictionary">The dictionary used to find the words</param>
+/// <param name="sortByTitle">True to sort by title, false to sort by ranking</param>
+/// <returns>A block of HTML representing the search results</returns>
+private string Search(List<string> keywords, List<string> fileInfo,
+  Dictionary<string, List<long>> wordDictionary, bool sortByTitle)
+{
+    StringBuilder sb = new StringBuilder(10240);
+    Dictionary<string, List<long>> matches = new Dictionary<string, List<long>>();
+    List<long> occurrences;
+    List<int> matchingFileIndices = new List<int>(), occurrenceIndices = new List<int>();
+    List<Ranking> rankings = new List<Ranking>();
+
+    string filename, title;
+    string[] fileIndex;
+    bool isFirst = true;
+    int idx, wordCount, matchCount;
+
+    foreach(string word in keywords)
+    {
+        if(!wordDictionary.TryGetValue(word, out occurrences))
+            return "<strong>Nothing found</strong>";
+
+        matches.Add(word, occurrences);
+        occurrenceIndices.Clear();
+
+        // Get a list of the file indices for this match
+        foreach(long entry in occurrences)
+            occurrenceIndices.Add((int)(entry >> 16));
+            
+        if(isFirst)
+        {
+            isFirst = false;
+            matchingFileIndices.AddRange(occurrenceIndices);
+        }
+        else
+        {
+            // After the first match, remove files that do not appear for
+            // all found keywords.
+            for(idx = 0; idx < matchingFileIndices.Count; idx++)
+                if(!occurrenceIndices.Contains(matchingFileIndices[idx]))
+                {
+                    matchingFileIndices.RemoveAt(idx);
+                    idx--;
+                }
+        }
+    }
+
+    if(matchingFileIndices.Count == 0)
+        return "<strong>Nothing found</strong>";
+
+    // Rank the files based on the number of times the words occurs
+    foreach(int index in matchingFileIndices)
+    {
+        // Split out the title, filename, and word count
+        fileIndex = fileInfo[index].Split('\x0');
+
+        title = fileIndex[0];
+        filename = fileIndex[1];
+        wordCount = Convert.ToInt32(fileIndex[2]);
+        matchCount = 0;
+        
+        foreach(string word in keywords)
+        {
+            occurrences = matches[word];
+
+            foreach(long entry in occurrences)
+                if((int)(entry >> 16) == index)
+                    matchCount += (int)(entry & 0xFFFF);
+        }
+
+        rankings.Add(new Ranking(filename, title, matchCount * 1000 / wordCount));
+		
+        if(rankings.Count > 99)
+            break;				
+    }
+
+    // Sort by rank in descending order or by page title in ascending order
+    rankings.Sort(delegate (Ranking x, Ranking y)
+    {
+        if(!sortByTitle)
+            return y.Rank - x.Rank;
+
+        return x.PageTitle.CompareTo(y.PageTitle);
+    });
+
+    // Format the file list and return the results
+		sb.Append("<ol>");
+
+    foreach(Ranking r in rankings)
+        sb.AppendFormat("<li><a href=\"{0}\" target=\"_blank\">{1}</a></li>", r.Filename, r.PageTitle);
+
+		sb.Append("</ol>");
+
+    if(rankings.Count < matchingFileIndices.Count)
+        sb.AppendFormat("<p>Omitted {0} more results</p>", matchingFileIndices.Count - rankings.Count);
+
+    return sb.ToString();
+}
+</script>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.inc.php b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.inc.php
new file mode 100644
index 0000000000000000000000000000000000000000..b905e130cfd995c034a569df15812d682c926c1b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.inc.php
@@ -0,0 +1,173 @@
+<?
+// Contributed to the Sandcastle Help File Builder project by Thomas Levesque
+
+class Ranking
+{
+    public $filename;
+    public $pageTitle;
+    public $rank;
+
+    function __construct($file, $title, $rank)
+    {
+        $this->filename = $file;
+        $this->pageTitle = $title;
+        $this->rank = $rank;
+    }
+}
+
+
+/// <summary>
+/// Split the search text up into keywords
+/// </summary>
+/// <param name="keywords">The keywords to parse</param>
+/// <returns>A list containing the words for which to search</returns>
+function ParseKeywords($keywords)
+{
+    $keywordList = array();
+    $words = preg_split("/[^\w]+/", $keywords);
+
+    foreach($words as $word)
+    {
+        $checkWord = strtolower($word);
+        $first = substr($checkWord, 0, 1);
+        if(strlen($checkWord) > 2 && !ctype_digit($first) && !in_array($checkWord, $keywordList))
+        {
+            array_push($keywordList, $checkWord);
+        }
+    }
+
+    return $keywordList;
+}
+
+
+/// <summary>
+/// Search for the specified keywords and return the results as a block of
+/// HTML.
+/// </summary>
+/// <param name="keywords">The keywords for which to search</param>
+/// <param name="fileInfo">The file list</param>
+/// <param name="wordDictionary">The dictionary used to find the words</param>
+/// <param name="sortByTitle">True to sort by title, false to sort by
+/// ranking</param>
+/// <returns>A block of HTML representing the search results.</returns>
+function Search($keywords, $fileInfo, $wordDictionary, $sortByTitle)
+{
+    $sb = "<ol>";
+    $matches = array();
+    $matchingFileIndices = array();
+    $rankings = array();
+
+    $isFirst = true;
+
+    foreach($keywords as $word)
+    {
+        if (!array_key_exists($word, $wordDictionary))
+        {
+            return "<strong>Nothing found</strong>";
+        }
+        $occurrences = $wordDictionary[$word];
+
+        $matches[$word] = $occurrences;
+        $occurrenceIndices = array();
+
+        // Get a list of the file indices for this match
+        foreach($occurrences as $entry)
+            array_push($occurrenceIndices, ($entry >> 16));
+
+        if($isFirst)
+        {
+            $isFirst = false;
+            foreach($occurrenceIndices as $i)
+            {
+                array_push($matchingFileIndices, $i);
+            }
+        }
+        else
+        {
+            // After the first match, remove files that do not appear for
+            // all found keywords.
+            for($idx = 0; $idx < count($matchingFileIndices); $idx++)
+            {
+                if (!in_array($matchingFileIndices[$idx], $occurrenceIndices))
+                {
+                    array_splice($matchingFileIndices, $idx, 1);
+                    $idx--;
+                }
+            }
+        }
+    }
+
+    if(count($matchingFileIndices) == 0)
+    {
+        return "<strong>Nothing found</strong>";
+    }
+
+    // Rank the files based on the number of times the words occurs
+    foreach($matchingFileIndices as $index)
+    {
+        // Split out the title, filename, and word count
+        $fileIndex = explode("\x00", $fileInfo[$index]);
+
+        $title = $fileIndex[0];
+        $filename = $fileIndex[1];
+        $wordCount = intval($fileIndex[2]);
+        $matchCount = 0;
+
+        foreach($keywords as $words)
+        {
+            $occurrences = $matches[$word];
+
+            foreach($occurrences as $entry)
+            {
+                if(($entry >> 16) == $index)
+                    $matchCount += $entry & 0xFFFF;
+            }
+        }
+
+        $r = new Ranking($filename, $title, $matchCount * 1000 / $wordCount);
+        array_push($rankings, $r);
+
+        if(count($rankings) > 99)
+            break;
+    }
+
+    // Sort by rank in descending order or by page title in ascending order
+    if($sortByTitle)
+    {
+        usort($rankings, "cmprankbytitle");
+    }
+    else
+    {
+        usort($rankings, "cmprank");
+    }
+
+    // Format the file list and return the results
+    foreach($rankings as $r)
+    {
+        $f = $r->filename;
+        $t = $r->pageTitle;
+        $sb .= "<li><a href=\"$f\" target=\"_blank\">$t</a></li>";
+    }
+
+    $sb .= "</ol";
+
+    if(count($rankings) < count($matchingFileIndices))
+    {
+        $c = count(matchingFileIndices) - count(rankings);
+        $sb .= "<p>Omitted $c more results</p>";
+    }
+
+    return $sb;
+}
+
+function cmprank($x, $y)
+{
+    return $y->rank - $x->rank;
+}
+
+function cmprankbytitle($x, $y)
+{
+    return strcmp($x->pageTitle, $y->pageTitle);
+}
+
+?>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.php b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.php
new file mode 100644
index 0000000000000000000000000000000000000000..eaa1e117f941c969ef8737d9f30037315f05eb6f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/SearchHelp.php
@@ -0,0 +1,58 @@
+<?
+// Contributed to the Sandcastle Help File Builder project by Thomas Levesque
+
+include("SearchHelp.inc.php");
+
+    $sortByTitle = false;
+
+    // The keywords for which to search should be passed in the query string
+    $searchText = $_GET["Keywords"];
+
+    if(empty($searchText))
+    {
+    ?>
+        <strong>Nothing found</strong>
+    <?
+        return;
+    }
+
+    // An optional SortByTitle option can also be specified
+    if($_GET["SortByTitle"] == "true")
+        $sortByTitle = true;
+
+    $keywords = ParseKeywords($searchText);
+    $letters = array();
+    $wordDictionary = array();
+
+    // Load the file index
+    $json = file_get_contents("fti/FTI_Files.json");
+    $fileList = json_decode($json);
+
+    // Load the required word index files
+    foreach($keywords as $word)
+    {
+        $letter = substr($word, 0, 1);
+
+        if(!in_array($letter, $letters))
+        {
+            array_push($letters, $letter);
+            $ascii = ord($letter);
+            $ftiFile = "fti/FTI_$ascii.json";
+
+            if(file_exists($ftiFile))
+            {
+                $json = file_get_contents($ftiFile);
+                $ftiWords = json_decode($json, true);
+
+                foreach($ftiWords as $ftiWord => $val)
+                {
+                    $wordDictionary[$ftiWord] = $val;
+                }
+            }
+        }
+    }
+
+    // Perform the search and return the results as a block of HTML
+    $results = Search($keywords, $fileList, $wordDictionary, $sortByTitle);
+    echo $results;
+?>
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/Web.Config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/Web.Config
new file mode 100644
index 0000000000000000000000000000000000000000..f0f3e6cb69cb213a726d4bfad9aa32c99abb7eeb
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/Web.Config
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
+	<system.web>
+		<customErrors mode="On" defaultRedirect="~/html/GeneralError.htm">
+			<error statusCode="404" redirect="~/html/PageNotFound.htm" />
+		</customErrors>
+		<compilation debug="false">
+			<assemblies>
+				<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+			</assemblies>
+		</compilation>
+		<pages>
+			<namespaces>
+				<add namespace="System"/>
+				<add namespace="System.Collections.Generic"/>
+				<add namespace="System.Globalization"/>
+				<add namespace="System.IO"/>
+				<add namespace="System.Text"/>
+				<add namespace="System.Text.RegularExpressions"/>
+				<add namespace="System.Web"/>
+				<add namespace="System.Web.Script.Serialization"/>
+				<add namespace="System.Web.UI"/>
+				<add namespace="System.Xml"/>
+				<add namespace="System.Xml.Serialization" />
+				<add namespace="System.Xml.XPath"/>
+			</namespaces>
+		</pages>
+	</system.web>
+	<appSettings>
+		<!-- Increase this value if you get an "Operation is not valid due to the current state of the object" error
+		     when using the search page. -->
+		<add key="aspnet:MaxJsonDeserializerMembers" value="100000" />
+	</appSettings>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/html/GeneralError.htm b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/html/GeneralError.htm
new file mode 100644
index 0000000000000000000000000000000000000000..0264a03bbea3925da44ac3e3e55c86515c5a5f18
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/html/GeneralError.htm
@@ -0,0 +1,29 @@
+<html>
+<head>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+	<link rel="shortcut icon" href="../icons/favicon.ico" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding.css" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" />
+	<script type="text/javascript" src="../scripts/branding.js"> </script>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<title>General Error</title>
+	<meta name="Language" content="en-us" />
+	<meta name="Description" content="A general error has occurred" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" />
+	<script type="text/javascript" src="../scripts/jquery-3.5.1.min.js"></script>
+	<script type="text/javascript" src="../scripts/branding-Website.js"></script>
+	<script type="text/javascript" src="../scripts/clipboard.min.js"></script>
+</head>
+
+<body>
+	<div class="pageHeader" id="PageHeader">
+		{@HtmlEncProductTitle}
+		<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form>
+	</div>
+	<div style="padding: 20px;">
+		<h1>We're sorry, a general error has occurred.</h1>
+		<p>Please try to load the page again.  If the error persists, please contact the site administrator.</p>
+	</div>
+</body>
+
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/html/PageNotFound.htm b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/html/PageNotFound.htm
new file mode 100644
index 0000000000000000000000000000000000000000..3489be3625a507a94c2da927445dff60bef9b4b8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/html/PageNotFound.htm
@@ -0,0 +1,31 @@
+<html>
+<head>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+	<link rel="shortcut icon" href="../icons/favicon.ico" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding.css" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" />
+	<script type="text/javascript" src="../scripts/branding.js"> </script>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<title>Page Not Found</title>
+	<meta name="Language" content="en-us" />
+	<meta name="Description" content="The requested page was not found" />
+	<link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" />
+	<script type="text/javascript" src="../scripts/jquery-3.5.1.min.js"></script>
+	<script type="text/javascript" src="../scripts/branding-Website.js"></script>
+	<script type="text/javascript" src="../scripts/clipboard.min.js"></script>
+</head>
+
+<body>
+	<div class="pageHeader" id="PageHeader">
+		{@HtmlEncProductTitle}
+		<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form>
+	</div>
+	<div style="padding: 20px;">
+		<h1>We're sorry, the page you requested cannot be found.</h1>
+		<p>The URL might be misspelled or the page you are looking for is no longer available.  If you entered
+the web address, check that it doesn't contain a typo.  You can use the search box at the top of the page to
+try and locate the page.</p>
+	</div>
+</body>
+
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/Search.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/Search.png
new file mode 100644
index 0000000000000000000000000000000000000000..42165b6d64c2ad706179b7eaa0485caa089e6ed9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/Search.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocClose.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocClose.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e6d7b5edcc237dc7d59b4a42910a4abab459c94e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocClose.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocCollapsed.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocCollapsed.gif
new file mode 100644
index 0000000000000000000000000000000000000000..108d492386d7ee4cb692637beff6c88c59d52086
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocCollapsed.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocExpanded.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocExpanded.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f774d9bb6589737768a8bf788046a8bbe53ca902
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocExpanded.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocOpen.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocOpen.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4992a98a2b838039c1920ceba85b67607a22770f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/icons/TocOpen.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/index.html b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..0ceaeef98001562cd9914145a75d5b2d028d1fcb
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/index.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+	<meta charset="UTF-8">
+	<meta http-equiv="refresh" content="1;url={@WebDefaultTopic}">
+	<script type="text/javascript">
+		window.location.replace("{@WebDefaultTopic}")
+	</script>
+	<title>{@HtmlEncHelpTitle} - Redirect</title>
+</head>
+<body>
+	<p>If you are not redirected automatically, follow this link to the <a href="{@WebDefaultTopic}">default topic</a>.</p>
+</body>
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/branding-Website.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/branding-Website.js
new file mode 100644
index 0000000000000000000000000000000000000000..8727883ddb3c2331e958ec277c1beacaa7d14357
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/branding-Website.js
@@ -0,0 +1,624 @@
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : branding-Website.js
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 03/04/2015
+// Note    : Copyright 2014-2015, Eric Woodruff, All rights reserved
+//           Portions Copyright 2014 Sam Harwell, All rights reserved
+//
+// This file contains the methods necessary to implement the lightweight TOC and search functionality.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+//    Date     Who  Comments
+// ==============================================================================================================
+// 05/04/2014  EFW  Created the code based on a combination of the lightweight TOC code from Sam Harwell and
+//                  the existing search code from SHFB.
+//===============================================================================================================
+
+// Width of the TOC
+var tocWidth;
+
+// Search method (0 = To be determined, 1 = ASPX, 2 = PHP, anything else = client-side script
+var searchMethod = 0;
+
+// Table of contents script
+
+// Initialize the TOC by restoring its width from the cookie if present
+function InitializeToc()
+{
+    tocWidth = parseInt(GetCookie("TocWidth", "280"));
+    ResizeToc();
+    $(window).resize(SetNavHeight)
+}
+
+function SetNavHeight()
+{
+    $leftNav = $("#leftNav")
+    $topicContent = $("#TopicContent")
+    leftNavPadding = $leftNav.outerHeight() - $leftNav.height()
+    contentPadding = $topicContent.outerHeight() - $topicContent.height()
+    // want outer height of left navigation div to match outer height of content
+    leftNavHeight = $topicContent.outerHeight() - leftNavPadding
+    $leftNav.css("min-height", leftNavHeight + "px")
+}
+
+// Increase the TOC width
+function OnIncreaseToc()
+{
+    if(tocWidth < 1)
+        tocWidth = 280;
+    else
+        tocWidth += 100;
+
+    if(tocWidth > 680)
+        tocWidth = 0;
+
+    ResizeToc();
+    SetCookie("TocWidth", tocWidth);
+}
+
+// Reset the TOC to its default width
+function OnResetToc()
+{
+    tocWidth = 0;
+
+    ResizeToc();
+    SetCookie("TocWidth", tocWidth);
+}
+
+// Resize the TOC width
+function ResizeToc()
+{
+    var toc = document.getElementById("leftNav");
+
+    if(toc)
+    {
+        // Set TOC width
+        toc.style.width = tocWidth + "px";
+
+        var leftNavPadding = 10;
+
+        document.getElementById("TopicContent").style.marginLeft = (tocWidth + leftNavPadding) + "px";
+
+        // Position images
+        document.getElementById("TocResize").style.left = (tocWidth + leftNavPadding) + "px";
+
+        // Hide/show increase TOC width image
+        document.getElementById("ResizeImageIncrease").style.display = (tocWidth >= 680) ? "none" : "";
+
+        // Hide/show reset TOC width image
+        document.getElementById("ResizeImageReset").style.display = (tocWidth < 680) ? "none" : "";
+    }
+
+    SetNavHeight()
+}
+
+// Toggle a TOC entry between its collapsed and expanded state
+function Toggle(item)
+{
+    var isExpanded = $(item).hasClass("tocExpanded");
+
+    $(item).toggleClass("tocExpanded tocCollapsed");
+
+    if(isExpanded)
+    {
+        Collapse($(item).parent());
+    }
+    else
+    {
+        var childrenLoaded = $(item).parent().attr("data-childrenloaded");
+
+        if(childrenLoaded)
+        {
+            Expand($(item).parent());
+        }
+        else
+        {
+            var tocid = $(item).next().attr("tocid");
+
+            $.ajax({
+                url: "../toc/" + tocid + ".xml",
+                async: true,
+                dataType: "xml",
+                success: function(data)
+                {
+                    BuildChildren($(item).parent(), data);
+                }
+            });
+        }
+    }
+}
+
+// HTML encode a value for use on the page
+function HtmlEncode(value)
+{
+    // Create an in-memory div, set it's inner text (which jQuery automatically encodes) then grab the encoded
+    // contents back out.  The div never exists on the page.
+    return $('<div/>').text(value).html();
+}
+
+// Build the child entries of a TOC entry
+function BuildChildren(tocDiv, data)
+{
+    var childLevel = +tocDiv.attr("data-toclevel") + 1;
+    var childTocLevel = childLevel >= 10 ? 10 : childLevel;
+    var elements = data.getElementsByTagName("HelpTOCNode");
+
+    var isRoot = true;
+
+    if(data.getElementsByTagName("HelpTOC").length == 0)
+    {
+        // The first node is the root node of this group, don't show it again
+        isRoot = false;
+    }
+
+    for(var i = elements.length - 1; i > 0 || (isRoot && i == 0); i--)
+    {
+        var childHRef, childId = elements[i].getAttribute("Url");
+
+        if(childId != null && childId.length > 5)
+        {
+            // The Url attribute has the form "html/{childId}.htm"
+            childHRef = "../" + childId;
+            childId = childId.substring(childId.lastIndexOf("/") + 1, childId.lastIndexOf("."));
+        }
+        else
+        {
+            // The Id attribute is in raw form.  There is no URL (empty container node).  In this case, we'll
+            // just ignore it and go nowhere.  It's a rare case that isn't worth trying to get the first child.
+            // Instead, we'll just expand the node (see below).
+            childHRef = "#";
+            childId = elements[i].getAttribute("Id");
+        }
+
+        var existingItem = null;
+
+        tocDiv.nextAll().each(function()
+        {
+            if(!existingItem && $(this).children().last("a").attr("tocid") == childId)
+            {
+                existingItem = $(this);
+            }
+        });
+
+        if(existingItem != null)
+        {
+            // First move the children of the existing item
+            var existingChildLevel = +existingItem.attr("data-toclevel");
+            var doneMoving = false;
+            var inserter = tocDiv;
+
+            existingItem.nextAll().each(function()
+            {
+                if(!doneMoving && +$(this).attr("data-toclevel") > existingChildLevel)
+                {
+                    inserter.after($(this));
+                    inserter = $(this);
+                    $(this).attr("data-toclevel", +$(this).attr("data-toclevel") + childLevel - existingChildLevel);
+
+                    if($(this).hasClass("current"))
+                        $(this).attr("class", "toclevel" + (+$(this).attr("data-toclevel") + " current"));
+                    else
+                        $(this).attr("class", "toclevel" + (+$(this).attr("data-toclevel")));
+                }
+                else
+                {
+                    doneMoving = true;
+                }
+            });
+
+            // Now move the existing item itself
+            tocDiv.after(existingItem);
+            existingItem.attr("data-toclevel", childLevel);
+            existingItem.attr("class", "toclevel" + childLevel);
+        }
+        else
+        {
+            var hasChildren = elements[i].getAttribute("HasChildren");
+            var childTitle = HtmlEncode(elements[i].getAttribute("Title"));
+            var expander = "";
+
+            if(hasChildren)
+                expander = "<a class=\"tocCollapsed\" onclick=\"javascript: Toggle(this);\" href=\"#!\"></a>";
+
+            var text = "<div class=\"toclevel" + childTocLevel + "\" data-toclevel=\"" + childLevel + "\">" +
+                expander + "<a data-tochassubtree=\"" + hasChildren + "\" href=\"" + childHRef + "\" title=\"" +
+                childTitle + "\" tocid=\"" + childId + "\"" +
+                (childHRef == "#" ? " onclick=\"javascript: Toggle(this.previousSibling);\"" : "") + ">" +
+                childTitle + "</a></div>";
+
+            tocDiv.after(text);
+        }
+    }
+
+    tocDiv.attr("data-childrenloaded", true);
+}
+
+// Collapse a TOC entry
+function Collapse(tocDiv)
+{
+    // Hide all the TOC elements after item, until we reach one with a data-toclevel less than or equal to the
+    // current item's value.
+    var tocLevel = +tocDiv.attr("data-toclevel");
+    var done = false;
+
+    tocDiv.nextAll().each(function()
+    {
+        if(!done && +$(this).attr("data-toclevel") > tocLevel)
+        {
+            $(this).hide();
+        }
+        else
+        {
+            done = true;
+        }
+    });
+}
+
+// Expand a TOC entry
+function Expand(tocDiv)
+{
+    // Show all the TOC elements after item, until we reach one with a data-toclevel less than or equal to the
+    // current item's value
+    var tocLevel = +tocDiv.attr("data-toclevel");
+    var done = false;
+
+    tocDiv.nextAll().each(function()
+    {
+        if(done)
+        {
+            return;
+        }
+
+        var childTocLevel = +$(this).attr("data-toclevel");
+
+        if(childTocLevel == tocLevel + 1)
+        {
+            $(this).show();
+
+            if($(this).children("a").first().hasClass("tocExpanded"))
+            {
+                Expand($(this));
+            }
+        }
+        else if(childTocLevel > tocLevel + 1)
+        {
+            // Ignore this node, handled by recursive calls
+        }
+        else
+        {
+            done = true;
+        }
+    });
+}
+
+// This is called to prepare for dragging the sizer div
+function OnMouseDown(event)
+{
+    document.addEventListener("mousemove", OnMouseMove, true);
+    document.addEventListener("mouseup", OnMouseUp, true);
+    event.preventDefault();
+}
+
+// Resize the TOC as the sizer is dragged
+function OnMouseMove(event)
+{
+    tocWidth = (event.clientX > 700) ? 700 : (event.clientX < 100) ? 100 : event.clientX;
+
+    ResizeToc();
+}
+
+// Finish the drag operation when the mouse button is released
+function OnMouseUp(event)
+{
+    document.removeEventListener("mousemove", OnMouseMove, true);
+    document.removeEventListener("mouseup", OnMouseUp, true);
+
+    SetCookie("TocWidth", tocWidth);
+}
+
+// Search functions
+
+// Transfer to the search page from a topic
+function TransferToSearchPage()
+{
+    var searchText = document.getElementById("SearchTextBox").value.trim();
+
+    if(searchText.length != 0)
+        document.location.replace(encodeURI("../search.html?SearchText=" + searchText));
+}
+
+// Initiate a search when the search page loads
+function OnSearchPageLoad()
+{
+    var queryString = decodeURI(document.location.search);
+
+    if(queryString != "")
+    {
+        var idx, options = queryString.split(/[\?\=\&]/);
+
+        for(idx = 0; idx < options.length; idx++)
+            if(options[idx] == "SearchText" && idx + 1 < options.length)
+            {
+                document.getElementById("txtSearchText").value = options[idx + 1];
+                PerformSearch();
+                break;
+            }
+    }
+}
+
+// Perform a search using the best available method
+function PerformSearch()
+{
+    var searchText = document.getElementById("txtSearchText").value;
+    var sortByTitle = document.getElementById("chkSortByTitle").checked;
+    var searchResults = document.getElementById("searchResults");
+
+    if(searchText.length == 0)
+    {
+        searchResults.innerHTML = "<strong>Nothing found</strong>";
+        return;
+    }
+
+    searchResults.innerHTML = "Searching...";
+
+    // Determine the search method if not done already.  The ASPX and PHP searches are more efficient as they
+    // run asynchronously server-side.  If they can't be used, it defaults to the client-side script below which
+    // will work but has to download the index files.  For large help sites, this can be inefficient.
+    if(searchMethod == 0)
+        searchMethod = DetermineSearchMethod();
+
+    if(searchMethod == 1)
+    {
+        $.ajax({
+            type: "GET",
+            url: encodeURI("SearchHelp.aspx?Keywords=" + searchText + "&SortByTitle=" + sortByTitle),
+            success: function(html)
+            {
+                searchResults.innerHTML = html;
+            }
+        });
+
+        return;
+    }
+
+    if(searchMethod == 2)
+    {
+        $.ajax({
+            type: "GET",
+            url: encodeURI("SearchHelp.php?Keywords=" + searchText + "&SortByTitle=" + sortByTitle),
+            success: function(html)
+            {
+                searchResults.innerHTML = html;
+            }
+        });
+
+        return;
+    }
+
+    // Parse the keywords
+    var keywords = ParseKeywords(searchText);
+
+    // Get the list of files.  We'll be getting multiple files so we need to do this synchronously.
+    var fileList = [];
+
+    $.ajax({
+        type: "GET",
+        url: "fti/FTI_Files.json",
+        dataType: "json",
+        async: false,
+        success: function(data)
+        {
+            $.each(data, function(key, val)
+            {
+                fileList[key] = val;
+            });
+        }
+    });
+
+    var letters = [];
+    var wordDictionary = {};
+    var wordNotFound = false;
+
+    // Load the keyword files for each keyword starting letter
+    for(var idx = 0; idx < keywords.length && !wordNotFound; idx++)
+    {
+        var letter = keywords[idx].substring(0, 1);
+
+        if($.inArray(letter, letters) == -1)
+        {
+            letters.push(letter);
+
+            $.ajax({
+                type: "GET",
+                url: "fti/FTI_" + letter.charCodeAt(0) + ".json",
+                dataType: "json",
+                async: false,
+                success: function(data)
+                {
+                    var wordCount = 0;
+
+                    $.each(data, function(key, val)
+                    {
+                        wordDictionary[key] = val;
+                        wordCount++;
+                    });
+
+                    if(wordCount == 0)
+                        wordNotFound = true;
+                }
+            });
+        }
+    }
+
+    if(wordNotFound)
+        searchResults.innerHTML = "<strong>Nothing found</strong>";
+    else
+        searchResults.innerHTML = SearchForKeywords(keywords, fileList, wordDictionary, sortByTitle);
+}
+
+// Determine the search method by seeing if the ASPX or PHP search pages are present and working
+function DetermineSearchMethod()
+{
+    var method = 3;
+
+    try
+    {
+        $.ajax({
+            type: "GET",
+            url: "SearchHelp.aspx",
+            async: false,
+            success: function(html)
+            {
+                if(html.substring(0, 8) == "<strong>")
+                    method = 1;
+            }
+        });
+
+        if(method == 3)
+            $.ajax({
+                type: "GET",
+                url: "SearchHelp.php",
+                async: false,
+                success: function(html)
+                {
+                    if(html.substring(0, 8) == "<strong>")
+                        method = 2;
+                }
+            });
+    }
+    catch(e)
+    {
+    }
+
+    return method;
+}
+
+// Split the search text up into keywords
+function ParseKeywords(keywords)
+{
+    var keywordList = [];
+    var checkWord;
+    var words = keywords.split(/[\s!@#$%^&*()\-=+\[\]{}\\|<>;:'",.<>/?`~]+/);
+
+    for(var idx = 0; idx < words.length; idx++)
+    {
+        checkWord = words[idx].toLowerCase();
+
+        if(checkWord.length > 2)
+        {
+            var charCode = checkWord.charCodeAt(0);
+
+            if((charCode < 48 || charCode > 57) && $.inArray(checkWord, keywordList) == -1)
+                keywordList.push(checkWord);
+        }
+    }
+
+    return keywordList;
+}
+
+// Search for keywords and generate a block of HTML containing the results
+function SearchForKeywords(keywords, fileInfo, wordDictionary, sortByTitle)
+{
+    var matches = [], matchingFileIndices = [], rankings = [];
+    var isFirst = true;
+
+    for(var idx = 0; idx < keywords.length; idx++)
+    {
+        var word = keywords[idx];
+        var occurrences = wordDictionary[word];
+
+        // All keywords must be found
+        if(occurrences == null)
+            return "<strong>Nothing found</strong>";
+
+        matches[word] = occurrences;
+        var occurrenceIndices = [];
+
+        // Get a list of the file indices for this match.  These are 64-bit numbers but JavaScript only does
+        // bit shifts on 32-bit values so we divide by 2^16 to get the same effect as ">> 16" and use floor()
+        // to truncate the result.
+        for(var ind in occurrences)
+            occurrenceIndices.push(Math.floor(occurrences[ind] / Math.pow(2, 16)));
+
+        if(isFirst)
+        {
+            isFirst = false;
+
+            for(var matchInd in occurrenceIndices)
+                matchingFileIndices.push(occurrenceIndices[matchInd]);
+        }
+        else
+        {
+            // After the first match, remove files that do not appear for all found keywords
+            for(var checkIdx = 0; checkIdx < matchingFileIndices.length; checkIdx++)
+                if($.inArray(matchingFileIndices[checkIdx], occurrenceIndices) == -1)
+                {
+                    matchingFileIndices.splice(checkIdx, 1);
+                    checkIdx--;
+                }
+        }
+    }
+
+    if(matchingFileIndices.length == 0)
+        return "<strong>Nothing found</strong>";
+
+    // Rank the files based on the number of times the words occurs
+    for(var fileIdx = 0; fileIdx < matchingFileIndices.length; fileIdx++)
+    {
+        // Split out the title, filename, and word count
+        var matchingIdx = matchingFileIndices[fileIdx];
+        var fileIndex = fileInfo[matchingIdx].split(/\0/);
+
+        var title = fileIndex[0];
+        var filename = fileIndex[1];
+        var wordCount = parseInt(fileIndex[2]);
+        var matchCount = 0;
+
+        for(var idx = 0; idx < keywords.length; idx++)
+        {
+            occurrences = matches[keywords[idx]];
+
+            for(var ind in occurrences)
+            {
+                var entry = occurrences[ind];
+
+                // These are 64-bit numbers but JavaScript only does bit shifts on 32-bit values so we divide
+                // by 2^16 to get the same effect as ">> 16" and use floor() to truncate the result.
+                if(Math.floor(entry / Math.pow(2, 16)) == matchingIdx)
+                    matchCount += (entry & 0xFFFF);
+            }
+        }
+
+        rankings.push({ Filename: filename, PageTitle: title, Rank: matchCount * 1000 / wordCount });
+
+        if(rankings.length > 99)
+            break;
+    }
+
+    rankings.sort(function(x, y)
+    {
+        if(!sortByTitle)
+            return y.Rank - x.Rank;
+
+        return x.PageTitle.localeCompare(y.PageTitle);
+    });
+
+    // Format and return the results
+    var content = "<ol>";
+
+    for(var r in rankings)
+        content += "<li><a href=\"" + rankings[r].Filename + "\" target=\"_blank\">" +
+            rankings[r].PageTitle + "</a></li>";
+
+    content += "</ol>";
+
+    if(rankings.length < matchingFileIndices.length)
+        content += "<p>Omitted " + (matchingFileIndices.length - rankings.length) + " more results</p>";
+
+    return content;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/clipboard.min.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/clipboard.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..580433f1d89c0fc01c75c7e9ae2131deaacfdfcf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/clipboard.min.js
@@ -0,0 +1,7 @@
+/*!
+ * clipboard.js v1.5.12
+ * https://zenorocha.github.io/clipboard.js
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(r)return r(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n?n:t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(t,e,n){var o=t("matches-selector");e.exports=function(t,e,n){for(var i=n?t:t.parentNode;i&&i!==document;){if(o(i,e))return i;i=i.parentNode}}},{"matches-selector":5}],2:[function(t,e,n){function o(t,e,n,o,r){var a=i.apply(this,arguments);return t.addEventListener(n,a,r),{destroy:function(){t.removeEventListener(n,a,r)}}}function i(t,e,n,o){return function(n){n.delegateTarget=r(n.target,e,!0),n.delegateTarget&&o.call(t,n)}}var r=t("closest");e.exports=o},{closest:1}],3:[function(t,e,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],4:[function(t,e,n){function o(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return i(t,e,n);if(c.nodeList(t))return r(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function r(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return s(document.body,t,e,n)}var c=t("./is"),s=t("delegate");e.exports=o},{"./is":3,delegate:2}],5:[function(t,e,n){function o(t,e){if(r)return r.call(t,e);for(var n=t.parentNode.querySelectorAll(e),o=0;o<n.length;++o)if(n[o]==t)return!0;return!1}var i=Element.prototype,r=i.matchesSelector||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector;e.exports=o},{}],6:[function(t,e,n){function o(t){var e;if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.focus(),t.setSelectionRange(0,t.value.length),e=t.value;else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),o=document.createRange();o.selectNodeContents(t),n.removeAllRanges(),n.addRange(o),e=n.toString()}return e}e.exports=o},{}],7:[function(t,e,n){function o(){}o.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function o(){i.off(t,o),e.apply(n,arguments)}var i=this;return o._=e,this.on(t,o,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;for(o;i>o;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,a=o.length;a>r;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},e.exports=o},{}],8:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","select"],r);else if("undefined"!=typeof o)r(n,e("select"));else{var a={exports:{}};r(a,i.select),i.clipboardAction=a.exports}}(this,function(t,e){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=n(e),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),c=function(){function t(e){o(this,t),this.resolveOptions(e),this.initSelection()}return t.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},t.prototype.initSelection=function t(){this.text?this.selectFake():this.target&&this.selectTarget()},t.prototype.selectFake=function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px",this.fakeElem.style.top=(window.pageYOffset||document.documentElement.scrollTop)+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()},t.prototype.removeFake=function t(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},t.prototype.selectTarget=function t(){this.selectedText=(0,i.default)(this.target),this.copyText()},t.prototype.copyText=function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(n){e=!1}this.handleResult(e)},t.prototype.handleResult=function t(e){e?this.emitter.emit("success",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)}):this.emitter.emit("error",{action:this.action,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},t.prototype.clearSelection=function t(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},t.prototype.destroy=function t(){this.removeFake()},a(t,[{key:"action",set:function t(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==("undefined"==typeof e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=c})},{select:6}],9:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof o)r(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(t,e,n,o){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var l=i(e),u=i(n),f=i(o),d=function(t){function e(n,o){r(this,e);var i=a(this,t.call(this));return i.resolveOptions(o),i.listenClick(n),i}return c(e,t),e.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},e.prototype.listenClick=function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})},e.prototype.onClick=function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})},e.prototype.defaultAction=function t(e){return s("action",e)},e.prototype.defaultTarget=function t(e){var n=s("target",e);return n?document.querySelector(n):void 0},e.prototype.defaultText=function t(e){return s("text",e)},e.prototype.destroy=function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},e}(u.default);t.exports=d})},{"./clipboard-action":8,"good-listener":4,"tiny-emitter":7}]},{},[9])(9)});
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/jquery-3.5.1.min.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/jquery-3.5.1.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..b0614034ad3a95e4ae9f53c2b015eeb3e8d68bde
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/scripts/jquery-3.5.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/search.html b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/search.html
new file mode 100644
index 0000000000000000000000000000000000000000..a29f4e40b2099d88f356b467bf638db1ba0b8e18
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/Web/search.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<title>{@HtmlEncHelpTitle} - Search</title>
+	<link rel="stylesheet" type="text/css" href="styles/branding.css" />
+	<link rel="stylesheet" type="text/css" href="styles/branding-Website.css" />
+	<script type="text/javascript" src="scripts/jquery-3.5.1.min.js"></script>
+	<script type="text/javascript" src="scripts/branding.js"></script>
+	<script type="text/javascript" src="scripts/branding-Website.js"></script>
+</head>
+<body onload="OnSearchPageLoad();">
+	<div class="pageHeader" id="PageHeader">
+		{@HtmlEncHelpTitle} - Search
+	</div>
+	<div class="pageBody">
+		<div class="searchContainer">
+			<div style="float: left;">
+				<form id="SearchForm" method="get" action="#" onsubmit="javascript:PerformSearch(); return false;">
+				<input id="txtSearchText" type="text" maxlength="200" />
+				<button id="HeaderSearchButton" type="submit" class="header-search-button">
+				</button>
+				</form>
+			</div>
+			&nbsp;&nbsp;<input type="checkbox" id="chkSortByTitle" onclick="javascript:PerformSearch();" />
+			Sort by title
+			<br />
+			<br />
+			<div id="searchResults">
+			</div>
+			<p>
+				<a href="{@WebDefaultTopic}">Back</a></p>
+		</div>
+	</div>
+</body>
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertCaution.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertCaution.png
new file mode 100644
index 0000000000000000000000000000000000000000..78f246f047efee82e1ee0b64f1adbef606253054
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertCaution.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertNote.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertNote.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc76333741e7eec739bce61fe0bbf7e48ef5c8ee
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertNote.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertSecurity.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertSecurity.png
new file mode 100644
index 0000000000000000000000000000000000000000..d40fcefc440ed3138f80d57824ddc750c4e2a4eb
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/AlertSecurity.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/CFW.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/CFW.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbcabf1b2d1322c6e205b1ff5f5ab17a4565522d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/CFW.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/CodeExample.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/CodeExample.png
new file mode 100644
index 0000000000000000000000000000000000000000..a3b9fba4cc5f29460d711dddb32b79b85783af9a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/CodeExample.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/SectionCollapsed.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/SectionCollapsed.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ded1ebc6b03328520aac9416ea15f07e63809a8
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/SectionCollapsed.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/SectionExpanded.png b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/SectionExpanded.png
new file mode 100644
index 0000000000000000000000000000000000000000..b693921cc92c2b00c06b842c8d098ea63afc1cfc
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/SectionExpanded.png differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/favicon.ico b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..2b9963f814281f0b1b7bb661be8d579191b59a42
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/favicon.ico differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0939694ce08ad44508f6f017b68e46f0f22377b9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3aa8a65ef5277c6682f106de956da036c50d363
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..47f387ec2bf4ca4d6b1381cbe8c843912b6c616a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30db46df766c1b49bf86b168eaae03052ce8f292
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..51dd267f0f7fa11a657ef51a69cb9159ced8775f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbf70f7a3fc3875ee62d9a4dacf3a088e60f2eff
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f3b7950adc741c7b4085da8ab52167435bec317c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71f882264291eb056bc55dce1c73f9b7cae1aa4a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1e8074654b3fc0601b0302f1be7b39f5bf5eb7b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed6d1ef68f8736e5c05137be2af0ff7714ddb85b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/privstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9294292a9b5f94a281de7657b5555d06bb4a96
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b209f2d816d78188dbcd93907917d7a0ef34eaa9
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cc96bb635982abc9d306f219ebdd71d29f95757c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e510b272cfca80656561d1d699dc644a4bce266
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dcd07f5e1a673de3120e3f82e6f8c24f8bcd723b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ae6833e0821dae813c941500d1e12a88c7c334f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1b96d2c6a0b681cb6d65d30f8e212a3c2d29081
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bc946873495112cc5b27bf66ea0d10ca8f30367
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protoperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protoperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2cb75ab8b05d4b8d65401c5270ae31836ce04f9b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protoperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55473d16e1321bc3e4cbcb5a165f51a55f9f07a0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af356a1db0b8e8821d2f6c94734b98354875e85d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/protstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubclass.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubclass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1a968ab633207f47ec5e3130ec676f0d43598bb0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubclass.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubdelegate.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubdelegate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a43eb261adccddee2206769150a9e2d964ed136
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubdelegate.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubenumeration.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubenumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..46888adef937f09868b1aff485010ad847625183
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubenumeration.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubevent.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubevent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9226da8b49c88296ed4a10835b0b69212431473
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubevent.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubextension.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubextension.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6262d1cca8a4286063ae8f168488a1d7c8587dcc
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubextension.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubfield.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubfield.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5aed17576f4493ccfdb12f7a8a55fa2cbd74041c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubfield.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubinterface.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubinterface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c38a4c46a9a7603bc498664c294c7c06a713e555
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubinterface.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubmethod.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubmethod.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2c72988f50ab32eba45ccf5e52b5807c4a7ffa1b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubmethod.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/puboperator.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/puboperator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0ebe10a7ec532625741cc8668b1126f2553cdc9c
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/puboperator.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubproperty.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubproperty.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dfad7b43006984b0d27846a9c6d23d9bfb94ec95
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubproperty.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubstructure.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubstructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1344416abc3801850d955fb78969243e32976d9d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/pubstructure.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/slMobile.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/slMobile.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5edc31f94c61a7a50c3285ef00dcbe86e8690974
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/slMobile.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/static.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/static.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33723a92be0a7b2b9fc8057fb6f9a2a3ee729a7e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/static.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/xna.gif b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/xna.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9e6a9d4bd9ecdc3baf35f6c5a0266e74229bd901
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/icons/xna.gif differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/scripts/branding.js b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/scripts/branding.js
new file mode 100644
index 0000000000000000000000000000000000000000..2acdea51a7e42b7e4ef518be78af2fe9885f3e56
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/scripts/branding.js
@@ -0,0 +1,562 @@
+//===============================================================================================================
+// System  : Sandcastle Help File Builder
+// File    : branding.js
+// Author  : Eric Woodruff  (Eric@EWoodruff.us)
+// Updated : 10/08/2015
+// Note    : Copyright 2014-2015, Eric Woodruff, All rights reserved
+//           Portions Copyright 2010-2014 Microsoft, All rights reserved
+//
+// This file contains the methods necessary to implement the language filtering, collapsible section, and
+// copy to clipboard options.
+//
+// This code is published under the Microsoft Public License (Ms-PL).  A copy of the license should be
+// distributed with the code and can be found at the project website: https://GitHub.com/EWSoftware/SHFB.  This
+// notice, the author's name, and all copyright notices must remain intact in all applications, documentation,
+// and source files.
+//
+//    Date     Who  Comments
+// ==============================================================================================================
+// 05/04/2014  EFW  Created the code based on the MS Help Viewer script
+//===============================================================================================================
+
+// The IDs of all code snippet sets on the same page are stored so that we can keep them in synch when a tab is
+// selected.
+var allTabSetIds = new Array();
+
+// The IDs of language-specific text (LST) spans are used as dictionary keys so that we can get access to the
+// spans and update them when the user changes to a different language tab.  The values of the dictionary
+// objects are pipe separated language-specific attributes (lang1=value|lang2=value|lang3=value).  The language
+// ID can be specific (cs, vb, cpp, etc.) or may be a neutral entry (nu) which specifies text common to multiple
+// languages.  If a language is not present and there is no neutral entry, the span is hidden for all languages
+// to which it does not apply.
+var allLSTSetIds = new Object();
+
+// Help 1 persistence support.  This code must appear inline.
+var isHelp1;
+
+var curLoc = document.location + ".";
+
+if(curLoc.indexOf("mk:@MSITStore") == 0)
+{
+    isHelp1 = true;
+    curLoc = "ms-its:" + curLoc.substring(14, curLoc.length - 1);
+    document.location.replace(curLoc);
+}
+else
+    if(curLoc.indexOf("ms-its:") == 0)
+        isHelp1 = true;
+    else
+        isHelp1 = false;
+
+// The OnLoad method
+function OnLoad(defaultLanguage)
+{
+    var defLang;
+
+    if(typeof (defaultLanguage) == "undefined" || defaultLanguage == null || defaultLanguage == "")
+        defLang = "vb";
+    else
+        defLang = defaultLanguage;
+
+    // In MS Help Viewer, the transform the topic is ran through can move the footer.  Move it back where it
+    // belongs if necessary.
+    try
+    {
+        var footer = document.getElementById("pageFooter")
+
+        if(footer)
+        {
+            var footerParent = document.body;
+
+            if(footer.parentElement != footerParent)
+            {
+                footer.parentElement.removeChild(footer);
+                footerParent.appendChild(footer);
+            }
+        }
+    }
+    catch(e)
+    {
+    }
+
+    var language = GetCookie("CodeSnippetContainerLanguage", defLang);
+
+    // If LST exists on the page, set the LST to show the user selected programming language
+    UpdateLST(language);
+
+    // If code snippet groups exist, set the current language for them
+    if(allTabSetIds.length > 0)
+    {
+        var i = 0;
+
+        while(i < allTabSetIds.length)
+        {
+            var tabCount = 1;
+
+            // The tab count may vary so find the last one in this set
+            while(document.getElementById(allTabSetIds[i] + "_tab" + tabCount) != null)
+                tabCount++;
+
+            tabCount--;
+
+            // If not grouped, skip it
+            if(tabCount > 1)
+                SetCurrentLanguage(allTabSetIds[i], language, tabCount);
+
+            i++;
+        }
+    }
+
+    InitializeToc();
+}
+
+// This is just a place holder.  The website script implements this function to initialize it's in-page TOC pane
+function InitializeToc()
+{
+}
+
+// This function executes in the OnLoad event and ChangeTab action on code snippets.  The function parameter
+// is the user chosen programming language.  This function iterates through the "allLSTSetIds" dictionary object
+// to update the node value of the LST span tag per the user's chosen programming language.
+function UpdateLST(language)
+{
+    for(var lstMember in allLSTSetIds)
+    {
+        var devLangSpan = document.getElementById(lstMember);
+
+        if(devLangSpan != null)
+        {
+            // There may be a carriage return before the LST span in the content so the replace function below
+            // is used to trim the whitespace at the end of the previous node of the current LST node.
+            if(devLangSpan.previousSibling != null && devLangSpan.previousSibling.nodeValue != null)
+                devLangSpan.previousSibling.nodeValue = devLangSpan.previousSibling.nodeValue.replace(/\s+$/, "");
+
+            var langs = allLSTSetIds[lstMember].split("|");
+            var k = 0;
+            var keyValue;
+
+            while(k < langs.length)
+            {
+                keyValue = langs[k].split("=");
+
+                if(keyValue[0] == language)
+                {
+                    devLangSpan.innerHTML = keyValue[1];
+
+                    // Help 1 and MS Help Viewer workaround.  Add a space if the following text element starts
+                    // with a space to prevent things running together.
+                    if(devLangSpan.parentNode != null && devLangSpan.parentNode.nextSibling != null)
+                    {
+                        if(devLangSpan.parentNode.nextSibling.nodeValue != null &&
+                          !devLangSpan.parentNode.nextSibling.nodeValue.substring(0, 1).match(/[.,);:!/?]/) &&
+                          (isHelp1 || devLangSpan.innerHTML == '&gt;' || devLangSpan.innerHTML == ')'))
+                        {
+                            devLangSpan.innerHTML = keyValue[1] + " ";
+                        }
+                    }
+                    break;
+                }
+
+                k++;
+            }
+
+            // If not found, default to the neutral language.  If there is no neutral language entry, clear the
+            // content to hide it.
+            if(k >= langs.length)
+            {
+                if(language != "nu")
+                {
+                    k = 0;
+
+                    while(k < langs.length)
+                    {
+                        keyValue = langs[k].split("=");
+
+                        if(keyValue[0] == "nu")
+                        {
+                            devLangSpan.innerHTML = keyValue[1];
+
+                            // Help 1 and MS Help Viewer workaround.  Add a space if the following text element
+                            // starts with a space to prevent things running together.
+                            if(devLangSpan.parentNode != null && devLangSpan.parentNode.nextSibling != null)
+                            {
+                                if(devLangSpan.parentNode.nextSibling.nodeValue != null &&
+                                  !devLangSpan.parentNode.nextSibling.nodeValue.substring(0, 1).match(/[.,);:!/?]/) &&
+                                  (isHelp1 || devLangSpan.innerHTML == '&gt;' || devLangSpan.innerHTML == ')'))
+                                {
+                                    devLangSpan.innerHTML = keyValue[1] + " ";
+                                }
+                            }
+                            break;
+                        }
+
+                        k++;
+                    }
+                }
+
+                if(k >= langs.length)
+                    devLangSpan.innerHTML = "";
+            }
+        }
+    }
+}
+
+// Get the specified cookie.  If not found, return the specified default value.
+function GetCookie(cookieName, defaultValue)
+{
+    if(isHelp1)
+    {
+        try
+        {
+            var globals = Help1Globals;
+
+            var value = globals.Load(cookieName);
+
+            if(value == null)
+                value = defaultValue;
+
+            return value;
+        }
+        catch(e)
+        {
+            return defaultValue;
+        }
+    }
+
+    var cookie = document.cookie.split("; ");
+
+    for(var i = 0; i < cookie.length; i++)
+    {
+        var crumb = cookie[i].split("=");
+
+        if(cookieName == crumb[0])
+            return unescape(crumb[1])
+    }
+
+    return defaultValue;
+}
+
+// Set the specified cookie to the specified value
+function SetCookie(name, value)
+{
+    if(isHelp1)
+    {
+        try
+        {
+            var globals = Help1Globals;
+
+            globals.Save(name, value);
+        }
+        catch(e)
+        {
+        }
+
+        return;
+    }
+
+    var today = new Date();
+
+    today.setTime(today.getTime());
+
+    // Set the expiration time to be 60 days from now (in milliseconds)
+    var expires_date = new Date(today.getTime() + (60 * 1000 * 60 * 60 * 24));
+
+    document.cookie = name + "=" + escape(value) + ";expires=" + expires_date.toGMTString() + ";path=/";
+}
+
+// Add a language-specific text ID
+function AddLanguageSpecificTextSet(lstId)
+{
+    var keyValue = lstId.split("?")
+
+    allLSTSetIds[keyValue[0]] = keyValue[1];
+}
+
+var clipboardHandler;
+
+// Add a language tab set ID
+function AddLanguageTabSet(tabSetId)
+{
+    allTabSetIds.push(tabSetId);
+
+    // Create the clipboard handler on first use
+    if(clipboardHandler == null && typeof (Clipboard) == "function")
+    {
+        clipboardHandler = new Clipboard('.copyCodeSnippet',
+        {
+            text: function (trigger)
+            {
+                // Get the code to copy to the clipboard from the active tab of the given tab set
+                var i = 1, tabSetId = trigger.id;
+                var pos = tabSetId.indexOf('_');
+
+                if(pos == -1)
+                    return "";
+
+                tabSetId = tabSetId.substring(0, pos);
+
+                do
+                {
+                    contentId = tabSetId + "_code_Div" + i;
+                    tabTemp = document.getElementById(contentId);
+
+                    if(tabTemp != null && tabTemp.style.display != "none")
+                        break;
+
+                    i++;
+
+                } while(tabTemp != null);
+
+                if(tabTemp == null)
+                    return "";
+
+                return document.getElementById(contentId).innerText;
+            }
+        });
+    }
+}
+
+// Switch the active tab for all of other code snippets
+function ChangeTab(tabSetId, language, snippetIdx, snippetCount)
+{
+    SetCookie("CodeSnippetContainerLanguage", language);
+
+    SetActiveTab(tabSetId, snippetIdx, snippetCount);
+
+    // If LST exists on the page, set the LST to show the user selected programming language
+    UpdateLST(language);
+
+    var i = 0;
+
+    while(i < allTabSetIds.length)
+    {
+        // We just care about other snippets
+        if(allTabSetIds[i] != tabSetId)
+        {
+            // Other tab sets may not have the same number of tabs
+            var tabCount = 1;
+
+            while(document.getElementById(allTabSetIds[i] + "_tab" + tabCount) != null)
+                tabCount++;
+
+            tabCount--;
+
+            // If not grouped, skip it
+            if(tabCount > 1)
+                SetCurrentLanguage(allTabSetIds[i], language, tabCount);
+        }
+
+        i++;
+    }
+}
+
+// Sets the current language in the specified tab set
+function SetCurrentLanguage(tabSetId, language, tabCount)
+{
+    var tabIndex = 1;
+
+    while(tabIndex <= tabCount)
+    {
+        var tabTemp = document.getElementById(tabSetId + "_tab" + tabIndex);
+
+        if(tabTemp != null && tabTemp.innerHTML.indexOf("'" + language + "'") != -1)
+            break;
+
+        tabIndex++;
+    }
+
+    if(tabIndex > tabCount)
+    {
+        // Select the first non-disabled tab
+        tabIndex = 1;
+
+        if(document.getElementById(tabSetId + "_tab1").className == "codeSnippetContainerTabPhantom")
+        {
+            tabIndex++;
+
+            while(tabIndex <= tabCount)
+            {
+                var tab = document.getElementById(tabSetId + "_tab" + tabIndex);
+
+                if(tab.className != "codeSnippetContainerTabPhantom")
+                {
+                    tab.className = "codeSnippetContainerTabActive";
+                    document.getElementById(tabSetId + "_code_Div" + j).style.display = "block";
+                    break;
+                }
+
+                tabIndex++;
+            }
+        }
+    }
+
+    SetActiveTab(tabSetId, tabIndex, tabCount);
+}
+
+// Set the active tab within a tab set
+function SetActiveTab(tabSetId, tabIndex, tabCount)
+{
+    var i = 1;
+
+    while(i <= tabCount)
+    {
+        var tabTemp = document.getElementById(tabSetId + "_tab" + i);
+
+        if (tabTemp != null)
+        {
+            if(tabTemp.className == "codeSnippetContainerTabActive")
+                tabTemp.className = "codeSnippetContainerTab";
+            else
+                if(tabTemp.className == "codeSnippetContainerTabPhantom")
+                    tabTemp.style.display = "none";
+
+            var codeTemp = document.getElementById(tabSetId + "_code_Div" + i);
+
+            if(codeTemp.style.display != "none")
+                codeTemp.style.display = "none";
+        }
+
+        i++;
+    }
+
+    // Phantom tabs are shown or hidden as needed
+    if(document.getElementById(tabSetId + "_tab" + tabIndex).className != "codeSnippetContainerTabPhantom")
+        document.getElementById(tabSetId + "_tab" + tabIndex).className = "codeSnippetContainerTabActive";
+    else
+        document.getElementById(tabSetId + "_tab" + tabIndex).style.display = "block";
+
+    document.getElementById(tabSetId + "_code_Div" + tabIndex).style.display = "block";
+}
+
+// Copy the code from the active tab of the given tab set to the clipboard
+function CopyToClipboard(tabSetId)
+{
+    var tabTemp, contentId;
+    var i = 1;
+
+    if(typeof (Clipboard) == "function")
+        return;
+
+    do
+    {
+        contentId = tabSetId + "_code_Div" + i;
+        tabTemp = document.getElementById(contentId);
+
+        if(tabTemp != null && tabTemp.style.display != "none")
+            break;
+
+        i++;
+
+    } while(tabTemp != null);
+
+    if(tabTemp == null)
+        return;
+
+    if(window.clipboardData)
+    {
+        try
+        {
+            window.clipboardData.setData("Text", document.getElementById(contentId).innerText);
+        }
+        catch(e)
+        {
+            alert("Permission denied. Enable copying to the clipboard.");
+        }
+    }
+    else if(window.netscape)
+    {
+        try
+        {
+            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+            var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(
+                Components.interfaces.nsIClipboard);
+
+            if(!clip)
+                return;
+
+            var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(
+                Components.interfaces.nsITransferable);
+
+            if(!trans)
+                return;
+
+            trans.addDataFlavor("text/unicode");
+
+            var str = new Object();
+            var len = new Object();
+            var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(
+                Components.interfaces.nsISupportsString);
+
+            var copytext = document.getElementById(contentId).textContent;
+
+            str.data = copytext;
+            trans.setTransferData("text/unicode", str, copytext.length * 2);
+
+            var clipid = Components.interfaces.nsIClipboard;
+
+            clip.setData(trans, null, clipid.kGlobalClipboard);
+        }
+        catch(e)
+        {
+            alert("Permission denied. Enter \"about:config\" in the address bar and double-click the \"signed.applets.codebase_principal_support\" setting to enable copying to the clipboard.");
+        }
+    }
+}
+
+// Expand or collapse a section
+function SectionExpandCollapse(togglePrefix)
+{
+    var image = document.getElementById(togglePrefix + "Toggle");
+    var section = document.getElementById(togglePrefix + "Section");
+
+    if(image != null && section != null)
+        if(section.style.display == "")
+        {
+            image.src = image.src.replace("SectionExpanded.png", "SectionCollapsed.png");
+            section.style.display = "none";
+        }
+        else
+        {
+            image.src = image.src.replace("SectionCollapsed.png", "SectionExpanded.png");
+            section.style.display = "";
+        }
+}
+
+// Expand or collapse a section when it has the focus and Enter is hit
+function SectionExpandCollapse_CheckKey(togglePrefix, eventArgs)
+{
+    if(eventArgs.keyCode == 13)
+        SectionExpandCollapse(togglePrefix);
+}
+
+// Help 1 persistence object.  This requires a hidden input element on the page with a class of "userDataStyle"
+// defined in the style sheet that implements the user data binary behavior:
+// <input type="hidden" id="userDataCache" class="userDataStyle" />
+var Help1Globals =
+{
+    UserDataCache: function()
+    {
+        var userData = document.getElementById("userDataCache");
+
+        return userData;
+    },
+
+    Load: function(key)
+    {
+        var userData = this.UserDataCache();
+
+        userData.load("userDataSettings");
+
+        var value = userData.getAttribute(key);
+
+        return value;
+    },
+
+    Save: function(key, value)
+    {
+        var userData = this.UserDataCache();
+        userData.setAttribute(key, value);
+        userData.save("userDataSettings");
+    }
+};
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-Help1.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-Help1.css
new file mode 100644
index 0000000000000000000000000000000000000000..8f7ba25a3bacfad80244466163e88896d84963fa
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-Help1.css
@@ -0,0 +1,40 @@
+/* Define the userData cache persistence mechanism for Help 1 files */
+.userDataStyle {
+	behavior: url(#default#userdata);
+}
+
+/* Style adjustments for Help 1 */
+.pageBody {
+	padding-top: 0px 20px 0px 0px;
+}
+
+table {
+	width: 95%;
+	padding-right: 20px;
+}
+
+table.members {
+	width: 95%;
+	padding-right: 20px;
+}
+
+th p {
+	padding-bottom: 0px;
+}
+
+td p {
+	padding-bottom: 5px;
+}
+
+.codeSnippetContainerTabs {
+	top: 1px;
+}
+
+.codeSnippetToolBarText {
+	top: -13px;
+}
+
+.codeSnippetContainerTabSingle {
+	padding: 2px 15px 0px 15px;
+	height: 22px;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-HelpViewer.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-HelpViewer.css
new file mode 100644
index 0000000000000000000000000000000000000000..951621be660e3700985576c983dc2701aaf31056
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-HelpViewer.css
@@ -0,0 +1,48 @@
+/* Style adjustments for Help Viewer */
+.pageBody {
+	padding-top: 0px 20px 0px 0px;
+}
+
+table {
+	width: 95%;
+	padding-right: 20px;
+}
+
+table.members {
+	width: 95%;
+	padding-right: 20px;
+}
+
+th p {
+	padding-bottom: 0px;
+}
+
+td p {
+	padding-bottom: 5px;
+}
+
+.codeSnippetContainerTabs {
+	top: 1px;
+}
+
+.codeSnippetToolBarText {
+	top: -13px;
+}
+
+.codeSnippetContainerTabSingle {
+	padding: 2px 15px 0px 15px;
+	height: 22px;
+}
+
+.codeSnippetContainerTab a:visited {
+	color: #000000;
+}
+
+.codeSnippetContainerTabActive a:visited {
+	color: #000000;
+}
+
+span.keyword {
+	color: #0000ff;
+	font-weight: normal;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-Website.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-Website.css
new file mode 100644
index 0000000000000000000000000000000000000000..d39e08c771d08d7f28030a0e6ac621dc8d3df479
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-Website.css
@@ -0,0 +1,156 @@
+/* Style adjustments for websites */
+.pageBody {
+	padding: 0px 20px 0px 0px;
+}
+.topicContent {
+	margin-left: 280px;
+}
+
+/* Lightweight TOC */
+.tocCollapsed {
+	background: url('../icons/TocCollapsed.gif') no-repeat scroll center;
+	width: 17px;
+	height: 20px;
+	overflow: hidden;
+}
+.tocExpanded {
+	background: url('../icons/TocExpanded.gif') no-repeat scroll center;
+	width: 17px;
+	height: 20px;
+	overflow: hidden;
+}
+.tocResize {
+	position: absolute;
+	top: 90px;
+	left: 300px;
+	width: 5px;
+	height: 20px;
+	padding-right: 5px;
+}
+.tocResize img {
+	border: none;
+	cursor: pointer;
+}
+div#leftNav {
+	float: left;
+	margin: 0px -1px 0 0;
+	width: 280px;
+	min-height: 10px;
+	position: relative;
+	border-right: 1px solid #b6b6b6;
+	padding-left: 10px;
+	padding-top: 15px;
+}
+div#tocNav {
+	font-family: 'Segoe UI' ,Verdana,Arial;
+	overflow-x: hidden;
+	line-height: normal;
+	margin: -20px 0 0 -4px;
+}
+div#tocNav > div {
+	overflow-x: hidden;
+	white-space: normal;
+	width: auto;
+	margin-bottom: 5px;
+}
+div#leftNav a, div#leftNav a:link, div#leftNav a:visited {
+	color: #1364c4;
+	text-decoration: none;
+}
+div#leftNav a:hover {
+	color: #3390b1;
+}
+div#tocNav > div > a, div#tocNav > div > a:link, div#tocNav > div > a:visited {
+	display: block;
+	margin-left: 18px;
+	overflow: hidden;
+}
+div#tocNav > div.current > a, div#tocNav > div.current > a:link, div#tocNav > div.current > a:visited {
+	color: #000;
+	font-weight: bold;
+	text-decoration: none;
+}
+div#tocNav > div > a.tocExpanded, div#tocNav > div > a.tocCollapsed {
+	float: left;
+	display: inline-block;
+	margin-left: 0;
+	vertical-align: top;
+}
+div#tocResizableEW {
+	cursor: e-resize;
+	width: 15px;
+	top: 0;
+	height: 100%;
+	position: absolute;
+	display: block;
+	font-size: 0.5px;
+	right: -7px;
+}
+.toclevel0:first-child {
+	margin-top: 16px;
+}
+div#tocNav > div.toclevel1 {
+	padding-left: 17px;
+}
+div#tocNav > div.toclevel2 {
+	padding-left: 34px;
+}
+div#tocNav > div.toclevel3 {
+	padding-left: 51px;
+}
+div#tocNav > div.toclevel4 {
+	padding-left: 68px;
+}
+div#tocNav > div.toclevel5 {
+	padding-left: 85px;
+}
+div#tocNav > div.toclevel6 {
+	padding-left: 102px;
+}
+div#tocNav > div.toclevel7 {
+	padding-left: 119px;
+}
+div#tocNav > div.toclevel8 {
+	padding-left: 136px;
+}
+div#tocNav > div.toclevel9 {
+	padding-left: 153px;
+}
+div#tocNav > div.toclevel10 {
+	padding-left: 170px;
+}
+
+/* Search form */
+form#SearchForm {
+	float: right;
+	background-color: #eee;
+	width: 280px;
+}
+form#SearchForm input {
+	background-color: #eee;
+	border: 0;
+	height: 22px;
+	width: 230px;
+	color: #3b3b3b;
+	display: inline-block;
+	margin: 1px 0 0 0;
+	padding: 1px 4px 1px 10px;
+}
+form#SearchForm button {
+	background: url('../icons/Search.png') no-repeat scroll center;
+	background-color: #eee;
+	float: right;
+	border: 0;
+	margin: 3px 2px 0 0;
+	cursor: pointer;
+	color: #3b3b3b;
+	width: 19px;
+	height: 18px;
+	overflow: hidden;
+}
+.searchContainer {
+	width: 700px;
+	margin-top: 50px;
+	margin-left: auto;
+	margin-right: auto;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-cs-CZ.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-cs-CZ.css
new file mode 100644
index 0000000000000000000000000000000000000000..f38de74970c9a4e61c8f4c5c480e35e88a1ae741
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-cs-CZ.css
@@ -0,0 +1,3 @@
+/* Start CS-CZ locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-de-DE.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-de-DE.css
new file mode 100644
index 0000000000000000000000000000000000000000..4cf80baddae913d710761bf77e8743d87bbb10e7
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-de-DE.css
@@ -0,0 +1,3 @@
+/* Start DE-DE locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-en-US.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-en-US.css
new file mode 100644
index 0000000000000000000000000000000000000000..248cbe5a2a4e42b5ab17c8ef49204fa1132d0594
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-en-US.css
@@ -0,0 +1,3 @@
+/* Start EN-US locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-es-ES.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-es-ES.css
new file mode 100644
index 0000000000000000000000000000000000000000..4a7ebbd68dcae7ca7830e16334218ffbe5bcf106
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-es-ES.css
@@ -0,0 +1,3 @@
+/* Start ES-ES locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-fr-FR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-fr-FR.css
new file mode 100644
index 0000000000000000000000000000000000000000..d924dec965412caef7d0c45410bb6321f42194dc
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-fr-FR.css
@@ -0,0 +1,3 @@
+/* Start FR-FR locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-it-IT.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-it-IT.css
new file mode 100644
index 0000000000000000000000000000000000000000..36c6b224fb17dec7ad1b98fcb066de07e03c9617
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-it-IT.css
@@ -0,0 +1,3 @@
+/* Start IT-IT locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ja-JP.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ja-JP.css
new file mode 100644
index 0000000000000000000000000000000000000000..403aa6ddf8fe18796a08a666298a062f1d8fe494
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ja-JP.css
@@ -0,0 +1,18 @@
+/* Start JA-JP locale-specific CSS */
+body
+{
+	font-family: Segoe UI, Verdana, Arial, MS Pゴシック;
+}
+pre
+{
+  font-family: Consolas, Courier, monospace, MS ゴシック;
+}
+span.tt
+{
+  font-family: Consolas, Courier, monospace, MS ゴシック;
+}
+span.code
+{
+	font-family: Consolas, Courier, monospace, MS ゴシック;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ko-KR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ko-KR.css
new file mode 100644
index 0000000000000000000000000000000000000000..2b46e923efb5e004cbfc739dd45045ed826fa516
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ko-KR.css
@@ -0,0 +1,19 @@
+/* Start KO-KR locale-specific CSS */
+body
+{
+	font-family: Malgun Gothic, Segoe UI, Verdana, Arial;
+	font-size: 0.75em; /*9pt*/
+}
+pre
+{
+  font-family: Consolas, Courier, monospace, 돋움체;
+}
+span.tt
+{
+  font-family: Consolas, Courier, monospace, 돋움체;
+}
+span.code
+{
+	font-family: Consolas, Courier, monospace, 돋움체;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-pl-PL.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-pl-PL.css
new file mode 100644
index 0000000000000000000000000000000000000000..19e981032d452885746a8da942fbe19f4a5273fe
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-pl-PL.css
@@ -0,0 +1,3 @@
+/* Start PL-PL locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-pt-BR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-pt-BR.css
new file mode 100644
index 0000000000000000000000000000000000000000..a0683b0ef20d622972c7ffd74d3c623eb1f7a738
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-pt-BR.css
@@ -0,0 +1,3 @@
+/* Start PT-BR locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ru-RU.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ru-RU.css
new file mode 100644
index 0000000000000000000000000000000000000000..c31f83a44bcb22fae293bad0c7ddd4ef2c5d2324
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-ru-RU.css
@@ -0,0 +1,3 @@
+/* Start RU-RU locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-tr-TR.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-tr-TR.css
new file mode 100644
index 0000000000000000000000000000000000000000..81ca462ef7ce46e6980a65547b9c24ffeafccd3a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-tr-TR.css
@@ -0,0 +1,3 @@
+/* Start TR-TR locale-specific CSS */
+
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-zh-CN.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-zh-CN.css
new file mode 100644
index 0000000000000000000000000000000000000000..87e7090d7c5d04e87c2c5df7378d57938bf69147
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-zh-CN.css
@@ -0,0 +1,18 @@
+/* Start ZH-CN locale-specific CSS */
+body
+{
+    font-family: "Microsoft YaHei UI","Microsoft YaHei","SimSun","Segoe UI","Lucida Grande",Verdana,Arial,Helvetica,sans-serif
+}
+pre
+{
+    font-family: Consolas, Courier, monospace!important;
+}
+span.tt
+{
+    font-family: Consolas, Courier, monospace;
+}
+span.code
+{
+    font-family: Consolas, Courier, monospace;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-zh-TW.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-zh-TW.css
new file mode 100644
index 0000000000000000000000000000000000000000..eab654f8c5ef820463c73b934929ecec221ac2a2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding-zh-TW.css
@@ -0,0 +1,18 @@
+/* Start ZH-TW locale-specific CSS */
+body
+{
+	font-family: MS JhengHei, MingLiU, Segoe UI, Verdana, Arial;
+}
+pre
+{
+  font-family: Consolas, Courier, monospace, 細明體;
+}
+span.tt
+{
+  font-family: Consolas, Courier, monospace, 細明體;
+}
+span.code
+{
+	font-family: Consolas, Courier, monospace, 細明體;
+}
+/* End locale-specific CSS */
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding.css b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding.css
new file mode 100644
index 0000000000000000000000000000000000000000..685032039be891e51e917b7b294af85d7cc5c110
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Components/VS2013/styles/branding.css
@@ -0,0 +1,583 @@
+/* General styles */
+body {
+	font-family: 'Segoe UI' , 'Lucida Grande' , Verdana, Arial, Helvetica, sans-serif;
+	font-size: 15px;
+	padding: 0;
+	margin: 0;
+	margin-left: auto;
+	margin-right: auto;
+	color: #000;
+}
+h1 {
+	font-family: 'Segoe UI' , 'Lucida Grande' , Verdana, Arial, Helvetica, sans-serif;
+	font-size: 2.5em;
+	font-weight: normal;
+	margin-top: 0;
+	color: #000;
+}
+h2, h3 {
+	font-family: 'Segoe UI Semibold' , 'Segoe UI' , 'Lucida Grande' , Verdana, Arial, Helvetica, sans-serif;
+	font-weight: normal;
+	margin: 0;
+	padding-bottom: 5px;
+	padding-top: 5px;
+	color: #000;
+}
+h2 {
+	font-size: 1.769em;
+}
+h3 {
+	font-size: 1.231em;
+}
+h4, .subHeading {
+	font-family: 'Segoe UI Semibold' , 'Segoe UI' , 'Lucida Grande' , Verdana, Arial, Helvetica, sans-serif;
+	font-size: 1.077em;
+	font-weight: normal;
+	margin: 0;
+	color: #000;
+}
+.subHeading {
+	margin-top: 5px;
+}
+h5, h6 {
+	font-family: 'Segoe UI Semibold' , 'Segoe UI' , 'Lucida Grande' , Verdana, Arial, Helvetica, sans-serif;
+	font-size: 1em;
+	font-weight: normal;
+	line-height: 130%;
+	margin: 0;
+	color: #000;
+}
+a, a:link {
+	text-decoration: none;
+	color: #1364c4;
+}
+a:visited, a:active {
+	text-decoration: none;
+	color: #03697a;
+}
+a:hover {
+	text-decoration: none;
+	color: #3390b1;
+}
+a.button, a.button:active, a.button:hover {
+    float: right;
+	background-color: #0080c0;
+    color: white;
+    padding: 6px 12px;
+    font-size: 14px;
+    border: 1px solid transparent;
+    border-radius: 4px;
+	margin-left: 6px;
+}
+a.button:link, a.button:visited {
+    color: white;
+}
+img {
+	border: 0;
+}
+p {
+	margin-top: 0;
+	margin-bottom: 0;
+	padding-bottom: 15px;
+	line-height: 18px;
+}
+q {
+	font-style: italic;
+}
+blockquote {
+	margin-top: 0px;
+}
+table {
+	border-collapse: collapse;
+	padding: 0;
+	margin-bottom: 15px;
+	font-size: 15px;
+	width: 100%;
+}
+td, th {
+	border-bottom: 1px solid #dbdbdb;
+	margin: 10px;
+	padding-top: 10px;
+	padding-bottom: 10px;
+	padding-right: 8px;
+	padding-left: 8px;
+}
+th {
+	background-color: #ededed;
+	color: #636363;
+	text-align: left;
+	padding-top: 5px;
+	padding-bottom: 5px;
+}
+td {
+	color: #2a2a2a;
+	vertical-align: top;
+}
+table p:last-child {
+	padding-bottom: 0;
+}
+table.members {
+	width: 100%;
+}
+table.members td {
+	min-width: 72px;
+}
+table.members img {
+	padding-right: 5px;
+}
+div.alert img {
+	padding-right: 5px;
+}
+ol {
+	margin-top: 0px;
+	margin-bottom: 10px;
+}
+ol ol {
+	list-style-type: lower-alpha;
+}
+ol ol ol {
+	list-style-type: lower-roman;
+}
+ul {
+	margin-top: 0px;
+	margin-bottom: 10px;
+}
+.noBullet {
+	list-style-type: none;
+	padding-left: 20px;
+}
+ul ul {
+	list-style-type: circle;
+}
+ul ul ul {
+	list-style-type: square;
+}
+dt {
+	font-weight: 600;
+}
+pre {
+	font-family: Consolas, Courier, monospace;
+	overflow: hidden;
+}
+.pageHeader {
+	font-family: 'Segoe UI' , Tahoma, Helvetica, Sans-Serif;
+	background-color: #333333;
+	color: #d0d0d0;
+	padding: 5px 10px;
+	vertical-align: middle;
+	height: 25px;
+}
+.pageBody {
+	padding: 0px;
+}
+.topicContent {
+	padding: 10px 10px 15px 10px;
+	overflow: visible;
+	border-left: 1px solid #bbb;
+}
+.pageFooter {
+	clear: both;
+	border-top: solid 1px #bbb;
+	padding: 10px;
+}
+.feedbackLink {
+}
+.iconColumn {
+	width: 100px;
+}
+.seeAlsoStyle {
+}
+table.titleTable td {
+	padding-top: 0px;
+	border-width: 0px;
+}
+td.titleColumn {
+	margin-top: 0px;
+	padding-left: 0px;
+	vertical-align: middle;
+}
+td.logoColumn {
+	padding-left: 0px;
+	padding-right: 10px;
+	vertical-align: middle;
+	width: 1px;
+}
+td.logoColumnAbove {
+	padding: 0px 10px 0px 0px;
+	vertical-align: middle;
+}
+span.selflink {
+	color: #000066;
+}
+div.preliminary {
+	margin-top: 1em;
+	margin-bottom: 1em;
+	font-weight: bold;
+	color: #333333;
+}
+div.caption {
+	font-weight: bold;
+	font-size: 1em; /*12pt*/
+	color: #003399;
+	padding-top: 5px;
+	padding-bottom: 5px;
+}
+.procedureSubHeading {
+	font-size: 1.1em; /*13.5pt*/
+	font-weight: bold;
+}
+.summary {
+}
+
+/* Collapsible region styles */
+.collapsibleAreaRegion {
+	margin-top: 15px;
+	margin-bottom: 15px;
+}
+.collapseToggle {
+	padding-right: 5px;
+}
+.collapsibleRegionTitle {
+	font-family: 'Segoe UI Semibold' , 'Segoe UI' , 'Lucida Grande' , Verdana, Arial, Helvetica, sans-serif !important;
+	font-style: normal !important;
+	font-size: 1.769em;
+	margin-top: 9px;
+	margin-bottom: 19px;
+	padding-top: 20px;
+	padding-bottom: 5px;
+	cursor: pointer;
+}
+.collapsibleSection {
+	padding: 0 0 0 20px;
+}
+
+/* Syntax and code snippet styles */
+.codeSnippetContainer {
+	min-width: 260px;
+	margin-top: 10px;
+}
+.codeSnippetContainerTabs {
+	height: 23px;
+	vertical-align: middle;
+	position: relative;
+	z-index: 1;
+}
+.codeSnippetContainerTab {
+	padding: 0px 15px;
+	width: auto;
+	height: 22px;
+	color: #2a2a2a;
+	font-family: "Segoe UI" , "Lucida Grande" , Verdana, Arial, Helvetica, sans-serif !important;
+	font-size: 12px;
+	font-style: normal !important;
+	vertical-align: baseline;
+	float: left;
+}
+.codeSnippetContainerTabActive {
+	background: #f8f8f8;
+	padding: 0px 15px;
+	width: auto;
+	height: 22px;
+	color: #000000;
+	font-family: "Segoe UI" , "Lucida Grande" , Verdana, Arial, Helvetica, sans-serif !important;
+	font-size: 12px;
+	font-style: normal !important;
+	vertical-align: baseline;
+	border-top-color: #939393;
+	border-right-color: #939393;
+	border-left-color: #939393;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-left-width: 1px;
+	border-top-style: solid;
+	border-right-style: solid;
+	border-left-style: solid;
+	float: left;
+}
+.codeSnippetContainerTabPhantom {
+	background: #f8f8f8;
+	padding: 0px 15px;
+	width: auto;
+	height: 22px;
+	color: #000000;
+	font-family: "Segoe UI" , "Lucida Grande" , Verdana, Arial, Helvetica, sans-serif !important;
+	font-size: 12px;
+	font-style: normal !important;
+	vertical-align: baseline;
+	border-top-color: #939393;
+	border-right-color: #939393;
+	border-left-color: #939393;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-left-width: 1px;
+	border-top-style: solid;
+	border-right-style: solid;
+	border-left-style: solid;
+	float: left;
+	display: none;
+}
+.codeSnippetContainerTabSingle {
+	background: #f8f8f8;
+	padding: 2px 15px 0px 15px;
+	width: auto;
+	height: 20px;
+	color: #000000;
+	font-family: "Segoe UI" , "Lucida Grande" , Verdana, Arial, Helvetica, sans-serif !important;
+	font-size: 12px;
+	font-weight: bold;
+	font-style: normal !important;
+	vertical-align: baseline;
+	border-top-color: #939393;
+	border-right-color: #939393;
+	border-left-color: #939393;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-left-width: 1px;
+	border-top-style: solid;
+	border-right-style: solid;
+	border-left-style: solid;
+	float: left;
+}
+.codeSnippetContainerTab a {
+	top: 2px;
+	color: #000000;
+	font-weight: bold;
+	text-decoration: none;
+	position: relative;
+}
+.codeSnippetContainerTab a:link {
+	color: #000000;
+}
+.codeSnippetContainerTab a:hover {
+	color: #136460;
+}
+.codeSnippetContainerTabActive a {
+	top: 2px;
+	color: #000000;
+	font-weight: bold;
+	text-decoration: none;
+	position: relative;
+	cursor: default;
+}
+.codeSnippetContainerTabActive a:link {
+	color: #000000;
+}
+.codeSnippetContainerTabActive a:hover {
+	color: #000000;
+}
+.codeSnippetContainerTabPhantom a {
+	top: 2px;
+	color: #000000;
+	font-weight: bold;
+	text-decoration: none;
+	position: relative;
+	cursor: default;
+}
+.codeSnippetContainerTabPhantom a:link {
+	color: #000000;
+}
+.codeSnippetContainerCodeContainer {
+	border: 1px solid #939393;
+	top: -1px;
+	margin-bottom: 12px;
+	position: relative;
+}
+.codeSnippetToolBar {
+	width: auto;
+	height: auto;
+}
+.codeSnippetToolBarText {
+	top: -8px;
+	width: auto;
+	height: 0px;
+	padding-right: 0px;
+	padding-left: 0px;
+	vertical-align: top;
+	float: right;
+	position: relative;
+}
+.codeSnippetToolBarText a {
+	color: #1364c4;
+	text-decoration: none;
+	padding-left: 8px;
+	padding-right: 8px;
+	font-family: "Segoe UI" , "Lucida Grande" , Verdana, Arial, Helvetica, sans-serif !important;
+	font-size: 10px;
+	font-style: normal !important;
+	text-decoration: none;
+	margin-right: 10px;
+	margin-left: 0px;
+	background-color: #ffffff;
+}
+.codeSnippetToolBarText a:link {
+	color: #1364c4;
+}
+.codeSnippetContainerCode {
+	margin: 0px;
+	padding: 10px;
+	width: auto;
+}
+.codeSnippetContainerCode div {
+	margin: 0px;
+	padding: 0px;
+}
+.codeSnippetContainerCode pre {
+	margin: 0px;
+	padding: 5px;
+	overflow: auto;
+	font-family: Consolas, Courier, monospace !important;
+	font-style: normal;
+	font-weight: normal;
+	-ms-word-wrap: normal;
+}
+.codeSnippetContainerCode .keyword {
+	color: #0000ff;
+	font-weight: normal;
+}
+
+.copyCodeSnippet {
+}
+
+/* Keyword and phrase styles */
+span.code, span.command {
+	font-family: Consolas, Courier, monospace;
+	color: #000066;
+	background-color: #f4f4f4;
+}
+span.ui {
+	font-weight: bold;
+}
+span.math {
+	font-style: italic;
+}
+span.input {
+	font-weight: bold;
+}
+span.term {
+	font-style: italic;
+}
+span.label {
+	font-weight: bold;
+}
+span.foreignPhrase, span.phrase {
+	font-style: italic;
+}
+span.placeholder {
+	font-style: italic;
+}
+span.typeparameter {
+	font-style: italic;
+}
+span.identifier {
+}
+span.keyword {
+	font-weight: bold;
+}
+span.parameter {
+	font-style: italic;
+}
+dt span.parameter {
+	font-weight: normal;
+}
+span.literal, span.literalValue {
+	color: #cc0000;
+}
+span.comment {
+	color: #006633;
+}
+span.introStyle {
+	color: #a9a9a9;
+}
+span.nolink {
+	font-weight: bold;
+}
+
+/* Auto-outline styles */
+ul.autoOutline {
+}
+li.outlineSectionEntry {
+}
+div.outlineSectionEntrySummary {
+}
+
+/* Media  styles */
+div.mediaNear {
+	text-align: left;
+	margin-top: 1em;
+	margin-bottom: 1em;
+}
+div.mediaFar {
+	text-align: right;
+	margin-top: 1em;
+	margin-bottom: 1em;
+}
+div.mediaCenter {
+	text-align: center;
+	margin-top: 1em;
+	margin-bottom: 1em;
+}
+span.captionLead {
+	font-weight: bold;
+	margin-right: .5em;
+}
+span.media img {
+	vertical-align: top;
+}
+
+/* Glossary styles */
+div.glossaryDiv {
+}
+div.glossaryLetterBar {
+}
+hr.glossaryRule {
+}
+h3.glossaryGroupHeading {
+	color: #808080;
+}
+div.glossaryGroup {
+}
+dl.glossaryGroupList {
+	margin: 0;
+	color: Black;
+}
+dt.glossaryEntry {
+	margin-left: 2em;
+}
+dd.glossaryEntry {
+	margin-left: 2em;
+	margin-bottom: 2em;
+}
+div.relatedEntry {
+	margin-bottom: 4px;
+}
+
+/* Bibliography styles */
+div.bibliographStyle {
+	padding-top: 5px;
+}
+span.bibliographyNumber {
+}
+span.bibliographyAuthor {
+	font-weight: bold;
+}
+span.bibliographyTitle {
+	font-style: italic;
+}
+span.bibliographyPublisher {
+}
+sup.citation a:link a:visited a:active {
+	text-decoration: none;
+}
+
+/* Placeholder for the Help 1 user data style class */
+.userDataStyle {
+}
+
+
+
+.missing
+{
+	color: #dc143c;
+	font-size: 8.5pt;
+	font-weight: bold;
+}
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/SandcastleHelpFileBuilder.targets b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/SandcastleHelpFileBuilder.targets
new file mode 100644
index 0000000000000000000000000000000000000000..d677dfe36e5f39b7db3b504b69af22d4aa2c8e28
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/SandcastleHelpFileBuilder.targets
@@ -0,0 +1,114 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Help File Builder Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="SandcastleBuilder.MSBuild.BuildHelp"
+    AssemblyFile="$(MSBuildThisFileDirectory)$(SHFBTaskFolder)SandcastleBuilder.MSBuild.dll" />
+	<UsingTask TaskName="SandcastleBuilder.MSBuild.CleanHelp"
+    AssemblyFile="$(MSBuildThisFileDirectory)$(SHFBTaskFolder)\SandcastleBuilder.MSBuild.dll" />
+
+	<!-- Define OutDir if not set already so that it doesn't pick up our project OutputPath setting
+       when the common targets are imported below. -->
+	<PropertyGroup>
+		<OutDir Condition=" '$(OutDir)' == '' ">.\</OutDir>
+	</PropertyGroup>
+
+	<!-- Include common targets to allow use in the VSPackage within Visual Studio -->
+	<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />
+
+	<!-- Override this target to removed it.  Visual Studio tries to run it under certain conditions but
+       we don't contain one of its dependent targets and we don't need this one anyway as far as I
+       can tell. -->
+	<Target Name="AllProjectOutputGroups" />
+
+	<!-- Include custom before target overrides if specified -->
+	<Import Project="$(CustomBeforeSHFBTargets)" Condition="Exists('$(CustomBeforeSHFBTargets)')" />
+
+	<!-- This defines the dependencies for the Build target -->
+	<PropertyGroup>
+		<BuildDependsOn>
+			PreBuildEvent;
+			BeforeBuildHelp;
+			CoreBuildHelp;
+			AfterBuildHelp;
+			PostBuildEvent
+		</BuildDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
+
+	<!-- The Core Build Help target -->
+	<Target Name="CoreBuildHelp">
+		<SandcastleBuilder.MSBuild.BuildHelp
+        ProjectFile="$(MSBuildProjectFullPath)"
+				Configuration="$(Configuration)"
+				Platform="$(Platform)"
+        Properties="$(SubstitutionTags)"
+				OutDir="$(OutDir)"
+				Verbose="$(Verbose)"
+				DumpLogOnFailure="$(DumpLogOnFailure)"
+				AlwaysLoadProject="$(AlwaysLoadProject)">
+			<Output TaskParameter="Help1Files" ItemName="Help1Files" />
+			<Output TaskParameter="HelpViewerFiles" ItemName="HelpViewerFiles" />
+			<Output TaskParameter="WebsiteFiles" ItemName="WebsiteFiles" />
+			<Output TaskParameter="OpenXmlFiles" ItemName="OpenXmlFiles" />
+			<Output TaskParameter="MarkdownFiles" ItemName="MarkdownFiles" />
+			<Output TaskParameter="AllHelpFiles" ItemName="AllHelpFiles" />
+		</SandcastleBuilder.MSBuild.BuildHelp>
+
+		<OnError ExecuteTargets="PostBuildEvent" Condition="'$(RunPostBuildEvent)'=='Always'"/>
+	</Target>
+
+	<!-- The following targets may be overridden in project files to perform
+       additional processing. -->
+	<Target Name="BeforeBuildHelp" />
+	<Target Name="AfterBuildHelp" />
+
+	<!-- This defines the dependencies for the Clean target -->
+	<PropertyGroup>
+		<CleanDependsOn>
+			BeforeCleanHelp;
+			CoreCleanHelp;
+			AfterCleanHelp
+		</CleanDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Clean" DependsOnTargets="$(CleanDependsOn)" />
+
+	<!-- The Core Clean Help target -->
+	<Target Name="CoreCleanHelp">
+		<SandcastleBuilder.MSBuild.CleanHelp
+        ProjectFile="$(MSBuildProjectFullPath)"
+        OutputPath="$(OutputPath)"
+        WorkingPath="$(WorkingPath)"
+        LogFileLocation="$(LogFileLocation)" />
+	</Target>
+
+	<!-- The following targets may be overridden in project files to perform
+       additional processing. -->
+	<Target Name="BeforeCleanHelp" />
+	<Target Name="AfterCleanHelp" />
+
+	<!-- This defines the dependencies for the Rebuild target -->
+	<PropertyGroup>
+		<RebuildDependsOn>
+			BeforeRebuildHelp;
+			Clean;
+			Build;
+			AfterRebuildHelp;
+		</RebuildDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Rebuild" DependsOnTargets="$(RebuildDependsOn)" />
+
+	<!-- The following targets may be overridden in project files to perform
+       additional processing. -->
+	<Target Name="BeforeRebuildHelp" />
+	<Target Name="AfterRebuildHelp" />
+
+	<!-- Include custom after target overrides if specified -->
+	<Import Project="$(CustomAfterSHFBTargets)" Condition="Exists('$(CustomAfterSHFBTargets)')" />
+
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/Build1xHelpFile.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/Build1xHelpFile.proj
new file mode 100644
index 0000000000000000000000000000000000000000..624da3af632a2c7b09093b37241faaea04a9e6f3
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/Build1xHelpFile.proj
@@ -0,0 +1,65 @@
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Help File Builder Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="SandcastleBuilder.MSBuild.Build1xHelpFile"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)SandcastleBuilder.MSBuild.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<HelpCompilerFolder>{@HHCPath}</HelpCompilerFolder>
+		<HelpProjectName>Help1x.hhp</HelpProjectName>
+		<LocalizeApp />
+		<LanguageId>{@LangId}</LanguageId>
+		<WorkingFolder>{@HtmlEncWorkingFolder}Output\HtmlHelp1</WorkingFolder>
+		<OutputFolder>{@HtmlEncOutputFolder}</OutputFolder>
+		<HtmlHelpName>{@HTMLEncHelpName}</HtmlHelpName>
+	</PropertyGroup>
+
+	<!-- This defines the dependencies for the Build target -->
+	<PropertyGroup>
+		<BuildDependsOn>
+			BeforeBuild1xHelpFile;
+			Build1xHelpFile;
+			AfterBuild1xHelpFile
+		</BuildDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
+
+	<!-- The Build Help 1.x file target -->
+	<Target Name="Build1xHelpFile">
+		<!-- Copy files to the working folder -->
+		<Copy SourceFiles =
+        "$(HelpProjectName);
+         $(HtmlHelpName).hhc;
+         $(HtmlHelpName).hhk"
+      DestinationFiles =
+        "$(WorkingFolder)\$(HelpProjectName);
+         $(WorkingFolder)\$(HtmlHelpName).hhc;
+         $(WorkingFolder)\$(HtmlHelpName).hhk" />
+
+		<!-- Build the help file -->
+		<SandcastleBuilder.MSBuild.Build1xHelpFile
+      WorkingFolder="$(WorkingFolder)"
+      HelpCompilerFolder="$(HelpCompilerFolder)"
+      HelpProjectName="$(HelpProjectName)"
+      LocalizeApp="$(LocalizeApp)"
+      LanguageId="$(LanguageId)" />
+
+		<!-- Delete the old version if it is there -->
+		<Delete Files="$(OutputFolder)\$(HtmlHelpName).chm" />
+
+		<!-- Copy the new one -->
+		<Copy SourceFiles    = "$(WorkingFolder)\$(HtmlHelpName).chm"
+        DestinationFiles = "$(OutputFolder)\$(HtmlHelpName).chm" />
+
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform
+       additional processing. -->
+	<Target Name="BeforeBuild1xHelpFile" />
+	<Target Name="AfterBuild1xHelpFile" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildHelpViewerFile.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildHelpViewerFile.proj
new file mode 100644
index 0000000000000000000000000000000000000000..8ce8c17221e92d78daf69147ecfafa1d77654dab
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildHelpViewerFile.proj
@@ -0,0 +1,65 @@
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Help File Builder Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="SandcastleBuilder.MSBuild.BuildHelpViewerFile"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)SandcastleBuilder.MSBuild.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<WorkingFolder>{@HtmlEncWorkingFolder}Output\MSHelpViewer</WorkingFolder>
+		<OutputFolder>{@HtmlEncOutputFolder}</OutputFolder>
+		<HtmlHelpName>{@HTMLEncHelpName}</HtmlHelpName>
+	</PropertyGroup>
+
+	<!-- File groups -->
+	<ItemGroup>
+		<OldHelpFiles Include="$(OutputFolder)\$(HtmlHelpName).msh?" />
+	</ItemGroup>
+
+	<!-- This defines the dependencies for the Build target -->
+	<PropertyGroup>
+		<BuildDependsOn>
+			BeforeBuildHelpViewerFile;
+			BuildHelpViewerFile;
+			AfterBuildHelpViewerFile
+		</BuildDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
+
+	<!-- The Build MS Help Viewer file target -->
+	<Target Name="BuildHelpViewerFile">
+		<!-- Delete the old files if they are there -->
+		<Delete Files="@(OldHelpFiles)" />
+
+		<!-- Copy the stop word list -->
+		<Copy SourceFiles="$(WorkingFolder)\..\..\StopWordList.txt"
+			DestinationFiles="$(WorkingFolder)\StopWordList.txt" />
+
+		<!-- Build the help file -->
+		<SandcastleBuilder.MSBuild.BuildHelpViewerFile
+      WorkingFolder="$(WorkingFolder)"
+      OutputFolder="$(OutputFolder)"
+      HtmlHelpName="$(HtmlHelpName)" />
+
+		<!-- Copy the content setup file to the output folder -->
+		<Copy SourceFiles=
+        "$(WorkingFolder)\..\..\$(HtmlHelpName).msha;
+         $(WorkingFolder)\..\..\Install_$(HtmlHelpName).bat;
+         $(WorkingFolder)\..\..\Remove_$(HtmlHelpName).bat;
+         $(WorkingFolder)\..\..\HelpLibraryManagerLauncher.exe"
+      DestinationFiles=
+        "$(OutputFolder)$(HtmlHelpName).msha;
+         $(OutputFolder)Install_$(HtmlHelpName).bat;
+         $(OutputFolder)Remove_$(HtmlHelpName).bat;
+         $(OutputFolder)HelpLibraryManagerLauncher.exe" />
+
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform additional processing. -->
+	<Target Name="BeforeBuildHelpViewerFile" />
+	<Target Name="AfterBuildHelpViewerFile" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildOpenXmlFile.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildOpenXmlFile.proj
new file mode 100644
index 0000000000000000000000000000000000000000..3f0a50ec2b1132d4009b95f22431e1dbc4512266
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildOpenXmlFile.proj
@@ -0,0 +1,44 @@
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Help File Builder Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="SandcastleBuilder.MSBuild.BuildOpenXmlFile"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)SandcastleBuilder.MSBuild.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<WorkingFolder>{@HtmlEncWorkingFolder}Output\OpenXml</WorkingFolder>
+		<OutputFolder>{@HtmlEncOutputFolder}</OutputFolder>
+		<HelpFilename>{@HTMLEncHelpName}</HelpFilename>
+		<IndentXml>{@IndentHtml}</IndentXml>
+	</PropertyGroup>
+
+	<!-- This defines the dependencies for the Build target -->
+	<PropertyGroup>
+		<BuildDependsOn>
+			BeforeBuildOpenXmlFile;
+			BuildOpenXmlFile;
+			AfterBuildOpenXmlFile
+		</BuildDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
+
+	<!-- The Build Open XML file target -->
+	<Target Name="BuildOpenXmlFile">
+
+		<!-- Build the help file -->
+		<SandcastleBuilder.MSBuild.BuildOpenXmlFile
+      WorkingFolder="$(WorkingFolder)"
+      OutputFolder="$(OutputFolder)"
+      HelpFilename="$(HelpFilename)"
+			IndentXml="$(IndentXml)" />
+
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform additional processing. -->
+	<Target Name="BeforeBuildOpenXmlFile" />
+	<Target Name="AfterBuildOpenXmlFile" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildTopics.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildTopics.proj
new file mode 100644
index 0000000000000000000000000000000000000000..58256ef3687a976a4d5571d58a847180a24c37c8
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/BuildTopics.proj
@@ -0,0 +1,39 @@
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Tools MSBuild Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="Sandcastle.Tools.MSBuild.BuildAssembler"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)BuildAssembler.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<ConfigurationFile>sandcastle.config</ConfigurationFile>
+		<ManifestFile>manifest.xml</ManifestFile>
+		<WorkingFolder>{@HtmlEncWorkingFolder}</WorkingFolder>
+	</PropertyGroup>
+
+	<!-- This defines the dependencies for the Build target -->
+	<PropertyGroup>
+		<BuildDependsOn>
+			BeforeBuildTopics;
+			BuildTopics;
+			AfterBuildTopics
+		</BuildDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
+
+	<!-- The Build Conceptual Topics target -->
+	<Target Name="BuildTopics">
+		<Sandcastle.Tools.MSBuild.BuildAssembler
+      WorkingFolder="$(WorkingFolder)"
+      ConfigurationFile="$(ConfigurationFile)"
+      ManifestFile="$(ManifestFile)" />
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform additional processing -->
+	<Target Name="BeforeBuildTopics" />
+	<Target Name="AfterBuildTopics" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/ExtractHtmlInfo.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/ExtractHtmlInfo.proj
new file mode 100644
index 0000000000000000000000000000000000000000..2bb76d3633c50009060dbaa37b5d726256f9594f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/ExtractHtmlInfo.proj
@@ -0,0 +1,51 @@
+<Project ToolsVersion="15.0" DefaultTargets="Extract" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Help File Builder Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)SandcastleHtmlExtract.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<ProjectName>{@HTMLEncHelpName}</ProjectName>
+		<LanguageId>{@LangID}</LanguageId>
+		<Help1Folder>{@Help1Folder}</Help1Folder>
+		<WebsiteFolder>{@WebsiteFolder}</WebsiteFolder>
+		<LocalizedFolder />
+		<OutputFolder />
+		<TocFile />
+	</PropertyGroup>
+
+	<!-- This defines the dependencies for the Extract target -->
+	<PropertyGroup>
+		<ExtractDependsOn>
+			BeforeExtractHtmlInfo;
+			ExtractHtmlInfo;
+			AfterExtractHtmlInfo
+		</ExtractDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Extract" DependsOnTargets="$(ExtractDependsOn)" />
+
+	<!-- The Extract HTML Info target -->
+	<Target Name="ExtractHtmlInfo">
+		<!-- Extract title and keyword index info.  This will also alter the
+         encoding of the files if localizing them for use with the HTML
+         Help 1 compiler. -->
+		<SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract
+      ProjectName="$(ProjectName)"
+      LanguageId="$(LanguageId)"
+      Help1Folder="$(Help1Folder)"
+      WebsiteFolder="$(WebsiteFolder)"
+      LocalizedFolder="$(LocalizedFolder)"
+      OutputFolder="$(OutputFolder)"
+      TocFile="$(TocFile)" />
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform
+       additional processing. -->
+	<Target Name="BeforeExtractHtmlInfo" />
+	<Target Name="AfterExtractHtmlInfo" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateInheritedDocs.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateInheritedDocs.config
new file mode 100644
index 0000000000000000000000000000000000000000..5f1c9c89760ef132de356f3b5beb0b3e287a8c0e
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateInheritedDocs.config
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+	<!-- The reflection information file to use -->
+	<reflectionInfo file="reflection.xml" />
+
+	<!-- The inherited documentation output filename -->
+	<inheritedDocs file="_InheritedDocs_.xml" />
+
+	<!-- This is used to see duplicate comment key warnings. They can usually be ignored.  Comment this element
+			 out to suppress them. -->
+	<!-- showDuplicateWarning / -->
+
+	<!-- The XML comments file list.  The "cacheSize" attribute represents the size of the index cache (the
+			 maximum number of XML comments files in memory). -->
+	<commentsFiles cacheSize="100">
+		<!-- The <import> elements represent XML comments files that act as a source for inherited documentation but
+				 are not themselves scanned for <inheritdoc /> tags.  The <scan> elements represent files that will be
+				 scanned for the tags and can also contain inherited documentation.  For both, a "path" and/or "file"
+				 attribute can be specified.  The "path" attribute is used to indicate that all XML files in the folder
+				 should be included.  An optional "recurse" attribute can be used to indicate whether or not sub-folders
+				 are also search for comments files.  Use a "file" attribute to specify an individual comments file or,
+				 when used with "path", the wildcard to match. -->
+
+		<!-- Base .NET Framework XML comments files. -->
+		{@ImportFrameworkCommentList}
+
+		<!-- Project XML comments files to scan. -->
+		{@InheritedCommentFileList}
+	</commentsFiles>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateInheritedDocs.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateInheritedDocs.proj
new file mode 100644
index 0000000000000000000000000000000000000000..9d4ef7a14c20d585c984548b67eb202f4effed4b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateInheritedDocs.proj
@@ -0,0 +1,36 @@
+<Project ToolsVersion="15.0" DefaultTargets="Generate" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Generate inherited documentation.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)GenerateInheritedDocs.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<ConfigurationFile>GenerateInheritedDocs.config</ConfigurationFile>
+	</PropertyGroup>
+
+	<!-- This defines the dependencies for the Generate target -->
+	<PropertyGroup>
+		<GenerateDependsOn>
+			BeforeGenerateInheritedDocs;
+			GenerateInheritedDocs;
+			AfterGenerateInheritedDocs
+		</GenerateDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Generate" DependsOnTargets="$(GenerateDependsOn)" />
+
+	<!-- The Generate Inherited Docs target -->
+	<Target Name="GenerateInheritedDocs">
+		<SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs
+        ConfigurationFile="$(ConfigurationFile)" />
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform
+       additional processing. -->
+	<Target Name="BeforeGenerateInheritedDocs" />
+	<Target Name="AfterGenerateInheritedDocs" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateMarkdownContent.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateMarkdownContent.proj
new file mode 100644
index 0000000000000000000000000000000000000000..fe64a81edb362800152ad87bcda3a4d55a6dabaf
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateMarkdownContent.proj
@@ -0,0 +1,44 @@
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Help File Builder Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="SandcastleBuilder.MSBuild.GenerateMarkdownContent"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)SandcastleBuilder.MSBuild.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<WorkingFolder>{@HtmlEncWorkingFolder}Output\Markdown</WorkingFolder>
+		<OutputFolder>{@HtmlEncOutputFolder}</OutputFolder>
+		<DefaultTopic>{@DefaultTopic}</DefaultTopic>
+		<AppendMarkdownFileExtensionsToUrls>{@AppendMarkdownFileExtensionsToUrls}</AppendMarkdownFileExtensionsToUrls>
+	</PropertyGroup>
+
+	<!-- This defines the dependencies for the Build target -->
+	<PropertyGroup>
+		<BuildDependsOn>
+			BeforeGenerateMarkdownContent;
+			GenerateMarkdownContent;
+			AfterGenerateMarkdownContent
+		</BuildDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" />
+
+	<!-- The Generate Markdown Content file target -->
+	<Target Name="GenerateMarkdownContent">
+
+		<!-- Generate the markdown content -->
+		<SandcastleBuilder.MSBuild.GenerateMarkdownContent
+			WorkingFolder="$(WorkingFolder)"
+			OutputFolder="$(OutputFolder)"
+			DefaultTopic="$(DefaultTopic)"
+			AppendMarkdownFileExtensionsToUrls="$(AppendMarkdownFileExtensionsToUrls)" />
+
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform additional processing. -->
+	<Target Name="BeforeGenerateMarkdownContent" />
+	<Target Name="AfterGenerateMarkdownContent" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateRefInfo.proj b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateRefInfo.proj
new file mode 100644
index 0000000000000000000000000000000000000000..d8019536374955d939c6b24f1177a6559c3bcd2c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/GenerateRefInfo.proj
@@ -0,0 +1,58 @@
+<Project ToolsVersion="15.0" DefaultTargets="Generate" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<!-- Sandcastle Tools MSBuild Tasks.  https://GitHub.com/EWSoftware/SHFB -->
+	<PropertyGroup>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net472\</SHFBTaskFolder>
+		<SHFBTaskFolder Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp3.1\</SHFBTaskFolder>
+	</PropertyGroup>
+	<UsingTask TaskName="Sandcastle.Tools.MSBuild.MRefBuilder"
+    AssemblyFile="{@SHFBRoot}$(SHFBTaskFolder)MRefBuilder.dll" />
+
+	<!-- Task properties -->
+	<PropertyGroup>
+		<TargetFrameworkIdentifier>{@TargetFrameworkIdentifier}</TargetFrameworkIdentifier>
+		<TargetFrameworkVersion>v{@FrameworkVersionShort}</TargetFrameworkVersion>
+		<WorkingFolder>{@HtmlEncWorkingFolder}</WorkingFolder>
+		<ReferencePath Condition=" '$(ReferencePath)' == '' ">{@ReferencePath}</ReferencePath>
+		<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
+		<UseTargetPlatformAsNuGetTargetMoniker>false</UseTargetPlatformAsNuGetTargetMoniker>
+	</PropertyGroup>
+
+	<!-- The common targets require OutputPath to be valid -->
+	<PropertyGroup>
+		<OutputPath>.\</OutputPath>
+	</PropertyGroup>
+
+	<!-- Import the common targets -->
+	<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />
+
+	<!-- This defines the dependencies for the Generate target -->
+	<PropertyGroup>
+		<GenerateDependsOn>
+			ResolveReferences;
+			BeforeGenerateRefInfo;
+			GenerateRefInfo;
+			AfterGenerateRefInfo
+		</GenerateDependsOn>
+	</PropertyGroup>
+
+	<Target Name="Generate" DependsOnTargets="$(GenerateDependsOn)" />
+
+	<!-- The Generate Ref Info target -->
+	<Target Name="GenerateRefInfo">
+		<!-- Run MRefBuilder.  Reference build items are added to this template by the build process.  The
+				 ResolveReferences dependency target will resolve them to absolute paths that can be passed to
+				 MRefBuilder using the /dep command line option.  Assembly build items are added by the build
+				 process to define the assemblies to reflect. -->
+		<Sandcastle.Tools.MSBuild.MRefBuilder
+      WorkingFolder="$(WorkingFolder)"
+			ConfigurationFile="MRefBuilder.config"
+			ReflectionFilename="reflection.org"
+      Assemblies="@(Assembly)"
+      References="@(ReferencePath)"/>
+
+	</Target>
+
+	<!-- The following targets may be overridden or replaced to perform additional processing. -->
+	<Target Name="BeforeGenerateRefInfo" />
+	<Target Name="AfterGenerateRefInfo" />
+</Project>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/Help1x.hhp b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/Help1x.hhp
new file mode 100644
index 0000000000000000000000000000000000000000..721f6c8146aa8a7bed105d72a0759e79bddcc0ab
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/Help1x.hhp
@@ -0,0 +1,22 @@
+[OPTIONS]
+Compatibility=1.1 or later
+Default Window=MsdnHelp
+Display compile progress=No
+Full-text search=Yes
+Language={@Language}
+Binary TOC={@BinaryTOC}
+Title={@HelpTitle}
+Default topic={@DefaultTopic}
+Contents file={@HTMLHelpName}.hhc
+Compiled file={@HTMLHelpName}.chm
+Error log file={@HTMLHelpName}.log
+Index file={@HTMLHelpName}.hhk
+Auto Index=Yes
+
+[WINDOWS]
+MsdnHelp="{@HelpTitle}","{@HTMLHelpName}.hhc","{@HTMLHelpName}.hhk","{@DefaultTopic}","{@DefaultTopic}",,,,,{@WindowOptions},220,0x387e,[86,51,886,651],,,,,,,0
+
+[FILES]
+{@Help1xProjectFiles}
+
+[INFOTYPES]
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/HelpContentSetup.msha b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/HelpContentSetup.msha
new file mode 100644
index 0000000000000000000000000000000000000000..f80b42db375d1324b139ee56e8792616c24b223a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/HelpContentSetup.msha
@@ -0,0 +1,20 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>{@HtmlEncHelpTitle}</title>
+</head>
+<body class="vendor-book">
+    <div class="details">
+        <span class="vendor">{@HtmlEncVendorName}</span>
+        <span class="locale">{@Locale}</span>
+        <span class="product">{@HtmlEncProductTitle}</span>
+        <span class="name">{@HtmlEncHelpTitle}</span>
+    </div>
+    <div class="package-list">
+        <div class="package">
+            <!-- NOTE: The "name" span value cannot contain any periods! -->
+            <span class="name">{@HelpViewerSetupName}</span>
+            <a class="current-link" href="{@HTMLEncHelpName}.mshc">{@HTMLEncHelpName}.mshc</a>
+        </div>
+    </div>
+</body>
+</html>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/HelpFileBuilderTokens.tokens b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/HelpFileBuilderTokens.tokens
new file mode 100644
index 0000000000000000000000000000000000000000..188df2f5ac8c0b9a1d50281136cbc7758af38a26
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/HelpFileBuilderTokens.tokens
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Standard tokens used for conceptual content builds -->
+<content xml:space="preserve"
+  xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <item id="autoOutline"><autoOutline /></item>
+</content>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/InstallMSHC.bat b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/InstallMSHC.bat
new file mode 100644
index 0000000000000000000000000000000000000000..7f73f875edd2de8335bcdaa8238e5b533513efce
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/InstallMSHC.bat
@@ -0,0 +1,47 @@
+@ECHO OFF
+CLS
+
+REM This is an example script to show how to use the Help Library Manager Launcher to install an MS Help Viewer
+REM file.  You can use this as an example for creating a script to run from your product's installer.
+
+REM NOTE: If not executed from within the same folder as the executable, a full path is required on the
+REM executable and the HelpContentSetup.msha file.
+
+IF "%1%"=="" GOTO MissingVersion
+IF "%1%"=="1.0" GOTO HelpViewer1
+
+GOTO HelpViewer2:
+
+:HelpViewer1
+
+REM Help Viewer 1.0
+REM Uninstall first in case it is already there.  If not, it won't install below.  We'll ignore any error output
+REM by redirecting it to NUL.
+HelpLibraryManagerLauncher.exe /product "{@CatalogProductId}" /version "{@CatalogVersion}" /locale {@Locale} /uninstall /silent /vendor "{@VendorName}" /productName "{@ProductTitle}" /mediaBookList "{@HelpTitle}" > NUL
+
+REM For Help Viewer 1.0. the setup name must be HelpContentSetup.msha so make sure we copy the setup file to that
+REM name.  SHFB names it after the help file so that multiple files can be deployed to the same output older at
+REM build time.
+IF EXIST "{@HtmlHelpName}.msha" COPY /Y "{@HtmlHelpName}.msha" HelpContentSetup.msha
+
+REM Install the new content.
+HelpLibraryManagerLauncher.exe /product "{@CatalogProductId}" /version "{@CatalogVersion}" /locale {@Locale} /sourceMedia "%CD%\HelpContentSetup.msha"
+
+GOTO Exit
+
+:HelpViewer2
+
+REM Help Viewer 2.x
+REM Uninstall first in case it is already there.  If not, it won't install below.  We'll ignore any error output
+REM by redirecting it to NUL.
+HelpLibraryManagerLauncher.exe /viewerVersion %1 {@CatalogName} /locale {@Locale} /wait 0 /operation uninstall /vendor "{@VendorName}" /productName "{@ProductTitle}" /bookList "{@HelpTitle}" > NUL
+
+REM Install the new content.
+HelpLibraryManagerLauncher.exe /viewerVersion %1 {@CatalogName} /locale {@Locale} /wait 0 /operation install /sourceUri "%CD%\{@HtmlHelpName}.msha"
+
+GOTO Exit
+
+:MissingVersion
+ECHO A help viewer version parameter is required
+
+:Exit
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/MRefBuilder.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/MRefBuilder.config
new file mode 100644
index 0000000000000000000000000000000000000000..cab79c0f6ffdcc4fa9c361b31a8d6a773fc9888c
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/MRefBuilder.config
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+	<dduetools>
+		<platform framework="{@ReflectionDataSetPlatform}" version="{@ReflectionDataSetVersion}" />
+
+		<resolver type="Sandcastle.Tools.Reflection.AssemblyResolver" use-gac="false">
+			<ignoreIfUnresolved>
+				<!-- Ignore the Crystal Reports licensing and Visual Studio test playback assemblies if unresolved -->
+				<assemblyIdentity name="BusinessObjects.Licensing.KeycodeDecoder" />
+				<assemblyIdentity name="Microsoft.VisualStudio.TestTools.UITest.Playback" />
+			</ignoreIfUnresolved>
+		</resolver>
+
+		<componentLocations>
+			{@ComponentLocations}
+		</componentLocations>
+
+		<addins>
+			<addin type="Sandcastle.Tools.ExtensionMethodAddIn" />
+			<addin type="Sandcastle.Tools.XamlAttachedMembersAddIn" />
+		</addins>
+
+		<!-- This specifies the base path to the source code.  If set, source code context information (filename and
+				 line number) will be included in the reflection data when possible.  An up-to-date program database
+				 (PDB) file is required.  If the warning option is set to true, missing source context information for
+				 types are reported as warnings rather than as informational messages. -->
+		<sourceContext basePath="{@SourceCodeBasePath}" warnOnMissingSourceContext="{@WarnOnMissingSourceContext}"/>
+
+		<!-- This defines which members to include in the reflection data based on visibility -->
+		<visibility>
+			<!-- Include attributes.  When false, certain required attributes will still be included. -->
+			<attributes expose="{@DocumentAttributes}" />
+			<!-- Include explicit interface implementations -->
+			<explicitInterfaceImplementations expose="{@DocumentExplicitInterfaceImplementations}" />
+			<!-- Include inherited members -->
+			<inheritedMembers expose="{@DocumentInheritedMembers}" />
+			<!-- Include inherited framework members.  For this to work, InheritedMembers must also be enabled. -->
+			<inheritedFrameworkMembers expose="{@DocumentInheritedFrameworkMembers}" />
+			<!-- Include inherited internal framework members.  For this to work Internals and
+					 InheritedFrameworkMembers must also be enabled. -->
+			<inheritedFrameworkInternalMembers expose="{@DocumentInheritedFrameworkInternalMembers}" />
+			<!-- Include inherited private framework members.  For this to work Privates and InheritedFrameworkMembers
+					 must also be enabled. -->
+			<inheritedFrameworkPrivateMembers expose="{@DocumentInheritedFrameworkPrivateMembers}" />
+			<!-- Include internal members -->
+			<internals expose="{@DocumentInternals}" />
+			<!-- Include private members -->
+			<privates expose="{@DocumentPrivates}" />
+			<!-- Include private fields.  For this to work, Privates must also be enabled. -->
+			<privateFields expose="{@DocumentPrivateFields}" />
+			<!-- Include protected members -->
+			<protected expose="{@DocumentProtected}" />
+			<!-- Include protected members of sealed classes.  For this to work, Protected must also be enabled. -->
+			<sealedProtected expose="{@DocumentSealedProtected}" />
+			<!-- Include "protected internal" members as "protected" only -->
+			<protectedInternalAsProtected expose="{@DocumentProtectedInternalAsProtected}" />
+			<!-- Include "no-PIA" COM types, those marked with CompilerGeneratedAttribute and TypeIdentifierAttribute -->
+			<noPIATypes expose="{@DocumentNoPIATypes}" />
+			<!-- Include public compiler generated types/members -->
+			<publicCompilerGenerated expose="{@DocumentPublicCompilerGenerated}" />
+			<!-- Include types and members marked with an EditorBrowsableAttribute set to Never -->
+			<editorBrowsableNever expose="{@DocumentEditorBrowsableNever}" />
+			<!-- Include types and members marked with a BrowsableAttribute set to False -->
+			<nonBrowsable expose="{@DocumentNonBrowsable}" />
+			<!-- Internal members from base types in other assemblies and private members from base types -->
+			<internalAndPrivateIfExternal expose="{@DocumentInternalAndPrivateIfExternal}" />
+		</visibility>
+
+		<attributeFilter expose="true">
+			<!-- All attributes in the System namespace are included by default.  However, we need to indicate that for
+					 these two attributes, they are required and should never be excluded. -->
+			<namespace name="System" expose="true">
+				<!-- This is required to document Flags enumerated types -->
+				<type name="FlagsAttribute" required="true" />
+				<!-- This is required to document obsolete API members -->
+				<type name="ObsoleteAttribute" required="true" />
+				<!-- This one is required to find parameter array parameters on methods -->
+				<type name="ParamArrayAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="SerializableAttribute" required="true"/>
+			</namespace>
+			<!-- Most attributes in System.ComponentModel control designer behavior. Don't show them.
+					 The exceptions are attributes relating to data binding. Do show them. -->
+			<namespace name="System.ComponentModel" expose="false">
+				<type name="BindableAttribute" expose="true"/>
+				<type name="BrowsableAttribute" expose="true"/>
+				<type name="ComplexBindingPropertiesAttribute" expose="true"/>
+				<type name="DataObjectAttribute" expose="true"/>
+				<type name="DefaultBindingPropertyAttribute" expose="true"/>
+				<type name="ListBindableAttribute" expose="true"/>
+				<type name="LookupBindingPropertiesAttribute" expose="true"/>
+				<type name="SettingsBindableAttribute" expose="true"/>
+				<!-- This is required by the XAML usage syntax component  -->
+				<type name="TypeConverterAttribute" required="true"/>
+				<!-- These may provide useful information too -->
+				<type name="DefaultEventAttribute" expose="true"/>
+				<type name="DefaultPropertyAttribute" expose="true"/>
+				<type name="DefaultValueAttribute" expose="true"/>
+				<type name="DesignerSerializationVisibilityAttribute" expose="true"/>
+				<type name="EditorAttribute" expose="true"/>
+				<type name="EditorBrowsableAttribute" expose="true"/>
+				<type name="ExtenderProvidedProperty" expose="true"/>
+				<type name="ProvideProperty" expose="true"/>
+			</namespace>
+			<namespace name="System.ComponentModel.Design" expose="false" />
+			<namespace name="System.ComponentModel.Design.Serialization" expose="false" />
+			<!-- Most attributes in System.Diagnostics control debugger behavior. Don't show them. -->
+			<namespace name="System.Diagnostics" expose="false">
+				<type name="ConditionalAttribute" expose="true"/>
+				<type name="EventLogPermissionAttribute" expose="true"/>
+				<type name="PerformanceCounterPermissionAttribute" expose="true"/>
+			</namespace>
+			<!-- Attributes in System.Diagnostics.CodeAnalysis control interaction with FxCop. Don't show them. -->
+			<namespace name="System.Diagnostics.CodeAnalysis" expose="false" />
+			<!-- Attributes in System.EnterpriseServices control obscure details of COM+ interop. Don't show them. -->
+			<namespace name="System.EnterpriseServices" expose="false" />
+			<namespace name="System.Reflection" expose="true">
+				<!-- The DefaultMember attribute is usually compiler-generated. Users will see it from the member syntax. -->
+				<type name="DefaultMemberAttribute" expose="false" />
+				<!-- These two are required by the document model transformations -->
+				<type name="AssemblyInformationalVersionAttribute" required="true" />
+				<type name="AssemblyFileVersionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime" expose="false" />
+			<!-- Attributes in System.Runtime.CompilerServices control obscure details of compilation but there are a
+					 couple of required attributes and some that may be useful. -->
+			<namespace name="System.Runtime.CompilerServices" expose="false">
+				<!-- This is required to document extension methods -->
+				<type name="ExtensionAttribute" required="true" />
+				<!-- This is required to document fixed buffers -->
+				<type name="FixedBufferAttribute" required="true" />
+				<!-- This is required to document readonly structs -->
+				<type name="IsReadOnlyAttribute" required="true" />
+				<!-- This is required to document ref structs -->
+				<type name="IsByRefLikeAttribute" required="true" />
+				<!-- These may provide useful information -->
+				<type name="CallerFilePathAttribute" expose="true" />
+				<type name="CallerLineNumberAttribute" expose="true" />
+				<type name="CallerMemberNameAttribute" expose="true" />
+				<type name="UnsafeValueTypeAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.ConstrainedExecution control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime.ConstrainedExecution" expose="false" />
+			<!-- Most attributes in System.Runtime.InteropServices control obscure details of COM interop but there are
+					 some that are useful. -->
+			<namespace name="System.Runtime.InteropServices" expose="false">
+				<type name="ClassInterfaceAttribute" expose="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="ComImportAttribute" required="true"/>
+				<type name="ComVisibleAttribute" expose="true"/>
+				<type name="DispIdAttribute" expose="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="DllImportAttribute" required="true"/>
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="FieldOffsetAttribute" required="true"/>
+				<type name="GuidAttribute" expose="true"/>
+				<type name="InterfaceTypeAttribute" expose="true"/>
+				<!-- This is required to document optional parameters -->
+				<type name="OptionalAttribute" required="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="PreserveSigAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="StructLayoutAttribute" required="true"/>
+				<type name="TypeIdentifierAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.Versioning control details of resource loading. Don't show them. -->
+			<namespace name="System.Runtime.Versioning" expose="false" />
+			<!-- Attributes in System.Security might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security" expose="false">
+				<type name="SecurityCriticalAttribute" expose="true" />
+				<type name="SecurityTreatAsSafeAttribute" expose="true" />
+				<!-- This is required by the document model transformations  -->
+				<type name="AllowPartiallyTrustedCallersAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Security.Permissions might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security.Permissions" expose="false">
+				<!-- This is required by the presentation styles  -->
+				<type name="HostProtectionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Web.Compilation control interaction with the Expression designer. Don't show them. -->
+			<namespace name="System.Web.Compilation" expose="false" />
+			<!-- The ASP.NET team only wants these attributes exposed from their namespace. -->
+			<namespace name="System.Web.UI" expose="false">
+				<type name="ControlValuePropertyAttribute" expose="true"/>
+				<!-- This is required by the ASP.NET syntax component -->
+				<type name="PersistenceModeAttribute" required="true" />
+				<type name="ValidationPropertyAttribute" expose="true"/>
+				<type name="WebResourceAttribute" expose="true"/>
+				<type name="TemplateContainerAttribute" expose="true"/>
+				<type name="ThemeableAttribute" expose="true"/>
+				<type name="TemplateInstanceAttribute" expose="true"/>
+			</namespace>
+			<!-- Don't show attributes related to XAML serialization details. -->
+			<namespace name="System.Windows.Markup" expose="true">
+				<!-- This is required by the XAML syntax data transformation -->
+				<type name="ContentPropertyAttribute" required="true" />
+				<type name="ConstructorArgumentAttribute" expose="false" />
+				<type name="DependsOnAttribute" expose="false" />
+				<type name="DesignerSerializationOptionsAttribute" expose="false" />
+				<type name="ValueSerializerAttribute" expose="false" />
+				<type name="XmlnsCompatibleWithAttribute" expose="false" />
+				<type name="XmlnsDefinitionAttribute" expose="false" />
+				<type name="XmlnsPrefixAttribute" expose="false" />
+			</namespace>
+			<!-- The GeneratedCodeAttribute is useful only to tools, and should be hidden from end users.-->
+			<namespace name="System.CodeDom.Compiler" expose="true">
+				<type name="GeneratedCodeAttribute" expose="false" />
+			</namespace>
+		</attributeFilter>
+
+		{@ApiFilter}
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/PlaceHolderNode.aml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/PlaceHolderNode.aml
new file mode 100644
index 0000000000000000000000000000000000000000..01395fb96cb5739066f302dec73c0bd46ebddca6
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/PlaceHolderNode.aml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="{@GUID}" revisionNumber="1">
+  <developerConceptualDocument
+    xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  </developerConceptualDocument>
+</topic>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/RemoveMSHC.bat b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/RemoveMSHC.bat
new file mode 100644
index 0000000000000000000000000000000000000000..bf598c6cf1cca27ccd618ad193ad709faa6f965d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/RemoveMSHC.bat
@@ -0,0 +1,31 @@
+@ECHO OFF
+CLS
+
+REM This is an example script to show how to use the Help Library Manager Launcher to remove an MS Help Viewer file.
+REM You can use this as an example for creating a script to run from your product's uninstaller.
+
+REM NOTE: If not executed from within the same folder as the executable, a full path is required on the executable.
+
+IF "%1%"=="" GOTO MissingVersion
+IF "%1%"=="1.0" GOTO HelpViewer1
+
+GOTO HelpViewer2
+
+:HelpViewer1
+
+REM Help Viewer 1.0
+HelpLibraryManagerLauncher.exe /product "{@CatalogProductId}" /version "{@CatalogVersion}" /locale {@Locale} /uninstall /silent /vendor "{@VendorName}" /productName "{@ProductTitle}" /mediaBookList "{@HelpTitle}"
+
+GOTO Exit
+
+:HelpViewer2
+
+REM Help Viewer 2.x
+HelpLibraryManagerLauncher.exe /viewerVersion %1 {@CatalogName} /locale {@Locale} /wait 0 /operation uninstall /vendor "{@VendorName}" /productName "{@ProductTitle}" /bookList "{@HelpTitle}"
+
+GOTO Exit
+
+:MissingVersion
+ECHO A help viewer version parameter is required
+
+:Exit
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/TransformBuildLog.xsl b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/TransformBuildLog.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..adfb5a253bc3c2fbe05e21dbb71a36a9a2256332
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/Templates/TransformBuildLog.xsl
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+    xmlns:shfb="urn:shfb-extensions">
+
+<!--
+// System  : Sandcastle Help File Builder
+// File    : BuildLog.xsl
+// Author  : Eric Woodruff
+// Updated : 01/07/2012
+// Note    : Copyright 2008-2012, Eric Woodruff, All rights reserved
+//
+// This is used to convert a SHFB build log into a viewable HTML page.
+-->
+
+  <xsl:param name="filterOn" select="'false'" />
+	<xsl:param name="highlightOn" select="'false'" />
+
+	<msxsl:script language="C#" implements-prefix="shfb">
+  <msxsl:using namespace="System.Text" />
+  <msxsl:using namespace="System.Text.RegularExpressions" />
+    <![CDATA[
+    private static Regex reWarning = new Regex(@"(Warn|Warning( HXC\d+)?):|" +
+        @"SHFB\s*:\s*(W|w)arning\s.*?:|.*?(\(\d*,\d*\))?:\s*(W|w)arning\s.*?:");
+
+    private static Regex reErrors = new Regex(
+        @"^\s*((Error|UnrecognizedOption|Unhandled Exception|Fatal Error|" +
+        @"Unexpected error.*|HHC\d+: Error|(Fatal )?Error HXC\d+):|" +
+        @"Process is terminated|BUILD FAILED|\w+\s*:\s*(E|e)rror\s.*?:|" +
+        @".*?\(\d*,\d*\):\s*(E|e)rror\s.*?:)", RegexOptions.Multiline);
+
+    // Encode a few special characters, add a style to warnings and errors, and
+		// return a non-breaking space if empty.
+    public static string StyleLogText(string logText, string filterOn, string highlightOn)
+    {
+        // System.Web isn't always available so do some simple encoding
+        logText = logText.Trim().Replace("&", "&amp;");
+        logText = logText.Replace("<", "&lt;");
+        logText = logText.Replace(">", "&gt;");
+
+        // Include all text or just filter for warnings and errors?
+        if(filterOn == "false")
+        {
+						// Highlight warnings and errors in the full text?
+						if(highlightOn == "true")
+						{
+								logText = reWarning.Replace(logText, "<span class=\"Warning\">$0</span>");
+								logText = reErrors.Replace(logText, "<span class=\"Error\">$0</span>");
+						}
+        }
+        else
+        {
+            StringBuilder sb = new StringBuilder(2048);
+
+            foreach(string s in logText.Split('\n'))
+                if(reWarning.IsMatch(s))
+                {
+                    sb.Append(reWarning.Replace(s, "<span class=\"Warning\">$0</span>"));
+                    sb.Append('\n');
+                }
+                else
+                    if(reErrors.IsMatch(s))
+                    {
+                        sb.Append(reErrors.Replace(s, "<span class=\"Error\">$0</span>"));
+                        sb.Append('\n');
+                    }
+
+            logText = sb.ToString();
+        }
+
+        return (logText.Length == 0) ? "&#160;" : logText;
+    }
+  	]]>
+  </msxsl:script>
+
+  <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" />
+
+  <!-- Main template for the log -->
+  <xsl:template match="/shfbBuild">
+<html>
+<head>
+<title><xsl:value-of select="product"/></title>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
+<style>
+  body { font-size: 8pt; font-family: Arial, Verdana, sans-serif; color: black; background-color: white; }
+  h3 { margin: 0px; }
+  h4 { margin: 0px; }
+  pre { font-family: Consolas, "Courier New", Courier, monospace; font-size: 8pt; margin-top: 0px; margin-left: 20px; margin-bottom: 20px; padding: 0px; }
+  .SectionHeader { background-color: #0066cc; color: white; padding: 5px; width: 95%; margin-left: 0px; margin-right: 2px; margin-top: 0px; padding: 2px; }
+  .CollapsedHeader { background-color: #dcdcdc; color: black; padding: 5px; width: 95%; margin-left: 0px; margin-right: 2px; margin-top: 0px; padding: 2px; }
+  .Warning { font-weight: bold; background-color: #ffd700; padding: 2px; }
+  .Error { font-weight: bold; background-color: #b22222; color: #ffffff; padding: 2px; }
+  .CollapseBox { cursor: pointer; color: black; text-align: center; border-style: solid; border-width: 1px; border-color: gray; margin-left: 0px; margin-right: 2px; margin-top: 0px; padding: 2px; width: 20px; }
+  .PlugIn { border-left: black 5px solid; padding-top: 5px; padding-bottom: 5px; padding-left: 10px; }
+  .PlugInHeader { background-color: #cccc99; color: black; width: 95%; padding: 2px; }
+</style>
+</head>
+
+<body>
+<h3><xsl:value-of select="@product"/>&#160;<xsl:value-of select="@version"/> Build Log</h3>
+<h4>Project File: <xsl:value-of select="@projectFile"/></h4>
+<h4>Build Started: <xsl:value-of select="@started"/></h4>
+
+<xsl:if test="$filterOn = 'true'">
+(Filtered for warnings and errors only)
+</xsl:if>
+
+<br/><hr/>
+<a href="#" onclick="javascript: ExpandCollapseAll(false);">Collapse All</a>&#160;&#160;&#160;&#160;<a href="#" onclick="javascript: ExpandCollapseAll(true);">Expand All</a>
+<hr/>
+
+<!-- Process the build steps -->
+<xsl:apply-templates select="buildStep" />
+
+<hr/>
+End of Log
+<hr/>
+<a href="#" onclick="javascript: ExpandCollapseAll(false);">Collapse All</a>&#160;&#160;&#160;&#160;<a href="#" onclick="javascript: ExpandCollapseAll(true);">Expand All</a>
+
+<script type="text/javascript">
+// Expand/collapse a section
+function ExpandCollapse(showId, hideId)
+{
+    var showSpan = document.getElementById(showId),
+        hideSpan = document.getElementById(hideId);
+
+    showSpan.style.display = "inline";
+    hideSpan.style.display = "none";
+}
+
+// Expand or collapse all sections
+function ExpandCollapseAll(expand)
+{
+    var spans = document.getElementsByTagName("span")
+    var spanIdx, id;
+
+	for(spanIdx = 0; spanIdx != spans.length - 1; spanIdx++)
+	{
+	    id = spans[spanIdx].getAttribute('id');
+
+        if(id.substr(0, 4) == "col_")
+            if(expand)
+                ExpandCollapse("exp_" + id.substr(4), id);
+            else
+                ExpandCollapse(id, "exp_" + id.substr(4));
+    }
+}
+</script>
+
+</body>
+</html>
+  </xsl:template>
+
+  <!-- Build step template -->
+  <xsl:template match="buildStep">
+    <span id="col_{@step}" style="display: none;"><span class="CollapseBox" onclick="javascript: ExpandCollapse('exp_{@step}', 'col_{@step}');">+</span>
+    <span><span class="CollapsedHeader"><xsl:value-of select="@step"/></span><br/><br/></span></span><span id="exp_{@step}" style="display: inline;">
+    <span class="CollapseBox" onclick="javascript: ExpandCollapse('col_{@step}', 'exp_{@step}');">-</span>
+
+    <span class="SectionHeader"><xsl:value-of select="@step"/></span><br/><br/>
+    <pre>
+        <xsl:apply-templates />
+    </pre>
+    </span>
+  </xsl:template>
+
+  <!-- Plug-in template -->
+  <xsl:template match="plugIn">
+    <div class="PlugIn"><span class="PlugInHeader"><b>Plug-In:</b>&#160;<xsl:value-of select="@name" />&#160;&#160;<b>Running:</b>&#160;<xsl:value-of select="@behavior" />&#160;&#160;<b>Priority:</b>&#160;<xsl:value-of select="@priority" /></span><br/>
+      <xsl:value-of select="shfb:StyleLogText(text(), $filterOn, $highlightOn)" disable-output-escaping="yes" />
+    </div>
+  </xsl:template>
+
+  <!-- Text template -->
+  <xsl:template match="text()">
+    <xsl:value-of select="shfb:StyleLogText(., $filterOn, $highlightOn)" disable-output-escaping="yes" />
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.dll
new file mode 100644
index 0000000000000000000000000000000000000000..9e9999ca4a3a963d2f7f5da9d4dc30aedda9d6d1
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.dll.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.dll.config
new file mode 100644
index 0000000000000000000000000000000000000000..a09c46e55e41179a7adeb4d932453df94c14ffc0
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.dll.config
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<configuration>
+	<!-- If you get an HTTP status 407 or 417 error, try one of the following methods to configure BuildAssember
+			 to work with your proxy server so that it can contact the Microsoft Docs cross-reference service to
+			 resolve framework reference links. -->
+
+	<!-- Method 1 (this works most often so try it first) -->
+	<!--	
+	<system.net>
+		<defaultProxy useDefaultCredentials="true">
+			<proxy usesystemdefault="true"/>
+		</defaultProxy>
+	</system.net>
+	-->
+
+	<!-- Method 2 (update the URL for your proxy) -->
+	<!--
+	<system.net>
+		<defaultProxy enabled="true" useDefaultCredentials="true">
+			<proxy bypassonlocal="true" proxyaddress="http://yourproxy:8080" />
+		</defaultProxy>
+	</system.net>
+	-->
+
+	<!-- Method 3 (update the URL for your proxy) -->
+	<!--
+	<system.net>
+		<defaultProxy useDefaultCredentials="true">
+			<proxy scriptLocation="http://your.server.com/proxy.pac" usesystemdefault="true" />
+		</defaultProxy>
+	</system.net>
+	-->
+
+	<!-- Add this element just after the defaultProxy element in the system.net section above if you get an
+			 HTTP 417 error. -->
+	<!--	
+		<settings>
+			<servicePointManager expect100Continue="false" />
+		</settings>
+	-->
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9876288bff82767eba1f402d66e348a8c7937998
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/BuildAssembler.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>BuildAssembler</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Tools.MSBuild.BuildAssembler">
+            <summary>
+            This task is used to run the BuildAssembler tool from MSBuild
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files are located
+            </summary>
+            <value>If not set, no working folder will be set for the build</value>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.ConfigurationFile">
+            <summary>
+            This is used to pass in the configuration filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.ManifestFile">
+            <summary>
+            This is used to pass in the manifest filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.BuildAssemblerInstance">
+            <summary>
+            The build assembler instance
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.Cancel">
+            <summary>
+            Cancel the build
+            </summary>
+            <remarks>The build will terminate as soon as possible after initializing a component or after a
+            topic finishes being generated.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.Execute">
+            <summary>
+            This executes the task
+            </summary>
+            <returns>True on success, false on failure</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.BuildTopics">
+            <summary>
+            This builds the topics based on the configuration and manifest
+            </summary>
+            <returns>True on success, false on failure</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.WriteMessage(Sandcastle.Core.LogLevel,System.String,System.Object[])">
+            <summary>
+            Write a formatted message to the task log with the given parameters
+            </summary>
+            <param name="level">The log level of the message</param>
+            <param name="format">The message format string</param>
+            <param name="args">The list of arguments to format into the message</param>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.config
new file mode 100644
index 0000000000000000000000000000000000000000..d290a579df5f657b191d1dba0db0eac76391ec5b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.config
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <!-- The reflection information file to use -->
+  <reflectionInfo file="..\..\..\TestCaseProject\Doc\Help\Working\reflection.org" />
+
+  <!-- The inherited documentation output filename -->
+  <inheritedDocs file="..\..\..\TestCaseProject\Doc\Help\Working\_InheritedDocs_.xml" />
+
+  <!-- This is used to see duplicate comment key warnings. They can usually
+       be ignored.  Comment this element out to suppress them. -->
+  <showDuplicateWarning />
+
+  <!-- The XML comments file list.  The "cacheSize" attribute represents the
+       size of the index cache (the maximum number of XML comments files in
+       memory). -->
+  <commentsFiles cacheSize="100">
+    <!-- The <import> elements represent XML comments files that act as a
+         source for inherited documentation but are not themselves scanned for
+         <inheritdoc /> tags.  The <scan> elements represent files that will
+         be scanned for the tags and can also contain inherited documentation.
+         For both, a "path" and/or "file" attribute can be specified.  The
+         "path" attribute is used to indicate that all XML files in the folder
+         should be included.  An optional "recurse" attribute can be used to
+         indicate whether or not sub-folders are also search for comments
+         files.  Use a "file" attribute to specify an individual comments
+         file or, when used with "path", the wildcard to match. -->
+
+    <!-- Base .NET Framework XML comments files. -->
+    <import path="%ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\" />
+    <import path="%ProgramFiles(x86)%\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\" />
+
+    <!-- Project XML comments files to scan. -->
+    <scan file="..\..\..\TestCaseProject\Doc\Help\Working\ExtraComments.xml" />
+    <scan file="..\..\..\TestCaseProject\Doc\Help\Working\TestDoc.xml" />
+  </commentsFiles>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.dll
new file mode 100644
index 0000000000000000000000000000000000000000..6dc6ee30f9f28e194c872a8263ae55ff5ca9e6dc
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6d0a200f9a64e173c7190d0dc60a273f6d76fc6f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/GenerateInheritedDocs.xml
@@ -0,0 +1,247 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>GenerateInheritedDocs</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs">
+            <summary>
+            This class represents the task that scans XML comments files for <b>&lt;inheritdoc /&gt;</b> tags and
+            produces a new XML comments file containing the inherited documentation for use by Sandcastle.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.ConfigurationFile">
+            <summary>
+            This is used to set the configuration file to use from the MSBuild project file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.Execute">
+            <summary>
+            This is used to execute the task and generate the inherited documentation
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.LoadConfiguration(System.String)">
+            <summary>
+            Load the configuration file
+            </summary>
+            <param name="configFile">The configuration file to load</param>
+            <exception cref="T:System.ArgumentException">This is thrown if the configuration file does not exist or is not valid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.ScanCommentsFiles">
+            <summary>
+            This scans the XML comments files for &lt;inheritdoc /&gt; tags and adds the inherited documentation
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.InheritDocumentation(System.Xml.XmlNode)">
+            <summary>
+            This is used to generate the inherited documentation for the given member.  Only tags at the root
+            level are processed here.
+            </summary>
+            <param name="member">The member for which to inherit documentation</param>
+            <remarks>This will recursively expand documentation if a base member's comments are present in the
+            generation list.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.MergeComments(System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathNavigator,System.String)">
+            <summary>
+            Merge the XML comments from one member into another
+            </summary>
+            <param name="fromMember">The member from which to merge comments</param>
+            <param name="toMember">The member into which the comments merged</param>
+            <param name="filter">The selection filter</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.InheritNestedDocumentation(System.Xml.XmlNode)">
+            <summary>
+            This is used to generate the inherited documentation nested within other documentation elements of
+            the given member.  Only nested tags are processed here.
+            </summary>
+            <param name="member">The member for which to inherit documentation</param>
+            <remarks>Unlike root level elements, if the inherited nested documentation contains <c>inheritdoc</c>
+            tags, they will not be handled recursively.  Note that common elements such as <c>param</c> are
+            inherited automatically at the root level so there's no need to use <c>inheritdoc</c> within them
+            unless you want to include something specific using a filter.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.LocateBaseDocumentation(System.String,System.String)">
+            <summary>
+            Locate and merge the documentation from the base member(s)
+            </summary>
+            <param name="name">The member name</param>
+            <param name="cref">An optional member name from which to inherit
+            the documentation.</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles">
+            <summary>
+            This is used to load one or more reflection data files used to look up API information
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.Count">
+            <summary>
+            This returns the number of reflection files
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.AddReflectionFile(System.String)">
+            <summary>
+            Add a reflection file to use for API information
+            </summary>
+            <param name="filename">The file to add</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.SelectSingleNode(System.String)">
+            <summary>
+            Find the single node that matches the given XPath query
+            </summary>
+            <param name="xpath">The XPath query used to find the node</param>
+            <returns>The node if found or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.Select(System.String)">
+            <summary>
+            Find all nodes that matches the given XPath query
+            </summary>
+            <param name="xpath">The XPath query used to find nodes</param>
+            <returns>An enumerable list of matching nodes</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs">
+            <summary>
+            This is used by the comments cache to report a warning message
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.Message">
+            <summary>
+            The message to report
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="text">The message text</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache">
+            <summary>
+            This is used to cache indexed XML comments files
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile">
+            <summary>
+            This represents an indexed XML comments file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.Item(System.String)">
+            <summary>
+            This read-only property returns the XPath navigator for the specified key
+            </summary>
+            <param name="key">The key to look up</param>
+            <returns>The XPath navigator associated with the key</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.#ctor(SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="cache">The cache with which this indexed document is associated</param>
+            <param name="filename">The name of the XML comments file to index</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCount">
+            <summary>
+            This read-only property returns the number of items indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.FilesIndexed">
+            <summary>
+            This read-only property returns the number of comments files that were indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ShowDuplicatesWarning">
+            <summary>
+            This is used to get or set whether or not duplicate entry warnings are generated
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.AllKeys">
+            <summary>
+            This read-only property returns all keys in the index
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.Item(System.String)">
+            <summary>
+            This read-only property returns the comments for the specified key
+            </summary>
+            <param name="key">The key for which to retrieve comments</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathNavigator"/> for the comments or null if not found.</returns>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning">
+            <summary>
+            This is used by the cache to report duplicate key warnings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.OnReportWarning(SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs)">
+            <summary>
+            This is used to raise the <see cref="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning" /> event
+            </summary>
+            <param name="args">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.#ctor(System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="size">The maximum size of the cache</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.LoadXmlCommentsFile(System.String)">
+            <summary>
+            This loads an XML comments file and handles redirection
+            </summary>
+            <param name="filename">The XML comments file to load</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathDocument"/> instance for the loaded XML comments file or null if it could
+            not be loaded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCommentsFiles(System.String,System.String,System.Boolean,System.Collections.Concurrent.ConcurrentBag{System.Xml.XPath.XPathNavigator})">
+            <summary>
+            Index all comments files found in the specified folder.
+            </summary>
+            <param name="path">The path to search.  If null or empty, the current directory is assumed.</param>
+            <param name="wildcard">The wildcard to use.  If null or empty, "*.xml" is assumed.</param>
+            <param name="recurse">True to recurse subfolders or false to only use the given folder.</param>
+            <param name="commentsFiles">Optional.  If not null, an <see cref="T:System.Xml.XPath.XPathDocument"/> is added to the
+            collection for each file indexed.</param>
+            <remarks>The files are indexed in parallel.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetKeys(System.String)">
+            <summary>
+            This returns an enumerable list of all key values from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key values in the given file</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetValues(System.String)">
+            <summary>
+            This returns an enumerable list of all key/value pairs from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key/value values in the given file</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException">
+            <summary>
+            This exception class is thrown by the application if it encounters an unrecoverable error
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String,System.Exception)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/MRefBuilder.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/MRefBuilder.config
new file mode 100644
index 0000000000000000000000000000000000000000..980e3aa6925e3b8db42293cb8c89283765204cf9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/MRefBuilder.config
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+	<dduetools>
+		<!-- This element is used to define the platform type and version information for use in generating
+				 reflection information that is accurate for the selected framework type.  The framework and version
+				 attribute values correspond to one of the framework sets defined in the Frameworks.xml file.  Using
+				 this method allows for automatic referencing of core framework assemblies as well as automatic
+				 binding redirection from older versions to the defined version for all assemblies in the framework's
+				 assembly set (i.e. automatically redirecting the RIA SDK dependencies from the Silverlight 4 versions to
+				 the Silverlight 5 versions when producing information for a Silverlight 5 project that uses the RIA SDK). -->
+		<platform framework=".NETFramework" version="4.7.2" />
+
+		<resolver type="Sandcastle.Tools.Reflection.AssemblyResolver" use-gac="false">
+			<!-- Add an assemblyBinding element to define binding redirects.  The dependentAssembly elements can
+			specify that redirects should be imported from an application or web config file, a redirect for
+			a range of versions, or a redirect for a single version.  Examples are shown below. -->
+			<!--
+			<assemblyBinding>
+				<dependentAssembly importFrom=".\Web.config" />
+
+				<dependentAssembly>
+					<assemblyIdentity name="NationalInstruments.Common" publicKeyToken="4544464cdeaab541" />
+					<bindingRedirect oldVersion="1.0.0.0-8.1.20.168" newVersion="8.1.20.237" />
+				</dependentAssembly>
+
+				<dependentAssembly>
+					<assemblyIdentity name="MyCompany.Util.ComponentFactory" publicKeyToken="E1458197622051B1"
+						culture="neutral"/>
+					<bindingRedirect oldVersion="1.2.3.4" newVersion="2.1.4.3"/>
+				</dependentAssembly>
+			</assemblyBinding>
+			-->
+			<!-- Add this element to ignore assemblies if they cannot be resolved and you do not have a copy of the
+					 assembly (i.e. the Crystal Reports licensing and Visual Studio test playback assemblies. -->
+			<ignoreIfUnresolved>
+				<assemblyIdentity name="BusinessObjects.Licensing.KeycodeDecoder" />
+				<assemblyIdentity name="Microsoft.VisualStudio.TestTools.UITest.Playback" />
+			</ignoreIfUnresolved>
+		</resolver>
+
+		<!--
+		<namer type="Sandcastle.Tools.Reflection.OrcasNamer" />
+		-->
+
+		<!-- Additional component locations (reflection data, etc.)
+		<componentLocations>
+			<location folder="C:\AdditonalReflectionData" />
+		</componentLocations> -->
+
+		<addins>
+			<addin type="Sandcastle.Tools.XamlAttachedMembersAddIn" />
+			<addin type="Sandcastle.Tools.ExtensionMethodAddIn" />
+		</addins>
+
+		<!-- This specifies the base path to the source code.  If set, source code context information (filename and
+				 line number) will be included in the reflection data when possible.  An up-to-date program database
+				 (PDB) file is required.  If the warning option is set to true, missing source context information for
+				 types are reported as warnings rather than as informational messages.
+		<sourceContext basePath="C:\Path\To\Source" warnOnMissingSourceContext="false" /> -->
+
+		<!-- This defines which members to include in the reflection data based on visibility -->
+		<visibility>
+			<!-- Include attributes.  When false, certain required attributes will still be included. -->
+			<attributes expose="true" />
+			<!-- Include explicit interface implementations -->
+			<explicitInterfaceImplementations expose="true" />
+			<!-- Include inherited members -->
+			<inheritedMembers expose="true" />
+			<!-- Include inherited framework members.  For this to work, InheritedMembers must also be enabled. -->
+			<inheritedFrameworkMembers expose="true" />
+			<!-- Include inherited internal framework members.  For this to work Internals and
+					 InheritedFrameworkMembers must also be enabled. -->
+			<inheritedFrameworkInternalMembers expose="false" />
+			<!-- Include inherited private framework members.  For this to work Privates and InheritedFrameworkMembers
+					 must also be enabled. -->
+			<inheritedFrameworkPrivateMembers expose="false" />
+			<!-- Include internal members -->
+			<internals expose="false" />
+			<!-- Include private members -->
+			<privates expose="false" />
+			<!-- Include private fields.  For this to work, Privates must also be enabled. -->
+			<privateFields expose="false" />
+			<!-- Include protected members -->
+			<protected expose="true" />
+			<!-- Include protected members of sealed classes.  For this to work, Protected must also be enabled. -->
+			<sealedProtected expose="false" />
+			<!-- Include "protected internal" members as "protected" only -->
+			<protectedInternalAsProtected expose="true" />
+			<!-- Include "no-PIA" COM types, those marked with CompilerGeneratedAttribute and TypeIdentifierAttribute -->
+			<noPIATypes expose="false" />
+			<!-- Include public compiler generated types/members -->
+			<publicCompilerGenerated expose="false" />
+			<!-- Include types and members marked with an EditorBrowsableAttribute set to Never -->
+			<editorBrowsableNever expose="false" />
+			<!-- Include types and members marked with a BrowsableAttribute set to False -->
+			<nonBrowsable expose="true" />
+			<!-- Internal members from base types in other assemblies and private members from base types -->
+			<internalAndPrivateIfExternal expose="false" />
+		</visibility>
+
+		<!--
+    <apiFilter expose="true">
+      <namespace name="System" expose="true">
+        <type name="Object" expose="false">
+          <member name="ToString" expose="true" />
+        </type>
+      </namespace>
+    </apiFilter>
+    -->
+
+		<attributeFilter expose="true">
+			<!-- All attributes in the System namespace are included by default.  However, we need to indicate that for
+					 these two attributes, they are required and should never be excluded. -->
+			<namespace name="System" expose="true">
+				<!-- This is required to document Flags enumerated types -->
+				<type name="FlagsAttribute" required="true" />
+				<!-- This is required to document obsolete API members -->
+				<type name="ObsoleteAttribute" required="true" />
+				<!-- This one is required to find parameter array parameters on methods -->
+				<type name="ParamArrayAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="SerializableAttribute" required="true"/>
+			</namespace>
+			<!-- Most attributes in System.ComponentModel control designer behavior. Don't show them.
+					 The exceptions are attributes relating to data binding. Do show them. -->
+			<namespace name="System.ComponentModel" expose="false">
+				<type name="BindableAttribute" expose="true"/>
+				<type name="BrowsableAttribute" expose="true"/>
+				<type name="ComplexBindingPropertiesAttribute" expose="true"/>
+				<type name="DataObjectAttribute" expose="true"/>
+				<type name="DefaultBindingPropertyAttribute" expose="true"/>
+				<type name="ListBindableAttribute" expose="true"/>
+				<type name="LookupBindingPropertiesAttribute" expose="true"/>
+				<type name="SettingsBindableAttribute" expose="true"/>
+				<!-- This is required by the XAML usage syntax component  -->
+				<type name="TypeConverterAttribute" required="true"/>
+				<!-- These may provide useful information too -->
+				<type name="DefaultEventAttribute" expose="true"/>
+				<type name="DefaultPropertyAttribute" expose="true"/>
+				<type name="DefaultValueAttribute" expose="true"/>
+				<type name="DesignerSerializationVisibilityAttribute" expose="true"/>
+				<type name="EditorAttribute" expose="true"/>
+				<type name="EditorBrowsableAttribute" expose="true"/>
+				<type name="ExtenderProvidedProperty" expose="true"/>
+				<type name="ProvideProperty" expose="true"/>
+			</namespace>
+			<namespace name="System.ComponentModel.Design" expose="false" />
+			<namespace name="System.ComponentModel.Design.Serialization" expose="false" />
+			<!-- Most attributes in System.Diagnostics control debugger behavior. Don't show them. -->
+			<namespace name="System.Diagnostics" expose="false">
+				<type name="ConditionalAttribute" expose="true"/>
+				<type name="EventLogPermissionAttribute" expose="true"/>
+				<type name="PerformanceCounterPermissionAttribute" expose="true"/>
+			</namespace>
+			<!-- Attributes in System.Diagnostics.CodeAnalysis control interaction with FxCop. Don't show them. -->
+			<namespace name="System.Diagnostics.CodeAnalysis" expose="false" />
+			<!-- Attributes in System.EnterpriseServices control obscure details of COM+ interop. Don't show them. -->
+			<namespace name="System.EnterpriseServices" expose="false" />
+			<namespace name="System.Reflection" expose="true">
+				<!-- The DefaultMember attribute is usually compiler-generated. Users will see it from the member syntax. -->
+				<type name="DefaultMemberAttribute" expose="false" />
+				<!-- These two are required by the document model transformations -->
+				<type name="AssemblyInformationalVersionAttribute" required="true" />
+				<type name="AssemblyFileVersionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime" expose="false" />
+			<!-- Attributes in System.Runtime.CompilerServices control obscure details of compilation but there are a
+					 couple of required attributes and some that may be useful. -->
+			<namespace name="System.Runtime.CompilerServices" expose="false">
+				<!-- This is required to document extension methods -->
+				<type name="ExtensionAttribute" required="true" />
+				<!-- This is required to document fixed buffers -->
+				<type name="FixedBufferAttribute" required="true" />
+				<!-- This is required to document readonly structs -->
+				<type name="IsReadOnlyAttribute" required="true" />
+				<!-- This is required to document ref structs -->
+				<type name="IsByRefLikeAttribute" required="true" />
+				<!-- These may provide useful information -->
+				<type name="CallerFilePathAttribute" expose="true" />
+				<type name="CallerLineNumberAttribute" expose="true" />
+				<type name="CallerMemberNameAttribute" expose="true" />
+				<type name="UnsafeValueTypeAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.ConstrainedExecution control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime.ConstrainedExecution" expose="false" />
+			<!-- Most attributes in System.Runtime.InteropServices control obscure details of COM interop but there are
+					 some that are useful. -->
+			<namespace name="System.Runtime.InteropServices" expose="false">
+				<type name="ClassInterfaceAttribute" expose="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="ComImportAttribute" required="true"/>
+				<type name="ComVisibleAttribute" expose="true"/>
+				<type name="DispIdAttribute" expose="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="DllImportAttribute" required="true"/>
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="FieldOffsetAttribute" required="true"/>
+				<type name="GuidAttribute" expose="true"/>
+				<type name="InterfaceTypeAttribute" expose="true"/>
+				<!-- This is required to document optional parameters -->
+				<type name="OptionalAttribute" required="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="PreserveSigAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="StructLayoutAttribute" required="true"/>
+				<type name="TypeIdentifierAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.Versioning control details of resource loading. Don't show them. -->
+			<namespace name="System.Runtime.Versioning" expose="false" />
+			<!-- Attributes in System.Security might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security" expose="false">
+				<type name="SecurityCriticalAttribute" expose="true" />
+				<type name="SecurityTreatAsSafeAttribute" expose="true" />
+				<!-- This is required by the document model transformations  -->
+				<type name="AllowPartiallyTrustedCallersAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Security.Permissions might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security.Permissions" expose="false">
+				<!-- This is required by the presentation styles  -->
+				<type name="HostProtectionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Web.Compilation control interaction with the Expression designer. Don't show them. -->
+			<namespace name="System.Web.Compilation" expose="false" />
+			<!-- The ASP.NET team only wants these attributes exposed from their namespace. -->
+			<namespace name="System.Web.UI" expose="false">
+				<type name="ControlValuePropertyAttribute" expose="true"/>
+				<!-- This is required by the ASP.NET syntax component -->
+				<type name="PersistenceModeAttribute" required="true" />
+				<type name="ValidationPropertyAttribute" expose="true"/>
+				<type name="WebResourceAttribute" expose="true"/>
+				<type name="TemplateContainerAttribute" expose="true"/>
+				<type name="ThemeableAttribute" expose="true"/>
+				<type name="TemplateInstanceAttribute" expose="true"/>
+			</namespace>
+			<!-- Don't show attributes related to XAML serialization details. -->
+			<namespace name="System.Windows.Markup" expose="true">
+				<!-- This is required by the XAML syntax data transformation -->
+				<type name="ContentPropertyAttribute" required="true" />
+				<type name="ConstructorArgumentAttribute" expose="false" />
+				<type name="DependsOnAttribute" expose="false" />
+				<type name="DesignerSerializationOptionsAttribute" expose="false" />
+				<type name="ValueSerializerAttribute" expose="false" />
+				<type name="XmlnsCompatibleWithAttribute" expose="false" />
+				<type name="XmlnsDefinitionAttribute" expose="false" />
+				<type name="XmlnsPrefixAttribute" expose="false" />
+			</namespace>
+			<!-- The GeneratedCodeAttribute is useful only to tools, and should be hidden from end users.-->
+			<namespace name="System.CodeDom.Compiler" expose="true">
+				<type name="GeneratedCodeAttribute" expose="false" />
+			</namespace>
+		</attributeFilter>
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/MRefBuilder.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/MRefBuilder.dll
new file mode 100644
index 0000000000000000000000000000000000000000..428ec3545bb13591cae39989375d0d934302006a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/MRefBuilder.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.Bcl.AsyncInterfaces.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.Bcl.AsyncInterfaces.dll
new file mode 100644
index 0000000000000000000000000000000000000000..abe9406cb8df8956186ecf3c41373bcb675b1493
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.Bcl.AsyncInterfaces.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.DiaSymReader.PortablePdb.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.DiaSymReader.PortablePdb.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0d072c74a3a2d3a8d735b76233146c518af430c8
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.DiaSymReader.PortablePdb.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.DiaSymReader.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.DiaSymReader.dll
new file mode 100644
index 0000000000000000000000000000000000000000..5df7d9942a383dbb7404a062613ef0153a4b6507
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Microsoft.DiaSymReader.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Sandcastle.Core.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Sandcastle.Core.dll
new file mode 100644
index 0000000000000000000000000000000000000000..09007d59e815c0577f92d97bfb9056d7bcfced19
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Sandcastle.Core.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Sandcastle.Core.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Sandcastle.Core.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2691f775ca6a09e12f963cffa8d1dd4b62d1215a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/Sandcastle.Core.xml
@@ -0,0 +1,3589 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Sandcastle.Core</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildAssemblerCore">
+            <summary>
+            This class contains the build context and the build components
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.BuildComponents">
+            <summary>
+            This read-only property returns the current list of build components
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.VerbosityLevel">
+            <summary>
+            The verbosity level for the message handlers
+            </summary>
+            <value>The value can be set to <c>Info</c>, <c>Warn</c>, or <c>Error</c>.  The default level
+            is <see cref="F:Sandcastle.Core.BuildAssembler.MessageLevel.Info"/> so that all messages are displayed.  Setting it to a higher
+            level will suppress messages below the given level.</value>
+            <remarks>It is up to the message handler to make use of this property</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.#ctor">
+            <summary>
+            Private default constructor to satisfy MEF composition
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.#ctor(System.Action{Sandcastle.Core.LogLevel,System.String})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="messageLogger">The message logger action</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Dispose(System.Boolean)">
+            <summary>
+            Dispose of all components when being disposed
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="E:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ComponentEvent">
+            <summary>
+            This event is raised when a component wants to signal that something of interest has happened
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.OnComponentEvent(System.Object,System.EventArgs)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ComponentEvent"/> event
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments.  This may be <see cref="F:System.EventArgs.Empty"/> or a derived event
+            arguments class containing information for the event handlers.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Cancel">
+            <summary>
+            This is used to cancel the build
+            </summary>
+            <remarks>The build will terminate as soon as possible after initializing a component or after a
+            topic finishes being generated.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Execute(System.String,System.String)">
+            <summary>
+            This is used to execute the build assembler instance using the specified configuration file and
+            manifest file.
+            </summary>
+            <param name="configurationFile">The build assembler configuration file</param>
+            <param name="manifest">The manifest file</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ReadManifest(System.String)">
+            <summary>
+            This is used to read a manifest file to extract topic IDs for processing
+            </summary>
+            <param name="manifest">The manifest file to read</param>
+            <returns>An enumerable list of topic IDs</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Apply(System.String)">
+            <summary>
+            Apply the current set of components to the topics defined in the given manifest file
+            </summary>
+            <param name="manifestFile">The manifest file containing the topics to generate</param>
+            <returns>A count of the number of topics processed</returns>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Apply(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.ManifestTopic})">
+            <summary>
+            Apply the current set of components to the given list of topics
+            </summary>
+            <param name="topics">The enumerable list of topic IDs</param>
+            <returns>A count of the number of topics processed</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.AddComponents(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Add a set of components based on the given configuration
+            </summary>
+            <param name="configuration">The configuration containing the component definitions</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ClearComponents">
+            <summary>
+            Dispose of all components and clear them from the collection
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.LoadComponents(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to load a set of components in a configuration and return them as an enumerable list
+            </summary>
+            <param name="configuration">The configuration node from which to get the components</param>
+            <returns>An enumerable list of components created based on the configuration information</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.LoadComponent(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create a component based on the given configuration
+            </summary>
+            <param name="configuration">The component configuration</param>
+            <returns>A component created using the given definition</returns>
+            <exception cref="T:System.ArgumentNullException">This is thrown if <paramref name="configuration"/> is null</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.CreateComponentContainer(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create a composition container filled with the available build components
+            </summary>
+            <param name="componentLocations">The component locations configuration node</param>
+            <remarks>If any component locations are specified, they are searched recursively for component
+            assemblies in the order given.  The custom components and tools folders are added last if not already
+            specified as one of the component locations.  There may be duplicate component IDs across the
+            assemblies found.  Only the first component for a unique ID will be used.  As such, assemblies in a
+            folder that appears earlier in the list can override copies in folders lower in the list.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.AddAssemblyCatalogs(System.ComponentModel.Composition.Hosting.AggregateCatalog,System.String,System.Collections.Generic.HashSet{System.String},System.Boolean)">
+            <summary>
+            This adds assembly catalogs to the given aggregate catalog for the given folder and all of its
+            subfolders recursively.
+            </summary>
+            <param name="catalog">The aggregate catalog to which the assembly catalogs are added.</param>
+            <param name="folder">The root folder to search.  It and all subfolders recursively will be searched
+            for assemblies to add to the aggregate catalog.</param>
+            <param name="searchedFolders">A hash set of folders that have already been searched and added.</param>
+            <param name="includeSubfolders">True to search subfolders recursively, false to only search the given
+            folder.</param>
+            <remarks>It is done this way to prevent a single assembly that would normally be discovered via a
+            directory catalog from preventing all assemblies from loading if it cannot be examined when the parts
+            are composed (i.e. trying to load a Windows Store assembly on Windows 7).</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.LogMessage(Sandcastle.Core.BuildAssembler.MessageLevel,System.String)">
+            <summary>
+            This is a helper method used to create log message tuples
+            </summary>
+            <param name="level">The log level</param>
+            <param name="message">The message</param>
+            <returns>A tuple containing the log level and the message</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.WriteMessage(Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.Object[])">
+            <summary>
+            Write a message to the message log
+            </summary>
+            <param name="level">The message level</param>
+            <param name="message">The message to write</param>
+            <param name="args">An optional list of arguments to format into the message</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.WriteMessage(System.Type,Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.String)">
+            <summary>
+            Write a component message to the message log
+            </summary>
+            <param name="type">The component type making the request</param>
+            <param name="level">The message level</param>
+            <param name="key">An optional topic key related to the message or null if there isn't one</param>
+            <param name="message">The message to write to the console</param>
+            <remarks>If the message level is below the current verbosity level setting, the message is ignored</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponentUtilities">
+            <summary>
+            This class contains a set of utility extension methods that can be used by build components
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.GetExceptionMessage(System.Exception)">
+            <summary>
+            This is used to get the message strings from an exception and any of its inner exceptions
+            </summary>
+            <param name="exception">The exception from which to get the message</param>
+            <returns>The exception message along with any inner exception messages</returns>
+            <remarks><see cref="T:System.Xml.XmlException"/> and <see cref="T:System.Xml.Xsl.XsltException"/> messages will be returned with
+            line number, line position, and source URI information.</remarks>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the <paramref name="exception"/> argument
+            is null</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.GetInnerXml(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to get the inner XML of a node without changing the spacing
+            </summary>
+            <param name="node">The node from which to get the inner XML</param>
+            <returns>The inner XML as a string with its spacing preserved</returns>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the <paramref name="node"/> parameter
+            is null.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.ToArray(System.Xml.XPath.XPathNodeIterator)">
+            <summary>
+            Convert an XPath node iterator to an array
+            </summary>
+            <param name="iterator">The XPath iterator to convert to an array</param>
+            <returns>An array with the cloned nodes from the iterator</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.EvalXPathExpr(System.Xml.XPath.IXPathNavigable,System.Xml.XPath.XPathExpression,Sandcastle.Core.BuildAssembler.CustomContext)">
+            <summary>
+            This is used to get the string result from evaluating an XPath expression against the given
+            document and context.
+            </summary>
+            <param name="document">The document to use</param>
+            <param name="expression">The XPath expression to evaluate</param>
+            <param name="context">The context to use</param>
+            <returns>The evaluated expression result</returns>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.EvalXPathExpr(System.Xml.XPath.IXPathNavigable,System.Xml.XPath.XPathExpression,System.String[])">
+            <summary>
+            This is used to get the string result from evaluating an XPath expression against the given document
+            and a context created from a set of key/value pairs.
+            </summary>
+            <param name="document">The document to use</param>
+            <param name="expression">The XPath expression to evaluate</param>
+            <param name="keyValuePairs">A set of key/value pairs to use when creating the context</param>
+            <returns>The evaluated expression result</returns>
+            <example>
+            <code language="cs">
+            string result = document.EvalXPathExpr("concat($key, '.htm')", "key", "filename");
+            </code>
+            </example>
+            <exception cref="T:System.ArgumentException">This is thrown if the <paramref name="keyValuePairs"/>
+            parameter contains an odd number of parameters.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.GetRelativePath(System.String,System.String)">
+            <summary>
+            This returns the path argument adjusted to be relative to the base path. Absolute path names will
+            be returned unchanged.
+            </summary>
+            <param name="path">The path to adjust including the filename</param>
+            <param name="basePath">The base path to use including the filename</param>
+            <returns>The path argument as a path relative to the given base path</returns>
+            <example>
+            <code language="none" title=" ">
+            path:     "xxx/aaa/target.html"
+            basePath: "xxx/bbb/source.html"
+            result:   "../aaa/target.html"
+            </code>
+            </example>
+            <remarks>This assumes that the path separator is "/" and that both paths include a filename</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.IsLegalXmlText(System.String)">
+            <summary>
+            This is used to confirm that the specified text only contains legal XML characters
+            </summary>
+            <param name="text">The text to check</param>
+            <returns>True if all characters are legal XML characters, false if not</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore">
+            <summary>
+            This is the abstract base class for all build components
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.BuildAssembler">
+            <summary>
+            This read-only property returns a reference to the build assembler instance using the component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Data">
+            <summary>
+            This read-only property returns a static dictionary that can be used to store information shared
+            between build components.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.GroupId">
+            <summary>
+            This is used to set an optional group ID for use with component events
+            </summary>
+            <value>If not overridden, the default group ID is null (no group)</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the build component if not done
+            explicitly with <see cref="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the build component.
+            </summary>
+            <overloads>There are two overloads for this method.</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Dispose(System.Boolean)">
+            <summary>
+            This can be overridden by derived classes to add their own disposal code if necessary.
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Initialize(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This abstract method must be overridden to initialize the component
+            </summary>
+            <param name="configuration">The component configuration</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This abstract method must be overridden to apply the build component's changes to the specified
+            document.
+            </summary>
+            <param name="document">The document that the build component can modify</param>
+            <param name="key">The key that uniquely identifies the document</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.OnComponentEvent(System.EventArgs)">
+            <summary>
+            This can be used to raise the <see cref="E:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ComponentEvent"/>
+            event with the specified event arguments.
+            </summary>
+            <param name="e">The event arguments.  This can be <see cref="F:System.EventArgs.Empty"/> or a derived event
+            arguments class containing information to pass to the event handlers.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.WriteMessage(Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.Object[])">
+            <summary>
+            This can be used to report a message
+            </summary>
+            <param name="level">The message level</param>
+            <param name="message">The message to report</param>
+            <param name="args">An optional list of arguments to format into the message</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.WriteMessage(System.String,Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.Object[])">
+            <summary>
+            This can be used to report a message for a specific topic ID
+            </summary>
+            <param name="key">The topic key related to the message</param>
+            <param name="level">The message level</param>
+            <param name="message">The message to report</param>
+            <param name="args">An optional list of arguments to format into the message</param>
+            <remarks>This is useful for warning and error messages as the topic ID will be included even when
+            the message level is set to warnings or higher.  In such cases, the informational messages containing
+            the "building topic X" messages are suppressed.</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuildAssembler build components.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the build component ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.IsVisible">
+            <summary>
+            This is used to get or set whether or not the component is visible to configuration tools
+            </summary>
+            <remarks>Configuration tools can use this to exclude components that should not appear for the user
+            to select.  It is false by default.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Version">
+            <summary>
+            This is used to get or set the build component version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required build component ID</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory">
+            <summary>
+            This is an abstract base class that defines the factory method for build components as well as build
+            tool interaction methods.
+            </summary>
+            <remarks>Build components are non-shared and instances are created as needed</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.BuildAssembler">
+            <summary>
+            This is used to import the build assembler instance that is passed to the build component when it
+            is created.
+            </summary>
+            <value>This may be null when used in a configuration tool which only needs access to the
+            configuration methods on the factory class.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.Dependencies">
+            <summary>
+            This read-only property can be overridden to provide a list of build components on which this
+            component depends.
+            </summary>
+            <value>If the indicated components do not exist in the project settings or in the configuration file
+            already, the build tool can use this information to add them automatically with a default
+            configuration.  It returns an empty list by default.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.ReferenceBuildPlacement">
+            <summary>
+            This is used to get or set a placement action for reference content builds
+            </summary>
+            <value>The default is to not place the component.  Components that are exposed to build tools should
+            set this to define a proper placement action.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.ConceptualBuildPlacement">
+            <summary>
+            This is used to get or set a placement action for conceptual content builds
+            </summary>
+            <value>The default is to not place the component.  Components that are exposed to build tools should
+            set this to define a proper placement action.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.DefaultConfiguration">
+            <summary>
+            This read-only property can be overridden to define a default configuration for the build component
+            </summary>
+            <value>It returns an empty string by default</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.Create">
+            <summary>
+            This is implemented to provide a build component factory
+            </summary>
+            <returns>A new instance of a build component</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement">
+            <summary>
+            This is used to define the placement of a build component within a BuildAssembler configuration file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement">
+            <summary>
+            This read-only property returns the placement action value
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Id">
+            <summary>
+            This read-only property returns the ID of the component related to the <see cref="T:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction"/>
+            if applicable.
+            </summary>
+            <value>This only has meaning for the <c>Before</c>, <c>After</c>, and <c>Replace</c>
+            <see cref="T:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction"/>.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Instance">
+            <summary>
+            This read-only property returns the instance of the component to replace, insert before, or insert
+            after.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.AdjustedInstance">
+            <summary>
+            This property is used to get or set the instance of the component to replace, insert before, or
+            insert after adjusted for other components that have already been processed.
+            </summary>
+            <value>This is a property for use by designers and build tools</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+            <remarks>The <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement"/> is set to <c>None</c></remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction,System.String)">
+            <summary>
+            Constructor.  Indicate the placement action and an optional component ID related to it if needed.
+            </summary>
+            <param name="placement">The placement action to use</param>
+            <param name="id">A build component ID for use with the <c>Before</c>, <c>After</c>, or
+            <c>Replace</c> <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement"/> action.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if <c>Before</c>, <c>After</c>, or <c>Replace</c>
+            is specified without an ID or if one is specified with <c>None</c>, <c>Start</c>, or <c>End</c>.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction,System.String,System.Int32)">
+            <summary>
+            Constructor.  Indicate the placement action, component ID, and instance to act on.
+            </summary>
+            <param name="placement">The placement action to use</param>
+            <param name="id">A build component ID for use with the <c>Before</c>, <c>After</c>, or
+            <c>Replace</c> <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement"/> action.</param>
+            <param name="instance">The instance to use with the placement option</param>
+            <exception cref="T:System.ArgumentException">This is thrown if <c>Before</c>, <c>After</c>, or <c>Replace</c>
+            is specified without an ID or if instance is less than one.</exception>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore">
+            <summary>
+            This abstract class is used to create copy components used in other build components such as
+            <c>CopyFromIndexComponent</c>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.ParentBuildComponent">
+            <summary>
+            This read-only property returns a reference to the parent build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parent">The parent build component</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.Initialize(System.Xml.XPath.XPathNavigator,System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            This abstract method must be overridden to initialize the copy component
+            </summary>
+            <param name="configuration">The copy component configuration</param>
+            <param name="data">A dictionary object with string as key and object as value.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This abstract method must be overridden to apply the copy component's changes to the specified
+            document.
+            </summary>
+            <param name="document">The document that the build component can modify</param>
+            <param name="key">The key that uniquely identifies the document</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuildAssembler copy components.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the copy component ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Version">
+            <summary>
+            This is used to get or set the copy component version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the copy component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required copy component ID</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata">
+            <summary>
+            This class defines the metadata for a BuildAssembler build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.IsVisible">
+            <summary>
+            This read-only property returns true if the build component is visible to configuration tools
+            </summary>
+            <remarks>Configuration tools can use this to exclude components that should not appear for the user
+            to select.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Version">
+            <summary>
+            This read-only property returns the version of the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the build component
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentFactory">
+            <summary>
+            This interface defines the factory method for copy components
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentFactory.Create(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore)">
+            <summary>
+            This is implemented to provide a syntax generator factory
+            </summary>
+            <param name="parent">The parent build component</param>
+            <returns>A new instance of a syntax generator</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata">
+            <summary>
+            This class defines the metadata for a BuildAssembler build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Version">
+            <summary>
+            This read-only property returns the version of the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the copy component
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver">
+            <summary>
+            This defines the interface used to resolve an API member ID to an online help website URL
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.Locale">
+            <summary>
+            This is used to get or set the locale for the reference links if applicable to the resolver
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.IsDisposed">
+            <summary>
+            This read-only property can be used to determine whether or not the resolver has been disposed
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.IsDisabled">
+            <summary>
+            This read-only property indicates whether or not the resolver is disabled
+            </summary>
+            <value>If true, reference links cannot be looked up</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.DisabledReason">
+            <summary>
+            This read-only property returns the reason the resolver is disabled if <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.IsDisabled"/>
+            returns true.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.CachedUrls">
+            <summary>
+            This read-only property returns the URL cache
+            </summary>
+            <remarks>The key is the member ID, the value is the member URL</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.CacheItemsAdded">
+            <summary>
+            This read-only property is used to return the number of items added to the cache during the latest
+            run.
+            </summary>
+            <value>Returns a non-zero number if items were added or zero if no new items were added or errors
+            occurred that invalidate the updates made.  This can be used to determine if the cache should be
+            persisted in some fashion.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.ResolveUrlForId(System.String)">
+            <summary>
+            This is used to get the help website URL for the given .NET Framework member ID
+            </summary>
+            <param name="id">The member ID to look up</param>
+            <returns>The URL for the member ID or null if not found or an error occurred looking it up</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction">
+            <summary>
+            This enumeration defines the build component configuration file placement action values
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.None">
+            <summary>The component is not used in this configuration</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.Start">
+            <summary>Insert the component at the start of the configuration file</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.End">
+            <summary>Insert the component at the end of the configuration file</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.Before">
+            <summary>Place the component before the one indicated</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.After">
+            <summary>Place the component after the one indicated</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.Replace">
+            <summary>Replace the indicated component configuration with this one</summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.ConfigurationEditorExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuilderAssembler component configuration editors.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.ConfigurationEditorExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the component ID
+            </summary>
+            <value>This must match the ID of the build component for which this will provide a configuration
+            editor.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.ConfigurationEditorExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required component ID</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.CustomContext">
+            <summary>
+            This represents a custom XSLT context used by BuildAssembler
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">
+            <summary>
+            This constructor takes a dictionary containing the namespaces (the key is the prefix, the value is
+            the namespace URI).
+            </summary>
+            <param name="namespaces">A dictionary containing the namespaces to add to the context</param>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomContext.Item(System.String)">
+            <summary>
+            Indexer
+            </summary>
+            <param name="variable">The variable value to get or set</param>
+            <returns>The variable value as a string</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ClearVariable(System.String)">
+            <summary>
+            Clear the named variable
+            </summary>
+            <param name="name">The variable to clear</param>
+            <returns>True if successful, false if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ClearVariables">
+            <summary>
+            Clear all variables
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ResolveVariable(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ResolveFunction(System.String,System.String,System.Xml.XPath.XPathResultType[])">
+            <summary>
+            This method is not implemented
+            </summary>
+            <param name="prefix">Not used</param>
+            <param name="name">Not used</param>
+            <param name="argumentTypes">Not used</param>
+            <returns>Not implemented</returns>
+            <exception cref="T:System.NotImplementedException">This method is not implemented</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.CompareDocument(System.String,System.String)">
+            <summary>
+            This method is not used
+            </summary>
+            <param name="baseUri">Not used</param>
+            <param name="nextBaseUri">Not used</param>
+            <returns>This implementation always returns zero</returns>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomContext.Whitespace">
+            <inheritdoc />
+            <value>This implementation always returns true</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.PreserveWhitespace(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+            <remarks>This implementation always returns true</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.CustomVariable">
+            <summary>
+            This represents a custom XSLT variable used by a BuildAssembler <see cref="T:Sandcastle.Core.BuildAssembler.CustomContext"/>
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomVariable.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="value">The variable's value</param>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomVariable.IsLocal">
+            <inheritdoc />
+            <value>This implementation always returns false</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomVariable.IsParam">
+            <inheritdoc />
+            <value>This implementation always returns false</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomVariable.VariableType">
+            <inheritdoc />
+            <value>This implementation always returns <see cref="F:System.Xml.XPath.XPathResultType.String"/></value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomVariable.Evaluate(System.Xml.Xsl.XsltContext)">
+            <inheritdoc />
+            <remarks>This always returns the value of the variable assigned in the constructor</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.IConfigurationEditor">
+            <summary>
+            This class defines the interface used to edit a component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.IConfigurationEditor.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <summary>
+            This method is used to edit a build component configuration
+            </summary>
+            <param name="configuration">An XML element containing the current configuration settings</param>
+            <param name="container">A composition container that holds all of the exported components found
+            by the build tool.  This can be used to locate and work with other components if necessary.</param>
+            <returns>True if the configuration element was updated, false if not</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.IConfigurationEditorMetadata">
+            <summary>
+            This class defines the metadata for a build component configuration editor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.IConfigurationEditorMetadata.Id">
+            <summary>
+            This read-only property returns the ID of the configurable build component
+            </summary>
+            <value>This must match the ID of the build component for which this will provide a configuration editor</value>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.ManifestTopic">
+            <summary>
+            This is used to hold the topic ID and type for a BuildAssembler manifest file entry
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.ManifestTopic.Id">
+            <summary>
+            This read-only property is used to get the topic ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.ManifestTopic.TopicType">
+            <summary>
+            This read-only property is used to get the topic type
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.ManifestTopic.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The topic ID</param>
+            <param name="topicType">The topic type</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.MessageLevel">
+            <summary>
+            This enumerated type defines the message logging levels
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Ignore">
+            <summary>Do not show at all</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Info">
+            <summary>Informational message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Warn">
+            <summary>A warning message (a minor problem)</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Error">
+            <summary>An error message (a major problem that will stop the build)</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Diagnostic">
+            <summary>A diagnostic message, useful for debugging</summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorFactory">
+            <summary>
+            This interface defines the factory method for syntax generators
+            </summary>
+            <remarks>Although not required, syntax generators are non-shared and instances are created as needed.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorFactory.ResourceItemFileLocation">
+            <summary>
+            This read-only property is implemented to return the default and localized resource item file
+            location.
+            </summary>
+            <remarks><para>If it returns null or an empty string, it is assumed the syntax generator has no
+            resource item files.  Otherwise, this will return the folder containing the default and localized
+            resource item files for things such as the title to use for syntax sections and code examples,
+            unsupported language feature messages, etc.</para>
+            
+            <para>The resource item files are like those in the presentation styles.  The root folder contains
+            the default (English) resource item file.  Subfolders, if any, named after each supported language
+            contain the localized version of the file.  In all cases, the file is named using the language ID
+            plus a ".xml" extension.</para></remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorFactory.Create">
+            <summary>
+            This is implemented to provide a syntax generator factory
+            </summary>
+            <returns>A new instance of a syntax generator</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata">
+            <summary>
+            This class defines the metadata for a BuildAssembler syntax generator component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the syntax generator (typically the language name)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.LanguageElementName">
+            <summary>
+            This read-only property is used to get the value used as the XML element name and in resource item
+            IDs used during XSL transformation such as for label text.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.KeywordStyleParameter">
+            <summary>
+            This read-only property is used to get the keyword style parameter value used by the client side
+            script in the topics for language-specific keyword text.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.IsConfigurable">
+            <summary>
+            This read-only property returns true if the syntax generator is configurable or false if it is not
+            </summary>
+            <value>Configuration is handled by the <c>SyntaxComponent</c> build component.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Version">
+            <summary>
+            This read-only property returns the version of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.SortOrder">
+            <summary>
+            This read-only property returns the value that defines the order in which the syntax generators are
+            added the to the configuration file.
+            </summary>
+            <value>The sort order determines the order of the syntax sections in each topic</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.AlternateIds">
+            <summary>
+            This read-only property returns a comma-separated list of alternate language IDs that can be used
+            by designers to translate an alternate ID to the primary <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Id"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.DefaultConfiguration">
+            <summary>
+            This read-only property returns a string containing an XML fragment that defines the default
+            syntax generator configuration if supported.
+            </summary>
+            <value>Designers can use this value as a default if they provide configuration editing support</value>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter">
+            <summary>
+            This is used to write out syntax for managed code
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.Position">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.#ctor(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="location">The location in which to write the output</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteStartBlock(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteStartSubBlock(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteEndBlock">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteEndSubBlock">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteLine">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteString(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteStringWithStyle(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteReferenceLink(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteReferenceLink(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteMessage(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore">
+            <summary>
+            This is the abstract base class for syntax generators
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore.Initialize(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Initialize the syntax generator
+            </summary>
+            <param name="configuration">The syntax generator configuration</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore.WriteSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            This is implemented to write the syntax
+            </summary>
+            <param name="reflection">The reflection data used to generate the syntax</param>
+            <param name="writer">The writer to which the syntax information is written</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuildAssembler syntax generators.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the syntax generator ID (typically the language name)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.LanguageElementName">
+            <summary>
+            This read-only property is used to get the value used as the XML element name and in resource item
+            IDs used during XSL transformation such as for label text.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.KeywordStyleParameter">
+            <summary>
+            This read-only property is used to get the keyword style parameter value used by the client side
+            script in the topics for language specific keyword/separator text.
+            </summary>
+            <value>This will be one of the following: <c>cs</c> (C# or equivalent), <c>vb</c> (VB.NET
+            or equivalent), <c>cpp</c> (C++ or equivalent), <c>fs</c> (F# or equivalent), or a value unique to
+            the language.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.IsConfigurable">
+            <summary>
+            This is used to get or set whether or not the syntax generator is configurable
+            </summary>
+            <value>Configuration is handled by the <c>SyntaxComponent</c> build component.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Version">
+            <summary>
+            This is used to get or set the syntax generator version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.SortOrder">
+            <summary>
+            This is used to get or set the value that defines the order in which the syntax generators are added
+            the to the configuration file.
+            </summary>
+            <value>The sort order determines the order of the syntax sections in each topic</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.AlternateIds">
+            <summary>
+            This is used to get or set a comma-separated list of alternate language IDs that can be used by
+            designers to translate an alternate ID to the primary <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Id"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.DefaultConfiguration">
+            <summary>
+            This is used to get or set a string containing an XML fragment that defines the default syntax
+            generator configuration if supported.
+            </summary>
+            <value>Designers can use this value as a default if they provide configuration editing support</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required plug-in ID</param>
+            <param name="languageElementName">The language element name and resource item ID</param>
+            <param name="keywordStyleParameter">The keyword style parameter value for client side script</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate">
+            <summary>
+            This abstract class is used as the base class for syntax generators
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.MaxPosition">
+            <summary>
+            The maximum line width for the generated syntax
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Language">
+            <summary>
+            This is used to get or set the language name
+            </summary>
+            <value>This is used as the code language name added as an attribute to the <c>div</c>element written
+            to the topics.  The presentation style XSL transformations will also use it to name the
+            language-specific resource items.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.StyleId">
+            <summary>
+            This is used to get or set the style ID
+            </summary>
+            <value>This is used as the code style ID added as an attribute to the <c>div</c>element written
+            to the topics.  The presentation style XSL transformations will use it to group common language
+            elements such as language-specific text and code snippets so that they can be shown and hidden
+            together.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write namespace syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write class syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write structure syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write interface syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write delegate syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write enumeration syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write constructor syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write property syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write field syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write event syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Initialize(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Initialize the syntax generator
+            </summary>
+            <param name="configuration">The syntax generator configuration</param>
+            <remarks>The base implementation just validates that a <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Language"/> and
+            <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.StyleId"/> have been defined.</remarks>
+            <exception cref="T:System.InvalidOperationException">This is thrown if a <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Language"/> or
+            <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.StyleId"/> has not been set.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            This is the main syntax writing method
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteTypeSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write type syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteMemberSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write member syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write method syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write normal method syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write operator syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write cast syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteAttachedPropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write attached property syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteAttachedEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write attached event syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedVarargs(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported variable arguments syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedUnsafe(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported unsafe code syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedGeneric(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported generic types syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedExplicit(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported explicit implementation syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteWithLineBreakIfNeeded(Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter,System.String,System.String)">
+            <summary>
+            This is used to write a string followed by an optional line break if needed (the writer position is
+            past the maximum position afterwards).
+            </summary>
+            <param name="writer">The syntax writer to use</param>
+            <param name="text">An optional text string to write before the new line</param>
+            <param name="indent">An optional indent to write after the line break</param>
+            <returns>True if a new line was written, false if not</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a type reference
+            </summary>
+            <param name="reference">The type reference to output</param>
+            <param name="writer">The syntax writer to which the type reference is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a normal type reference
+            </summary>
+            <param name="api">The type reference to output</param>
+            <param name="writer">The syntax writer to which the type reference is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteConstantValue(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a constant's value
+            </summary>
+            <param name="parent">The parent node</param>
+            <param name="writer">The syntax writer</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter">
+            <summary>
+            This is used as the abstract base class for syntax writers
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.Position">
+            <summary>
+            The current position of the writer
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.RenderReferenceLinks">
+            <summary>
+            This is used to indicate whether or not the syntax writer should render reference links as actual
+            links.
+            </summary>
+            <value>The default is false to render reference link elements as identifiers instead.  If set to
+            true, it will render them as actual clickable links if the target can be resolved.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteStartBlock(System.String,System.String)">
+            <summary>
+            Write a start block
+            </summary>
+            <param name="codeLanguage">The code language of the block</param>
+            <param name="styleId">The style ID of the block</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteStartSubBlock(System.String)">
+            <summary>
+            Write a start sub-block
+            </summary>
+            <param name="classId">The style class ID of the sub-block</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteEndBlock">
+            <summary>
+            Write an end block
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteEndSubBlock">
+            <summary>
+            Write an end sub-block
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteString(System.String)">
+            <summary>
+            Write a string value
+            </summary>
+            <param name="text">The string to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteStringWithStyle(System.String,System.String)">
+            <summary>
+            Write a string value with a style
+            </summary>
+            <param name="text">The string to write</param>
+            <param name="style">The style class ID to use</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteReferenceLink(System.String)">
+            <summary>
+            Write a reference link
+            </summary>
+            <param name="reference">The reference link ID</param>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteReferenceLink(System.String,System.String)">
+            <summary>
+            Write a reference link with inner text
+            </summary>
+            <param name="reference">The reference link ID</param>
+            <param name="text">The inner text of the link</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteMessage(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Write a message include item
+            </summary>
+            <param name="message">The message include item ID</param>
+            <param name="parameters">Optional parameters to add to the message include item</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteLine">
+            <summary>
+            Write out a blank line
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteKeyword(System.String)">
+            <summary>
+            Write out a keyword
+            </summary>
+            <param name="keyword">The keyword to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteParameter(System.String)">
+            <summary>
+            Write out a parameter
+            </summary>
+            <param name="parameter">The parameter to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteIdentifier(System.String)">
+            <summary>
+            Write out an identifier
+            </summary>
+            <param name="identifier">The identifier to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteLiteral(System.String)">
+            <summary>
+            Write out a literal
+            </summary>
+            <param name="literal">The literal to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteMessage(System.String)">
+            <summary>
+            Write out a message
+            </summary>
+            <param name="message">The message include item ID to write</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.BaseOption">
+            <summary>
+            This abstract base class represents a command line option
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.Name">
+            <summary>
+            This read-only property returns the option name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.Description">
+            <summary>
+            This read-only property returns the option description
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.RequiredMessage">
+            <summary>
+            This is used to get or set a message to display if the option is missing
+            </summary>
+            <remarks>The default is null and the parameter is optional.  If set to a non-null, non-empty string
+            value, the parameter is required.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.Value">
+            <summary>
+            This property is used to get or set the option value
+            </summary>
+            <remarks>As written, the value can only be set when initially parsed</remarks>
+            <exception cref="T:System.InvalidOperationException">This is thrown if an attempt is made to retrieve the
+            value before it has been set or if an attempt is made to set the value twice.</exception>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.IsPresent">
+            <summary>
+            This read-only property is used to determine whether or not the option value was present on the
+            command line.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BaseOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The option name</param>
+            <param name="description">The option description</param>
+            <exception cref="T:System.ArgumentException">This is thrown if the <paramref name="name"/> parameter is null
+            or empty or contains non-alphabetic characters.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BaseOption.ParseArgument(System.String)">
+            <summary>
+            This method is overridden to parse the option arguments, if any
+            </summary>
+            <param name="args">The arguments to parse</param>
+            <returns>A <see cref="T:Sandcastle.Core.CommandLine.ParseResult"/> value to indicate the success or failure of the operation</returns>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BaseOption.WriteTemplate(System.IO.TextWriter)">
+            <summary>
+            This method is overridden to show the command line syntax for the option
+            </summary>
+            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to which the syntax string is written</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.BooleanOption">
+            <summary>
+            This defines a Boolean option
+            </summary>
+            <remarks>A Boolean option is one that has a name followed by a '+' for true or a '-' for false</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BooleanOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The Boolean option name</param>
+            <param name="description">The Boolean option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BooleanOption.ParseArgument(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BooleanOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.ListOption">
+            <summary>
+            This defines a list option
+            </summary>
+            <remarks>A a list option is like a <see cref="T:Sandcastle.Core.CommandLine.StringOption"/> but the value is a comma-separated
+            list of one or more values.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ListOption.Value">
+            <summary>
+            This is overridden to return the value as a string array
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The list option name</param>
+            <param name="description">The list option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The list option name</param>
+            <param name="description">The list option description</param>
+            <param name="template">A template to use when showing the command line syntax</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.ParseArgument(System.String)">
+            <inheritdoc />
+            <remarks>If the option appears multiple times, the values are combined into a single list</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.OptionCollection">
+            <summary>
+            This collection is used to hold a set of command line option definitions
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.OptionCollection.Item(System.String)">
+            <summary>
+            This read-only property can be used to retrieve an option by name
+            </summary>
+            <param name="name">The name of the option to retrieve</param>
+            <returns></returns>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.InsertItem(System.Int32,Sandcastle.Core.CommandLine.BaseOption)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.ClearItems">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.RemoveItem(System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.SetItem(System.Int32,Sandcastle.Core.CommandLine.BaseOption)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.ParseArguments(System.String[])">
+            <summary>
+            Parse an array of command line option strings into command line option instances
+            </summary>
+            <param name="args">The array of options to parse</param>
+            <returns>The results of parsing the command line option strings</returns>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.WriteOptionSummary(System.IO.TextWriter)">
+            <summary>
+            This is used to write out a summary of the options
+            </summary>
+            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to which the summary is written</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the <paramref name="writer"/> parameter
+            is null.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.ParseArguments(System.String[],Sandcastle.Core.CommandLine.ParseArgumentsResult)">
+            <summary>
+            This is used to parse the command line options and return the results
+            </summary>
+            <param name="args">The array of option strings to parse</param>
+            <param name="results">The results of the parsing operation</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.ParseArgumentsResult">
+            <summary>
+            This is used to hold the results of parsing a set of command line option strings
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ParseArgumentsResult.Options">
+            <summary>
+            This read-only property is used to get the option collection related to the results
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ParseArgumentsResult.Success">
+            <summary>
+            This read-only property is used to see if the options were parsed successfully
+            </summary>
+            <value>Returns true if successful, false if not</value>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ParseArgumentsResult.UnusedArguments">
+            <summary>
+            This read-only property returns a collection of the unused arguments
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.#ctor(Sandcastle.Core.CommandLine.OptionCollection)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="options">The option collection related to the results</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.AddError(System.String,Sandcastle.Core.CommandLine.ParseResult)">
+            <summary>
+            This is used to add a parsing error
+            </summary>
+            <param name="optionName">The option name</param>
+            <param name="error">The error result</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.AddNonOption(System.String)">
+            <summary>
+            This is used to add a non-option
+            </summary>
+            <param name="value">The non-option value</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.WriteParseErrors(System.IO.TextWriter)">
+            <summary>
+            This is used to write out a list of all parsing errors
+            </summary>
+            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to which the summary is written</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.ParseResult">
+            <summary>
+            This enumerated type defines the command line option parsing results
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.Success">
+            <summary>Success</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.ArgumentNotAllowed">
+            <summary>Argument not allowed</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.MalformedArgument">
+            <summary>Malformed argument</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.MissingOption">
+            <summary>Missing option</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.UnrecognizedOption">
+            <summary>Unrecognized option</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.MultipleOccurence">
+            <summary>A single-use option appeared multiple times</summary>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.StringOption">
+            <summary>
+            This defines a string option
+            </summary>
+            <remarks>A string option is one that has a name/value pair separated by a colon</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.StringOption.Template">
+            <summary>
+            This is used to specify the template used when showing the command line syntax
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The string option name</param>
+            <param name="description">The string option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The string option name</param>
+            <param name="description">The string option description</param>
+            <param name="template">A template to use when showing the command line syntax</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.ParseArgument(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.SwitchOption">
+            <summary>
+            This defines a switch option
+            </summary>
+            <remarks>A switch option is one that is only represented by its name</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.SwitchOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The switch option name</param>
+            <param name="description">The switch option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.SwitchOption.ParseArgument(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.SwitchOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.ComponentAssemblyResolver">
+            <summary>
+            This is used to resolve assembly dependencies when loading component assemblies with MEF
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the resolver if not done explicitly
+            with <see cref="M:Sandcastle.Core.ComponentAssemblyResolver.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the resolver
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.AddFolder(System.String)">
+            <summary>
+            Add a folder to check for dependencies
+            </summary>
+            <param name="folder">The folder to check</param>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.CurrentDomain_AssemblyResolve(System.Object,System.ResolveEventArgs)">
+            <summary>
+            This is handled to resolve dependent assemblies and load them when necessary
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="args">The event arguments</param>
+            <returns>The loaded assembly or null if not found</returns>
+        </member>
+        <member name="T:Sandcastle.Core.ComponentUtilities">
+            <summary>
+            This class contains properties and methods used to locate and work with build components, plug-ins,
+            syntax generators, and presentation styles.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.RootFolder">
+            <summary>
+            This read-only property returns the path to the Sandcastle Help File Builder root folder
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.ToolsFolder">
+            <summary>
+            This read-only property returns the path to the Sandcastle Help File Builder tools folder
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.CoreComponentsFolder">
+             <summary>
+             This read-only property returns the core build components folder
+             </summary>
+            <remarks>These are the common components distributed with the Help File Builder</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.ThirdPartyComponentsFolder">
+             <summary>
+             This read-only property returns the common application data build components folder
+             </summary>
+            <remarks>Third party components should be located in the <strong>EWSoftware\Sandcastle Help File
+             Builder\Components and Plug-Ins</strong> folder or a subfolder beneath it in the common application
+             data folder.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.CoreReflectionDataFolder">
+             <summary>
+             This read-only property returns the core reflection data file folder
+             </summary>
+            <remarks>These are the common reflection data files distributed with the Help File Builder</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.DefaultSyntaxFilter">
+            <summary>
+            This read-only property returns the default syntax filter setting
+            </summary>
+            <value>This returns "Standard" to add the standard C#, VB.NET and C++ syntax filter to each API
+            topic.</value>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.SupportedLanguages">
+            <summary>
+            This read-only property returns a list of languages supported by the help file builder presentation
+            styles.
+            </summary>
+            <value>The available language resources are determined by seeing what stop word list translations are
+            available.</value>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.AssemblyFolder(System.Reflection.Assembly)">
+            <summary>
+            This is used to get the physical location of the specified assembly
+            </summary>
+            <param name="assembly">The assembly for which to get the physical location (the currently executing
+            (calling) assembly if null).</param>
+            <returns>This returns the actual location of the assembly, where it was found versus where it is
+            executing from, which may be different if shadow copied.  This is required in order to find
+            supporting files which will not be present in the shadow copied location.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SetPaths">
+            <summary>
+            Set the paths used to find component configuration files and assemblies
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.CreateComponentContainer(System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
+            <summary>
+            This is used to return a composition container filled with the available build components (SHFB
+            plug-ins, presentation styles, BuildAssembler components, and syntax generators).
+            </summary>
+            <param name="folders">An enumerable list of additional folders to search recursively for components.</param>
+            <param name="cancellationToken">An optional cancellation token or null if not supported by the caller.</param>
+            <returns>The a composition container that contains all of the available components</returns>
+            <remarks>The following folders are searched in the following order.  If the given folder has not been
+            specified or does not exist, it is ignored.
+            
+            <list type="number">
+                <item>The enumerable list of additional folders - This is typically the current project's
+            NuGet packages (package tool paths from the <c>SHFBComponentPath</c> item in their properties file),
+            the project's <c>ComponentPath</c> folder, and the current project's folder.  This allows for
+            project-specific build components.  Paths are searched in the order given above if specified.</item>
+                <item>Common application data folder - The help file builder's common application data folder
+            where third-party build components are typically installed.</item>
+                <item><c>SHFBROOT</c> core components folder - The core Sandcastle Help File Builder components
+            folder and its subfolders.  This allows for XCOPY deployments that keep everything together.</item>
+            </list>
+            
+            All folders and their subfolders are search recursively for assemblies (*.dll).  There may be
+            duplicate component IDs across the assemblies found.  Only the first component for a unique
+            ID will be used.  As such, assemblies in a folder with a higher search precedence can override
+            copies in folders lower in the search order.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.AddAssemblyCatalogs(System.ComponentModel.Composition.Hosting.AggregateCatalog,System.String,System.Collections.Generic.HashSet{System.String},System.Boolean,Sandcastle.Core.ComponentAssemblyResolver,System.Threading.CancellationToken)">
+            <summary>
+            This adds assembly catalogs to the given aggregate catalog for the given folder and all of its
+            subfolders recursively.
+            </summary>
+            <param name="catalog">The aggregate catalog to which the assembly catalogs are added.</param>
+            <param name="folder">The root folder to search.  It and all subfolders recursively will be searched
+            for assemblies to add to the aggregate catalog.</param>
+            <param name="searchedFolders">A hash set of folders that have already been searched and added.</param>
+            <param name="includeSubfolders">True to search subfolders recursively, false to only search the given
+            folder.</param>
+            <param name="resolver">A component assembly resolver for finding dependency assemblies</param>
+            <param name="cancellationToken">An optional cancellation token or null if not supported by the caller.</param>
+            <remarks>It is done this way to prevent a single assembly that would normally be discovered via a
+            directory catalog from preventing all assemblies from loading if it cannot be examined when the parts
+            are composed (i.e. trying to load a Windows Store assembly on Windows 7).</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.ToRecognizedSyntaxFilterIds(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This is used to convert the given set of comma-separated syntax filter IDs to a set of recognized
+            filter IDs.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter IDs to convert</param>
+            <returns>The validated and recognized set of syntax filter IDs.  If possible, the value is condensed
+            to one of a set of combination values such as None, All, AllButUsage, or Standard.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxFiltersFrom(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This is used to return a collection of syntax filters based on the comma-separated list of IDs passed
+            to the method.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter ID values.</param>
+            <returns>An enumerable list of <see cref="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata" /> representing the syntax
+            filters found.</returns>
+            <remarks>The following special IDs are also recognized: None = No filters, All = all filters,
+            AllButUsage = All but syntax filters with "Usage" in their ID (i.e. VisualBasicUsage), Standard = C#,
+            VB.NET, and C++ only.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxFilterGeneratorsFrom(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This returns the syntax generator XML elements to insert into a BuildAssembler configuration file for
+            the comma-separated list of syntax filter IDs.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter ID values.</param>
+            <returns>A string containing the generator XML elements for the specified syntax filter IDs.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxFilterLanguagesFrom(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This returns the syntax language XML elements to insert into a BuildAssembler configuration file for
+            the comma-separated list of syntax filter IDs.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter ID values.</param>
+            <returns>A string containing the language XML elements for the specified syntax filter IDs.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxGeneratorResourceItemFiles(System.ComponentModel.Composition.Hosting.CompositionContainer,System.Globalization.CultureInfo)">
+            <summary>
+            This returns an enumerable list of resource item files for all defined syntax filters
+            </summary>
+            <param name="componentContainer">The component container from which to get the available syntax
+            filter generators.</param>
+            <param name="language">The language used to find localized versions if they exist</param>
+            <returns>An enumerable list of syntax filter generator resource item files.  If localized versions in
+            the specified language do not exit, the default resource item files (typically English US) will be
+            returned.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.XmlStreamAxis(System.String,System.String)">
+            <summary>
+            This provides a fast and efficient way of querying large XML files for a specific element type
+            </summary>
+            <param name="xmlFile">The XML file to search</param>
+            <param name="elementName">The element name for which to search</param>
+            <returns>An enumerable list of <see cref="T:System.Xml.Linq.XElement"/> instances for each of the found nodes</returns>
+            <remarks>This version only looks for a single element type which cannot contain nested instances of
+            the given element.</remarks>
+            <overloads>
+            <summary>There are two overloads for this method</summary>
+            <remarks>Using these methods to search for specific elements avoids having to load the entire file
+            which can be quite costly in terms of memory when it is extremely large.  It is typically faster as
+            well since it doesn't have to load and parse the whole file before starting the search.</remarks>
+            </overloads>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.XmlStreamAxis(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This provides a fast and efficient way of querying large XML files for specific element types which
+            themselves may contain instances of the given elements.
+            </summary>
+            <param name="xmlFile">The XML file to search</param>
+            <param name="elementNames">An enumerable list of element names for which to search</param>
+            <returns>An enumerable list of <see cref="T:System.Xml.Linq.XElement"/> instances for each of the found nodes including
+            any nested instances of elements with those names.</returns>
+            <remarks>If the element contains nested instances of the elements, the parent is returned first
+            followed by the nested elements (one level deep only).</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.GetHashCodeDeterministic(System.String)">
+            <summary>
+            This returns a deterministic hash code that is the same in the full .NET Framework and in .NET Core
+            in every session given the same string to hash.
+            </summary>
+            <param name="hashString">The string to hash</param>
+            <returns>The deterministic hash code</returns>
+            <remarks>The hashing algorithm differs in .NET Core and returns different hash codes for each session.
+            This was done for security to prevent DoS attacks. For the help file builder, we're just using it to
+            generate a short filenames or other constant IDs.  As such, we need a deterministic hash code to keep
+            generating the same hash code for the same IDs in all sessions regardless of platform so that the
+            filenames and other IDs stay the same for backward compatibility.</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.Constants">
+            <summary>
+            This class holds a set of constants that define various application values such as the application name,
+            common data folder locations, etc.
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.CompanyName">
+            <summary>The company name</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.AppName">
+            <summary>The application name</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.DefaultPresentationStyle">
+            <summary>The default presentation style</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.ProgramDataFolder">
+            <summary>
+            The application folder in which the component and user data files are stored.
+            </summary>
+            <remarks>This folder will be located under the <see cref="T:System.Environment.SpecialFolder">CommonApplicationData</see>
+            or <see cref="T:System.Environment.SpecialFolder">LocalApplicationData</see> folder.</remarks>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.ComponentsAndPlugInsFolder">
+            <summary>
+            This folder is located under the <see cref="T:System.Environment.SpecialFolder">CommonApplicationData</see>
+            folder and contains custom build components that can be added to a project.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.HelpFileFormats">
+            <summary>
+            This public enumerated type defines the type(s) of help file that can be generated
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.HtmlHelp1">
+            <summary>HTML Help 1 (.chm) format built with HHC.EXE</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.MSHelpViewer">
+            <summary>MS Help Viewer (.mshc) format, a ZIP file containing the help content</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.Website">
+            <summary>A website with a basic TOC and search panes</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.OpenXml">
+            <summary>Open XML (.docx) format, compatible with Microsoft Word and Open Office</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.Markdown">
+            <summary>Markdown (.md) format, suitable for use in wikis such as those for GitHub projects</summary>
+        </member>
+        <member name="T:Sandcastle.Core.LogLevel">
+            <summary>
+            This enumerated type defines the message logging levels
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Info">
+            <summary>An informational message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Warn">
+            <summary>A warning message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Error">
+            <summary>A error message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Diagnostic">
+            <summary>A diagnostic message, useful for debugging</summary>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.ContentFiles">
+            <summary>
+            This class is used to contain content files for a presentation style that are to be embedded in the
+            compiled help file.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.HelpFileFormats">
+            <summary>
+            This read-only property returns the help file formats to which these files apply
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.BasePath">
+            <summary>
+            This read-only property returns the base path used for the source path files
+            </summary>
+            <value>If null, the presentation style base path is used</value>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.SourcePathWildcard">
+            <summary>
+            This read-only property returns the source path wildcard used to copy files
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.DestinationFolder">
+            <summary>
+            This read-only property returns the destination folder of the content files in the compiled help file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.TemplateFileExtensions">
+            <summary>
+            This read-only property returns an enumerable list of file extensions that should be treated as
+            template files that need substitution tags replaced at build time.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.ContentFiles.#ctor(Sandcastle.Core.HelpFileFormats,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="helpFileFormats">The help file formats to which the files apply</param>
+            <param name="sourcePath">The source path</param>
+            <overloads>There are two overloads for the constructor</overloads>
+            <remarks>The files from the source path will be copied to a like named folder in the build output</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.ContentFiles.#ctor(Sandcastle.Core.HelpFileFormats,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="helpFileFormats">The help file formats to which the files apply</param>
+            <param name="sourcePath">The source path</param>
+            <param name="destination">The destination path to use in the build output</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.ContentFiles.#ctor(Sandcastle.Core.HelpFileFormats,System.String,System.String,System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="helpFileFormats">The help file formats to which the files apply</param>
+            <param name="basePath">An alternate base path or null to use the presentation style base path</param>
+            <param name="sourcePath">The source path</param>
+            <param name="destination">The destination path</param>
+            <param name="templateFileExtensions">An enumerable list of file extensions to treat as template files</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.IApiTocGenerator">
+            <summary>
+            This interface is used to implement a table of contents generator for API content
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IApiTocGenerator.ListTopicOrder">
+            <summary>
+            This is used to get or set the list topic order in the table of contents
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.IApiTocGenerator.GenerateApiTocFile(System.String,System.String)">
+            <summary>
+            This is used to generate a table of contents file for API content
+            </summary>
+            <param name="reflectionDataFile">The source reflection data file</param>
+            <param name="tocFile">The table of contents file to generate</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.IApplyDocumentModel">
+            <summary>
+            This interface is used to implement the application of a document model to the reflection information
+            file.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IApplyDocumentModel.RootNamespaceContainerId">
+            <summary>
+            This is used to get or set an optional root namespace container ID
+            </summary>
+            <value>If not set, no root namespace container node will be added.  If set, a root namespace
+            container node (R:) will be added with the given ID.  The build engine will set this based on the
+            root namespace container project properties.</value>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.IApplyDocumentModel.ApplyDocumentModel(System.String,System.String)">
+            <summary>
+            This is used to apply the document model to a reflection information file
+            </summary>
+            <param name="reflectionDataFile">The source reflection data file</param>
+            <param name="docModelReflectionDataFile">The destination reflection data file with the document
+            model applied to it.</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata">
+            <summary>
+            This class defines the metadata for a presentation style plug-in
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Title">
+            <summary>
+            This read-only property returns the title for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Version">
+            <summary>
+            This read-only property returns the version of the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.IsDeprecated">
+            <summary>
+            This read-only property is used to indicate that the presentation style has been deprecated
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.PlugInDependency">
+            <summary>
+            This class is used to define a plug-in upon which a presentation style depends and the default
+            configuration to use for it.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PlugInDependency.Id">
+            <summary>
+            The ID of the plug-in upon which the presentation style depends
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PlugInDependency.Configuration">
+            <summary>
+            The default configuration to use for the plug-in
+            </summary>
+            <remarks>This can be either an empty <c>configuration</c> element or one filled in with default
+            values for any plug-in configuration parameters.  If the plug-in is visible to the user and has been
+            added to the project, the project configuration will override this one.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PlugInDependency.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The ID of the plug-in depended upon</param>
+            <param name="configuration">The default configuration.  If null or empty, an empty
+            <c>configuration</c> element will be used.</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for presentation
+            style plug-ins.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the presentation style ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Title">
+            <summary>
+            This read-only property is used to get the presentation style title
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Version">
+            <summary>
+            This is used to get or set the presentation style version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.IsDeprecated">
+            <summary>
+            This read-only property is used to indicate that the presentation style has been deprecated
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required presentation style ID</param>
+            <param name="title">The required presentation style title</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.PresentationStyleSettings">
+            <summary>
+            This abstract base class is used to define the settings and common functionality for a specific
+            presentation style.
+            </summary>
+            <remarks>Presentation styles are singletons by nature.  The composition container will create instances
+            as needed.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.Location">
+            <summary>
+            This is overridden in derived classes to provide the location of the presentation style files
+            </summary>
+            <value>Typically, this will return the path of the executing assembly</value>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.BasePath">
+            <summary>
+            This is used to get or set the presentation style base path used to resolve relative paths within the
+            presentation style.
+            </summary>
+            <value>If null or empty, the <see cref="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.Location"/> path is used as the base path.  If relative, it
+            is considered to be relative to the <see cref="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.Location"/> path.</value>
+            <remarks>This is useful for defining a base path with multiple presentation styles are included
+            such as with the standard presentation styles.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.SupportedFormats">
+            <summary>
+            This is used to get or set the help file formats supported by the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.SupportsNamespaceGrouping">
+            <summary>
+            This is used to get or set whether or not namespace grouping is supported by the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.SupportsCodeSnippetGrouping">
+            <summary>
+            This is used to get or set whether or not code snippet grouping is supported by the presentation
+            style.
+            </summary>
+            <remarks>If true, code snippets will be grouped and sorted based on the syntax generators present
+            in the project.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ContentFiles">
+            <summary>
+            This read-only property returns the list of help content file locations
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ResourceItemsPath">
+            <summary>
+            This is used to get or set the path in which BuildAssembler resource item files are stored
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ToolResourceItemsPath">
+            <summary>
+            This is used to get or set the path in which help file builder resource item files are stored
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.DocumentModelApplicator">
+            <summary>
+            This is used to get or set the document model applicator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ApiTableOfContentsGenerator">
+            <summary>
+            This is used to get or set the table of content generator for API content
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.BuildAssemblerConfiguration">
+            <summary>
+            This is used to get or set the BuildAssembler configuration filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.TransformComponentArguments">
+            <summary>
+            This read-only property returns the transform component arguments if any
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.PlugInDependencies">
+            <summary>
+            This read-only property returns any plug-in dependencies required by the presentation style
+            </summary>
+            <remarks>This is used to ensure that any dependent plug-ins are added to the build.  If any of the
+            plug-ins are visible to the user and have been added to the project, the project configuration will
+            override the default configuration supplied here.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.CheckForErrors">
+            <summary>
+            This is used to check the presentation style for errors
+            </summary>
+            <returns>An enumerable list of problems found or an empty list if everything is okay</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ResolvePath(System.String)">
+            <summary>
+            This is used to resolve a presentation style path
+            </summary>
+            <param name="path">The path to resolve</param>
+            <returns>The resolved path</returns>
+            <remarks>Environment variables in the path will be expanded.  If relative, the path is converted
+            to a full path relative to the presentation style's base path.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ResolveEnvironmentVariables(System.String)">
+            <summary>
+            This is used to resolve environment variables in a path with the added step of resolving
+            <c>%SHFBROOT%</c> to the path found by the component utilities if it does not resolve automatically.
+            </summary>
+            <param name="path">The path in which to resolve an environment variable</param>
+            <returns>The resolved path value</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.CopyHelpContent(Sandcastle.Core.HelpFileFormats,System.String,System.Action{System.String,System.Object[]},System.Action{System.String,System.String,System.String})">
+            <summary>
+            This is used to copy the presentation style help file content to the given destination folder
+            </summary>
+            <param name="format">The help file format for which to copy files</param>
+            <param name="destinationBasePath">The destination base path to which the files are copied</param>
+            <param name="progressReporter">An optional action delegate used to report progress</param>
+            <param name="transformTemplate">A action delegate used to transform a template file (file, source
+            folder, destination folder)</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.RecursiveCopy(System.String,System.String,System.Action{System.String,System.Object[]},System.Collections.Generic.IEnumerable{System.String},System.Action{System.String,System.String,System.String})">
+            <summary>
+            This copies files from the specified source folder to the specified destination folder.  If any
+            subfolders are found below the source folder and the wildcard is "*.*", the subfolders are also
+            copied recursively.
+            </summary>
+            <param name="sourcePath">The source path from which to copy</param>
+            <param name="destPath">The destination path to which to copy</param>
+            <param name="progressReporter">An optional action delegate used to report progress</param>
+            <param name="templateFileExtensions">An enumerable list of file extensions that will be treated like
+            template files and will have substitution tags replaced.</param>
+            <param name="transformTemplate">A action delegate used to transform a template file (file, source
+            folder, destination folder)</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator">
+             <summary>
+             This is used to generate a standard table of contents for API content
+             </summary>
+             <remarks>The generator has the following behaviors:
+            
+             <list type="bullet">
+                 <item>The reflection information is assumed to contain list entries for properties, methods, events,
+             etc.  These are used to generate corresponding list topic entries in the table of contents.</item>
+                 <item>A root namespace container (R:) is supported if present.</item>
+                 <item>Namespace grouping is supported if grouping elements (G:) are present.</item>
+                 <item>Overloads are assumed to have a container topic and each overload has its own subtopic below
+             it.</item>
+                 <item>Namespaces, types, and members are sorted in ascending order by name.  Explicit interface
+             implementations are list ahead of the type's other members sorted by member name.  Overloads are sorted
+             by parameter count and then by the type name of the first parameter.</item>
+                 <item>The default order of the member list topics is properties, methods, events, operators, fields,
+             attached properties, and finally attached events.</item>
+             </list>
+             </remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.ListTopicOrder">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.GenerateApiTocFile(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddNamespaceOrTypeTopic(System.Xml.XmlWriter,System.String)">
+            <summary>
+            Add a namespace, namespace group, or type topic for the given member ID.  Topics are added
+            recursively for each of its children and their children.
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="memberId">The member ID to add</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddMemberListTopics(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Add member list topics for a type (constructors, properties, methods, events, etc.).  The members are
+            added as children of each list topic.
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="apiType">The type member for which to add member list topics</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddMemberListTree(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember,System.String)">
+            <summary>
+            Add a member list topic and its children
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="list">The member list topic to output</param>
+            <param name="declaringTypePrefix">The declaring type's prefix used to filter members</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddMember(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember,System.String)">
+            <summary>
+            Add a table of contents entry for a member
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="member">The member for which to add TOC entry</param>
+            <param name="declaringTypePrefix">The declaring type's prefix used to filter members</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.StandardDocumentModel">
+             <summary>
+             This is used to add the standard document model elements to the reflection information file
+             </summary>
+             <remarks>The generator has the following behaviors:
+             
+             <list type="bullet">
+                 <item>If a root namespace container ID is specified, a root namespace container API entry (R:) is
+             added with a list of the namespaces.  If not specified, it is omitted.</item>
+                 <item>A <c>topicdata</c> element is added to each API entry to identify the topic group.  For
+             enumeration members (the fields), a <c>notopic</c> attribute is added to indicate that it should not
+             get a separate topic.  For explicitly implemented members, an <c>eiiname</c> attribute is added to
+             identify the explicitly implemented type and member name.</item>
+                 <item><c>library</c> elements are updated with the assembly version and, for type members, a
+             <c>NoAptca</c> element is added if the assembly does not allow partially trusted callers.</item>
+                 <item>Elements for overloaded methods are grouped into Overload elements within their type's API
+             entry.  Extension methods are not grouped if overloaded but do get an <c>overload</c> attribute.</item>
+                 <item>The API entries for overloaded members have an <c>overload</c> attribute added to their
+             <c>memberdata</c> element to identify the overload topic ID.</item>
+                 <item>For all types except enumerations, member list topic API entries are created for methods,
+             operators, properties, events, fields, attached properties, attached events, and overloaded members.</item>
+             </list>
+            </remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.StandardDocumentModel.RootNamespaceContainerId">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.ApplyDocumentModel(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddRootNamespaceContainer(System.Xml.XmlWriter)">
+            <summary>
+            This adds a root namespace container element
+            </summary>
+            <param name="writer">The XML writer to which the element is added</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateTypeApiNode(Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            This adds documentation model elements to a type node
+            </summary>
+            <param name="typeNode">The type node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateGeneralApiNode(Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            This adds documentation model elements to a general node
+            </summary>
+            <param name="memberNode">The member node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddMemberListApiElement(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMemberGroup,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Add a member list topic of the specified type for the given type node
+            </summary>
+            <param name="writer">The XML writer to which the element is added</param>
+            <param name="listType">The list type to add</param>
+            <param name="typeNode">The type node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddOverloadListApiElements(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Add overload list topics for each overloaded member in the type
+            </summary>
+            <param name="writer">The XML writer to which the element is added</param>
+            <param name="typeNode">The type node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateMemberListElements(Sandcastle.Core.Reflection.ApiMember,System.Collections.Generic.IEnumerable{Sandcastle.Core.Reflection.ApiMember})">
+            <summary>
+            Update the member list elements with overload set entries
+            </summary>
+            <returns>An enumerable list of <c>element</c> elements for the member list</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.DetermineOverloadId(Sandcastle.Core.Reflection.ApiMember,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            This is used to determine the ID of an overloads member entry
+            </summary>
+            <param name="typeNode">The type node to use</param>
+            <param name="member">The member to use</param>
+            <returns>The ID for the overloads member entry</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateElementNode(Sandcastle.Core.Reflection.ApiMember,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Update an element node
+            </summary>
+            <param name="typeNode">The type node</param>
+            <param name="member">The member for which to update the element node</param>
+            <returns>The node itself if it is an <c>element</c> element or the original <c>element</c> node
+            from the containing type if not.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddLibraryAssemblyData(System.Xml.Linq.XElement,System.Boolean)">
+            <summary>
+            Add library assembly information to a library element
+            </summary>
+            <param name="library">The library element to which the information is added</param>
+            <param name="addNoAptca">True to add a <c>noAptca</c> element if partially trusted callers are not
+            allowed, false to skip it.</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.TransformComponentArgument">
+            <summary>
+            This class is used to contain transform component argument values
+            </summary>
+            <remarks>These are inserted into the BuildAssembler configuration file for the <c>TransformComponent</c>
+            to use at build time.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Key">
+            <summary>
+            This read-only property returns the argument key
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.IsForConceptualBuild">
+            <summary>
+            This read-only property returns whether or not the argument applies to conceptual builds
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.IsForReferenceBuild">
+            <summary>
+            This read-only property returns whether or not the argument applies to reference builds
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Description">
+            <summary>
+            This read-only property returns a description of the argument
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Value">
+            <summary>
+            This is used to get or set the argument's value for simple arguments
+            </summary>
+            <remarks>If set to a non-null value, the value of the <see cref="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Content"/> property is ignored.
+            This property will take precedence if both are set.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Content">
+            <summary>
+            This is used to get or set the argument's content for complex arguments
+            </summary>
+            <remarks>If set to a non-null value, the value of the <see cref="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Value"/> property is ignored.  The
+            <value>Value</value> property takes precedence if both are set.  The root element name is not
+            relevant.  Only the content is significant and will be used.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(Sandcastle.Core.PresentationStyle.TransformComponentArgument)">
+            <summary>
+            Private copy constructor
+            </summary>
+            <param name="clone">The transform component argument to clone</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(System.String,System.Boolean,System.Boolean,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="key">The transform argument key name</param>
+            <param name="isForConceptualBuild">True if used in conceptual builds, false if not</param>
+            <param name="isForReferenceBuild">True if used in reference builds, false if not</param>
+            <param name="value">The default value of the argument</param>
+            <param name="description">A description of the transform argument</param>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(System.String,System.Boolean,System.Boolean,System.String,System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="key">The transform argument key name</param>
+            <param name="isForConceptualBuild">True if used in conceptual builds, false if not</param>
+            <param name="isForReferenceBuild">True if used in reference builds, false if not</param>
+            <param name="description">A description of the transform argument</param>
+            <param name="content">The default content of the argument</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="argument">The XML element containing the transform component argument settings</param>
+            <remarks>This is used by designers to create arguments from serialized project settings</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Clone">
+            <summary>
+            This is used to clone a transform component argument
+            </summary>
+            <returns>A clone of the current transform component argument</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.ToXml">
+            <summary>
+            This is used to convert the transform component argument to an XML element for storing in a project
+            </summary>
+            <returns>The transform component argument as an XML element</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ApiAssemblyProperties">
+            <summary>
+            This is used to contain information about an API assembly entry in a reflection information file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiAssemblyProperties.AssemblyName">
+            <summary>
+            This read-only property returns the assembly name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiAssemblyProperties.Version">
+            <summary>
+            This read-only property returns the assembly version
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiAssemblyProperties.AllowsPartiallyTrustedCallers">
+            <summary>
+            This read-only property returns whether or not the assembly allows partially trusted callers
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ApiAssemblyProperties.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="assemblyInfo">The XML element containing the assembly properties</param>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ApiMember">
+            <summary>
+            This is used to contain information about an API member entry in a reflection information file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.MemberId">
+            <summary>
+            This read-only property returns the full API member ID including its prefix
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.MemberIdWithoutPrefix">
+            <summary>
+            This read-only property returns the API member ID excluding the leading prefix
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.MemberIdWithoutParameters">
+            <summary>
+            This read-only property returns the API member ID excluding the parameters (methods only)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Name">
+            <summary>
+            This read-only property returns the member name without the namespace or parameters
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Group">
+            <summary>
+            This read-only property returns the member's group
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Subgroup">
+            <summary>
+            This read-only property returns the member's subgroup
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.SubSubgroup">
+            <summary>
+            This read-only property returns the member's sub-subgroup
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicName">
+            <summary>
+            This read-only property returns the member's topic name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicEiiName">
+            <summary>
+            This read-only property returns the member's topic name for explicit interface implementations
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicGroup">
+            <summary>
+            This read-only property returns the member's topic group
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicSubgroup">
+            <summary>
+            This read-only property returns the member's topic subgroup
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TypeTopicId">
+            <summary>
+            This read-only property returns the member's type topic ID
+            </summary>
+            <remarks>This appears on member list topics</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicFilename">
+            <summary>
+            This read-only property returns the topic filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.ParameterCount">
+            <summary>
+            This read-only property is used to get the parameter count for methods
+            </summary>
+            <remarks>This is used for sorting overload sets</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.FirstParameterTypeName">
+            <summary>
+            This read-only property is used to get the type of the first parameter
+            </summary>
+            <remarks>This is used for sorting overload sets</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.IsExplicitlyImplemented">
+            <summary>
+            This read-only property returns whether or not the member is an explicit interface member implementation
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.ImplementedType">
+            <summary>
+            This read-only property is used to get the type of the member if explicitly implemented
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.ChildElements">
+            <summary>
+            This read-only property returns an enumerable list of child element IDs for those topics that have them
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Node">
+            <summary>
+            The raw XML for the API entry
+            </summary>
+            <remarks>This is only used when updating the document model</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ApiMember.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="apiMember">The XML element containing the reflection information for the API member</param>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ApiMemberGroup">
+            <summary>
+            This enumerated type represents the groups and subgroups to which an API member can belong
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.None">
+            <summary>
+            Not specified
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Unknown">
+            <summary>
+            An unknown value was encountered
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Root">
+            <summary>
+            Root namespace container (R:)
+            </summary>
+            <remarks>There will only be one of these if present</remarks>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.RootGroup">
+            <summary>
+            Root group namespace container (G:)
+            </summary>
+            <remarks>There will only be one of these if present</remarks>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Namespace">
+            <summary>
+            A namespace (N:NamespaceName)
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.NamespaceGroup">
+            <summary>
+            A namespace group (G:NamespaceGroupName)
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Type">
+            <summary>
+            A type
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Member">
+            <summary>
+            A type member
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Class">
+            <summary>
+            A class
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Structure">
+            <summary>
+            A structure
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Interface">
+            <summary>
+            An interface
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Enumeration">
+            <summary>
+            An enumeration
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Constructor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Property">
+            <summary>
+            A property
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Method">
+            <summary>
+            A method
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Event">
+            <summary>
+            An event
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Delegate">
+            <summary>
+            A delegate
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Field">
+            <summary>
+            A field
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Operator">
+            <summary>
+            An operator
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Extension">
+            <summary>
+            An extension method
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedProperty">
+            <summary>
+            An attached property
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedEvent">
+            <summary>
+            An attached event
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.List">
+            <summary>
+            A member list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Api">
+            <summary>
+            An API member
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Properties">
+            <summary>
+            A properties list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Methods">
+            <summary>
+            A methods list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Overload">
+            <summary>
+            An overloads list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Operators">
+            <summary>
+            An operators list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Events">
+            <summary>
+            An events list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Fields">
+            <summary>
+            A fields list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedProperties">
+            <summary>
+            An attached properties list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedEvents">
+            <summary>
+            An attached events list topic
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.AssemblyDetails">
+            <summary>
+            This class is used to hold the details for an assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Filename">
+            <summary>
+            This read-only property returns the assembly filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Name">
+            <summary>
+            This read-only property returns the assembly name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Version">
+            <summary>
+            This read-only property is used to get the version for the assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Culture">
+            <summary>
+            This read-only property is used to get the culture for the assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.PublicKeyToken">
+            <summary>
+            This read-only property returns the public key token for the assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.IsIncluded">
+            <summary>
+            This is used to get or set whether or not to include the assembly
+            </summary>
+            <remarks>Certain assemblies cannot be parsed or do not contain any useful information.  This can
+            be set to false to exclude them from being processed.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Description">
+            <summary>
+            This read-only property returns the assembly description which is a combination of the name,
+            version, culture, and public key token.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.#ctor">
+            <summary>
+            Private constructor
+            </summary>
+        </member>
+        <member name="E:Sandcastle.Core.Reflection.AssemblyDetails.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.Reflection.AssemblyDetails.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.FromAssemblyName(System.Reflection.AssemblyName)">
+            <summary>
+            This is used to create an assembly details instance from an assembly name
+            </summary>
+            <param name="name">The assembly name information</param>
+            <returns>The new assembly details item</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.FromXml(System.String,System.Xml.Linq.XElement)">
+            <summary>
+            This is used to create an assembly details instance from an XML element
+            </summary>
+            <param name="path">The path to the assembly</param>
+            <param name="details">The XML element containing the details</param>
+            <returns>The new assembly details item</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.ToXml(System.String)">
+            <summary>
+            This is used to convert the assembly detail to an XML element
+            </summary>
+            <param name="basePath">The base path for the assembly</param>
+            <returns>The assembly details as an XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.ToString">
+            <summary>
+            This is overridden to convert the assembly details to a string in the strong name format
+            </summary>
+            <returns>The assembly details as a strong name string</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.GetHashCode">
+            <summary>
+            This is used to return a hash code for the assembly details in string format
+            </summary>
+            <returns>The hash code for the assembly details</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.Equals(System.Object)">
+            <summary>
+            This is overridden to allow proper comparison of assembly detail objects
+            </summary>
+            <param name="obj">The object to which this instance is compared</param>
+            <returns>Returns true if the object equals this instance, false if it does not</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.AssemblyLocation">
+            <summary>
+            This class defines the settings for a specific assembly location
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.StoredPath">
+            <summary>
+            This is used to get or set the path to the assembly location
+            </summary>
+            <value>The path may contain environment variable references</value>
+            <remarks>When the stored path is changed, the set of assemblies in it is updated as well</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.Path">
+            <summary>
+            This read-only property returns the actual path to the assembly location
+            </summary>
+            <remarks>This returns the path with any environment variable references replaced with the actual
+            path elements.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.IsCoreLocation">
+            <summary>
+            This read-only property is used to determine if this entry represents a core framework location
+            </summary>
+            <value>True if it is the core location, false if not</value>
+            <remarks>The core location is determined by searching for <c>mscorlib</c> in the assembly set</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.AllAssemblies">
+            <summary>
+            This read-only property returns a bindable list of all assembly details for this location
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.IncludedAssemblies">
+            <summary>
+            This read-only property returns an enumerable list of only the included assembly details for this
+            location.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.#ctor(System.String)">
+            <summary>
+            Private constructor
+            </summary>
+            <param name="storedPath">The stored path to use</param>
+        </member>
+        <member name="E:Sandcastle.Core.Reflection.AssemblyLocation.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.Reflection.AssemblyLocation.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            This is used to load the settings for an assembly location from an XML element
+            </summary>
+            <param name="location">The XML element containing the settings</param>
+            <returns>The new assembly location item</returns>
+            <remarks>If the location element is empty, the assembly details will be created by scanning the
+            location for assemblies.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.ToXml">
+            <summary>
+            This is used to convert the assembly location to an XML element
+            </summary>
+            <returns>The assembly location as an XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.DetermineAssemblyDetails(System.Boolean)">
+            <summary>
+            This can be used to load an empty location with information about the assemblies it contains
+            </summary>
+            <param name="clearAndRefresh">True to clear and refresh all file information or false to only remove
+            assemblies that no longer exist and add new assemblies.</param>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.PlatformType">
+            <summary>
+            This class holds a set of constants used to define the various .NET platform types
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNet">
+            <summary>.NET 5.0 or later</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetCore">
+            <summary>.NET Core (Windows Store Apps) Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetCoreApp">
+            <summary>.NET Core Application</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetFramework">
+            <summary>.NET Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetMicroFramework">
+            <summary>.NET Micro Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetPortable">
+            <summary>.NET Portable Library Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetStandard">
+            <summary>.NET Standard Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.Silverlight">
+            <summary>Silverlight Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.WindowsPhone">
+            <summary>Windows Phone Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.WindowsPhoneApp">
+            <summary>Windows Phone Store Apps Framework</summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.PlatformType.PlatformTypes">
+            <summary>
+            This read-only property returns an enumerable list of the valid platform types
+            </summary>
+            <remarks>.NETCoreApp is not returned.  It will be redirected to one of the other types.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.PlatformType.PlatformsAreCompatible(System.Collections.Generic.IEnumerable{System.ValueTuple{System.String,System.Version}})">
+            <summary>
+            This can be used to determine if the given set of platform types are compatible with each other for
+            documentation purposes.
+            </summary>
+            <param name="platforms">An enumerable list of platform types</param>
+            <returns>True if they are compatible, false if not</returns>
+            <remarks>In general, platforms that have all of their types in mscorlib or netstandard are compatible
+            but you can't mix both.  All platforms that redirect their types to System.Runtime and other
+            assemblies are also typically compatible.  Mixing the sets or any combination of other frameworks
+            is not compatible.</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSet">
+            <summary>
+            This class contains information used to obtain reflection data and comments for a specific set of
+            assemblies.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper">
+            <summary>
+            This is used to create a bindable, editable list of string values
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper.Value">
+            <summary>
+            The string value
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper.op_Implicit(Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper)~System.String">
+            <summary>
+            This is used to handle an implicit conversion from a <see cref="T:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper"/> object to a string
+            </summary>
+            <param name="wrapper">The <see cref="T:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper"/> to convert</param>
+            <returns>The value of the given wrapper as a string</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection">
+            <summary>
+            This class is used to edit binding redirection settings
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.Name">
+            <summary>
+            The assembly name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.Culture">
+            <summary>
+            The assembly culture (optional)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.PublicKeyToken">
+            <summary>
+            The public key token
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.OldVersion">
+            <summary>
+            The old version
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.NewVersion">
+            <summary>
+            The new version
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            Create an instance from an XML element
+            </summary>
+            <param name="redirection">The binding redirection settings</param>
+            <returns>The binding redirection settings created from the XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.ToXml">
+            <summary>
+            This is used to convert the binding redirection to an XML element
+            </summary>
+            <returns>The binding redirection as an XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.ToBindingRedirectionElement">
+            <summary>
+            This is used to convert the binding redirection entry to an MRefBuilder configuration file
+            assembly binding redirection element.
+            </summary>
+            <returns>The binding redirection as an MRefBuilder configuration element</returns>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Filename">
+            <summary>
+            This is used to get or set the filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Platform">
+            <summary>
+            This is used to get or set the platform associated with the reflection data set
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Version">
+            <summary>
+            This is used to get or set the version number associated with the reflection data set if applicable
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Title">
+            <summary>
+            This is used to get or set the reflection data set title
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Notes">
+            <summary>
+            This is used to get or set notes about this reflection data set
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.AllSystemTypesRedirected">
+            <summary>
+            This is used to get or set whether or not all <c>System</c> types are redirected to other assemblies
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IsCoreFramework">
+            <summary>
+            This read-only property is used to determine if this entry represents a core framework
+            </summary>
+            <value>True if it is the core framework, false if not</value>
+            <remarks>The core location is determined by searching for <c>mscorlib</c>, <c>netstandard</c>, or
+            <c>System.Runtime</c> in the assembly set.  If the platform type is .NET Standard it is automatically
+            considered to be a core framework for backward compatibility with the data set that did not contain
+            any assembly information.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.CoreFrameworkLocation">
+            <summary>
+            This read-only property is used to get the core framework location if there is one
+            </summary>
+            <value>The core framework location or null if there isn't one</value>
+            <remarks>The core location is determined by searching for <c>mscorlib</c> in the assembly set</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.AssemblyLocations">
+            <summary>
+            This read-only property returns a bindable list of assembly locations
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoredNamespaces">
+            <summary>
+            This read-only property returns a bindable list of ignored namespaces used for building the
+            reflection data.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoredUnresolved">
+            <summary>
+            This read-only property returns a bindable list of ignored unresolved assembly identities used for
+            building the reflection data.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirections">
+            <summary>
+            This read-only property returns a bindable list of binding redirections used for building the
+            reflection data.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IsPresent">
+            <summary>
+            This read-only property can be used to determine if the reflection data set's core assemblies are
+            present on the current system
+            </summary>
+            <returns>True if the core assembly folder exists and contains the first assembly, false if not.  If
+            the first assembly is present, it is assumed that all of them are.</returns>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IncludedAssemblies">
+            <summary>
+            This read-only property returns an enumerable list of all included assemblies in the reflection data
+            set.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.#ctor(System.String)">
+            <summary>
+            File constructor
+            </summary>
+            <param name="filename">The filename from which to load the reflection data set information</param>
+        </member>
+        <member name="E:Sandcastle.Core.Reflection.ReflectionDataSet.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.Reflection.ReflectionDataSet.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.Save">
+            <summary>
+            This is used to save the reflection data set information to an XML file
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoreIfUnresolvedConfiguration">
+            <summary>
+            This is used to return the <c>ignoreIfUnresolved</c> configuration entries for the MRefBuilder
+            configuration file.
+            </summary>
+            <returns>The configuration entries</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirectionConfiguration">
+            <summary>
+            This is used to return the <c>assemblyBinding</c> configuration entries for the MRefBuilder
+            configuration file.
+            </summary>
+            <returns>The configuration entries</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoredNamespacesConfiguration">
+            <summary>
+            This is used to return the API filter <c>namespace</c> configuration entries for the MRefBuilder
+            configuration file.
+            </summary>
+            <returns>The configuration entries</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.CommentsFileLocations(System.Globalization.CultureInfo)">
+            <summary>
+            This is used to return an enumerable list of comments file locations
+            </summary>
+            <param name="language">An optional language to use when searching for XML comments files, or
+            null to use the current language.</param>
+            <returns>An enumerable list of file paths to search for XML comments files</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.CultureSpecificCommentsFileFolder(Sandcastle.Core.Reflection.AssemblyLocation,System.Globalization.CultureInfo)">
+            <summary>
+            This is used to see if any comments files exist in a culture-specific framework location folder
+            </summary>
+            <param name="location">The framework location</param>
+            <param name="language">The language used to check for a culture-specific folder</param>
+            <returns>True if files were</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.ContainsAssembly(System.String)">
+            <summary>
+            This is used to see if the framework contains an assembly that uses the specified name
+            </summary>
+            <param name="assemblyName">The assembly name without a path or extension or a strong name value.
+            If a strong name value is specified, a "starts with" comparison on the description is used to see if
+            the assembly is present in the framework.  This allows for matches on strong names with processor
+            architecture specified which we don't have.  If only a name is given, just the name is compared.
+            Comparisons are case-insensitive.</param>
+            <returns>True if the framework contains the named assembly, false if not.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.FindAssembly(System.String)">
+            <summary>
+            This is used to find an assembly by name
+            </summary>
+            <param name="assemblyName">The assembly name without a path or extension or a strong name value.
+            If a strong name value is specified, a "starts with" comparison on the description is used to see if
+            the assembly is present in the framework.  This allows for matches on strong names with processor
+            architecture specified which we don't have.  If only a name is given, just the name is compared.
+            Comparisons are case-insensitive.</param>
+            <returns>The assembly if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.KeepReferenceAssembly(System.String)">
+            <summary>
+            This is used to see if a reference assembly should be kept when building reflection data
+            </summary>
+            <param name="assemblyName">The assembly name without a path or extension or a strong name value.
+            If a strong name value is specified, a "starts with" comparison on the description is used to see if
+            the assembly is present in the framework.  This allows for matches on strong names with processor
+            architecture specified which we don't have.  If only a name is given, just the name is compared.
+            Comparisons are case-insensitive.</param>
+            <returns>True if the reference assembly should be kept, false if not.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.GetReferencedNamespaces(System.Globalization.CultureInfo,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces referenced in the XML comments files of
+            the given set of namespaces.
+            </summary>
+            <param name="language">The language to use when locating the XML comments files</param>
+            <param name="searchNamespaces">An enumerable list of namespaces to search</param>
+            <param name="validNamespaces">An enumerable list of valid namespaces</param>
+            <returns>An enumerable list of unique namespaces in the related XML comments files</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSetDictionary">
+            <summary>
+            This dictionary contains reflection data settings for the various .NET Framework platforms and versions
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.DefaultFrameworkTitle">
+            <summary>
+            This read-only property is used to get the title of the default framework version to use
+            </summary>
+            <remarks>The default is the .NET Framework 4.7.2</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.#ctor(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="componentLocations">An optional enumerable list of additional component locations to
+            search for reflection data set files.</param>
+            <remarks>Keys are case-insensitive</remarks>
+            <remarks>The following folders are searched in the following order.  If the given folder has not been
+            specified or does not exist, it is ignored.
+            
+            <list type="number">
+                <item><c>SHFBROOT</c> - The root Sandcastle Help File Builder installation folder and its
+            subfolders.  This allows for XCOPY deployments that keep everything together.</item>
+                <item>Common application data folder - The help file builder's common application data folder
+            where third-party build components are typically installed.</item>
+                <item>The enumerable list of additional folders - This is typically the current project's
+            <c>ComponentPath</c> folder and the current project's folder.  This allows for project-specific
+            reflection data files.  If the project's <c>ComponentPath</c> property is set, that folder is
+            searched first and then the project's folder is searched.</item>
+            </list>
+            
+            All folders and their subfolders are search recursively for reflection data files (*.reflection).
+            There may be duplicate titles across the files found.  If duplicates are found, the last one seen is
+            used.  As such, reflection data files in a folder with a later search precedence can override
+            copies in folders earlier in the search order.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.CoreFrameworkByTitle(System.String,System.Boolean)">
+            <summary>
+            This is used to find the first core framework matching the specified title or the next highest
+            version if found but not installed if redirection is requested.
+            </summary>
+            <param name="title">The title to find</param>
+            <param name="withRedirect">True to redirect to the next highest version that is installed if the
+            requested title is not installed or false to return the exact match even if not present.</param>
+            <returns>The framework settings if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.CoreFrameworkMatching(System.String,System.Version,System.Boolean)">
+            <summary>
+            This is used to find the first core framework matching the specified platform and version or the next
+            highest version if not found and redirection is requested.
+            </summary>
+            <param name="platform">The platform to find.</param>
+            <param name="version">The version to find.  This can be a partial version number if redirection is
+            requested.</param>
+            <param name="withRedirect">True to redirect to the next highest version that is installed or false to
+            return the exact match even if not present.</param>
+            <returns>The framework settings if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.CoreFrameworkMostRecent(System.String)">
+            <summary>
+            This is used to find the most recent core framework matching the specified platform
+            </summary>
+            <param name="platform">The platform to find</param>
+            <returns>The framework settings if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.BestMatchFor(System.Collections.Generic.IEnumerable{System.ValueTuple{System.String,System.String}})">
+            <summary>
+            This is used to find the best match for the given set of framework identifiers
+            </summary>
+            <param name="frameworks">An enumerable list of platform ID/version pairs</param>
+            <returns>The best matching reflection data set or null if one could not be found</returns>
+        </member>
+        <member name="T:Sandcastle.Core.VisibleItems">
+            <summary>
+            This public enumerated type defines the optional visible items to include in the help file
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.None">
+            <summary>None of the optional items are documented.  Only public types and members will be documented.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Attributes">
+            <summary>Document attributes.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.ExplicitInterfaceImplementations">
+            <summary>Document explicit interface implementations.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedMembers">
+            <summary>Document inherited members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedFrameworkMembers">
+            <summary>Document inherited framework members.  For this to work, <c>InheritedMembers</c> must also
+            be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedFrameworkInternalMembers">
+            <summary>Document inherited internal framework members.  For this to work <c>InheritedFrameworkMembers</c>
+            must also be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedFrameworkPrivateMembers">
+            <summary>Document inherited private framework members.  For this to work <c>InheritedFrameworkMembers</c>
+            must also be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Internals">
+            <summary>Document internal members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Privates">
+            <summary>Document private members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.PrivateFields">
+            <summary>Document private fields.  For this to work, <c>Privates</c> must also be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Protected">
+            <summary>Document protected members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.SealedProtected">
+            <summary>Document protected members of sealed classes.  For this to work, <c>Protected</c> must also
+            be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.ProtectedInternalAsProtected">
+            <summary>Document "protected internal" members as "protected" only.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.NoPIATypes">
+            <summary>Document no-PIA (Primary Interop Assembly) embedded COM types.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.PublicCompilerGenerated">
+            <summary>Include public compiler generated types/members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.EditorBrowsableNever">
+            <summary>Document members marked with an <see cref="T:System.ComponentModel.EditorBrowsableAttribute"/>
+            set to <c>Never</c>.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.NonBrowsable">
+            <summary>Document members marked with a <see cref="T:System.ComponentModel.BrowsableAttribute"/>
+            set to <c>False</c>.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InternalAndPrivateIfExternal">
+            <summary>Include internal members from other assemblies and private members from base types.  For
+            this to work, the internal and/or private member options must also be enabled.  Inherited internal
+            and private framework members are not affected by this as they are controlled by the other related
+            options.</summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.MSBuild.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.MSBuild.dll
new file mode 100644
index 0000000000000000000000000000000000000000..1f934d7429e8adf38882d1c5e1266b85c166f12e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.MSBuild.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.MSBuild.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.MSBuild.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c3fd89c158d0b3c06cc3fc62a1b436ffa74a8122
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.MSBuild.xml
@@ -0,0 +1,626 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleBuilder.MSBuild</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.MSBuild.Build1xHelpFile">
+            <summary>
+            This task is used to run HHC.EXE which is used to compile a Help 1 (CHM) help file
+            </summary>
+            <remarks>Support is provided for wrapping the tool in a call to an application such as SBAppLocale.exe to
+            workaround encoding issues with the Help 1 compiler.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.ToolName">
+            <summary>
+            This read-only property returns the tool name (HHC.EXE or the value of <see cref="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp" /> if
+            specified).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.StandardErrorLoggingImportance">
+            <summary>
+            This is overridden to force all standard error info to be logged
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.StandardOutputLoggingImportance">
+            <summary>
+            This is overridden to force all standard output info to be logged
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.HelpCompilerFolder">
+            <summary>
+            This is used to pass in the path to the help compiler
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.HelpProjectName">
+            <summary>
+            This is used to pass in the help project filename
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp">
+            <summary>
+            This is used to pass in the name of the application to use as the localization wrapper
+            </summary>
+            <remarks>This is optional.  If specified, it will be used to run the help compiler to work around
+            encoding issues.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LanguageId">
+            <summary>
+            This is used to get or set the language ID for the localization tool (<see cref="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp" />)
+            </summary>
+            <remarks>This is optional.  If not specified, it defaults to 1033.  It is ignored if
+            <see cref="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp" /> is not set.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.ValidateParameters">
+            <summary>
+            Validate the parameters
+            </summary>
+            <returns>True if the parameters are valid, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.GenerateFullPathToTool">
+            <summary>
+            This returns the full path to the tool
+            </summary>
+            <returns>The full path to the tool</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.GenerateCommandLineCommands">
+            <summary>
+            Generate the command line parameters
+            </summary>
+            <returns>The command line parameters</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.Execute">
+            <summary>
+            This is overridden to set the working folder before executing the task and to invert the result
+            returned from the help compiler.
+            </summary>
+            <returns>True if successful or false on failure</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.HandleTaskExecutionErrors">
+            <summary>
+            This is overridden to invert the result of the HHC exit code
+            </summary>
+            <returns>True on success, false on failure.  HHC is backwards and returns 0 on failures and 1 on
+            success.  We invert the result to be consistent with other tasks.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.BuildHelp">
+            <summary>
+            This task is used to build help file output using the Sandcastle Help File Builder.
+            </summary>
+            <remarks>All messages from this task are logged with a high priority since it will run for a long time
+            and we need to see the progress messages to know it's doing something.  If set to Normal and ran from
+            within Visual Studio, it won't show the progress messages when the logging options are set to Minimal.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile">
+            <summary>
+            This is used to pass in the project filename
+            </summary>
+            <remarks>Since <see cref="T:SandcastleBuilder.Utils.SandcastleProject" /> already wraps the MSBuild project, it seemed
+            redundant to define each and every property on this task and map them to the project properties.  As
+            such, this task will attempt to use the executing project to create the Sandcastle project instance.
+            If that fails or <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.AlwaysLoadProject" /> is true, this file will be loaded instead.  The
+            downside is that property overrides on the command line will be ignored.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Configuration">
+            <summary>
+            This is used to pass in the configuration to use for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Platform">
+            <summary>
+            This is used to pass in the platform to use for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.OutDir">
+            <summary>
+            This is used to specify the output directory containing the build output for solution and project
+            documentation sources when using Team Build.
+            </summary>
+            <value>This property is optional.  If not specified, the default output path in project file
+            documentation sources will be used.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Verbose">
+            <summary>
+            This is used to set or get the output logging verbosity flag
+            </summary>
+            <value>This property is optional.  If set to false (the default), only build steps are written to the
+            task log.  If set to true, all output from the build process is written to the task log.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.DumpLogOnFailure">
+            <summary>
+            This is used to set or get whether the log file is dumped to the task log if the help file project
+            build fails.
+            </summary>
+            <value>This property is optional.  If set to false (the default), the log is not dumped if the build
+            fails.  If set to true, all output from the build process is written to the task log if the build
+            fails.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.AlwaysLoadProject">
+            <summary>
+            This is used to specify whether or not to load the specified <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile" /> rather than
+            use the executing project.
+            </summary>
+            <value>This property is optional.  If set to false, the default, the executing project is used as the
+            Sandcastle project to build.  If set to true, the specified <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile" /> is loaded.
+            In such cases, command line property overrides are ignored.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Properties">
+            <summary>
+            <para>Optional String parameter.</para>
+            <para>A semicolon-delimited list of property name/value pairs that override properties read from the
+            <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile" />.</para>
+            </summary>
+            <remarks>
+            <para>Use this to provide dynamic properties, that are created during build. When building inside
+            Visual Studio, only static properties are available.</para>
+            <para>This could for example be used if there are custom MSBuild targets that initialize properties
+            with version information.</para>
+            </remarks>
+            <example>Properties="Version=$(SemVersion);Optimize=$(Optimize)"</example>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Help1Files">
+            <summary>
+            This is used to return a list of the HTML Help 1 (chm) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.HelpViewerFiles">
+            <summary>
+            This is used to return a list of the MS Help Viewer (mshc) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.WebsiteFiles">
+            <summary>
+            This is used to return a list of the website files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.OpenXmlFiles">
+            <summary>
+            This is used to return a list of the Open XML (docx) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.MarkdownFiles">
+            <summary>
+            This is used to return a list of the Markdown (md) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.AllHelpFiles">
+            <summary>
+            This is used to return a list of all files that resulted from the build (all help formats)
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.GetCurrentProjectInstance">
+            <summary>
+            This is used to obtain project instance for the project that is currently being built
+            </summary>
+            <returns>The project instance for the current project if possible or null if it could not be
+            obtained.</returns>
+            <remarks>When you run MSBuild.exe, it does not store the projects in the global project collection.
+            We could build the project without it but we lose the ability to use command line overrides and
+            changes to user-defined properties.  As such we need to resort to reflection to get the current
+            project information.  This is easier than in past MSBuild versions though.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.Cancel">
+            <summary>
+            Cancel the build
+            </summary>
+            <remarks>The build will be cancelled as soon as the next message arrives from the build process</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.Report(SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs)">
+            <summary>
+            This is called by the build process to report build progress
+            </summary>
+            <param name="value">The event arguments</param>
+            <remarks>Since the build is synchronous in this task, we need to implement the interface and report
+            progress synchronously as well or the final few messages can get lost and it looks like the build
+            failed.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.BuildHelpViewerFile">
+            <summary>
+            This task is used to compress the help content into a Microsoft Help Container (a ZIP file with a .mshc
+            extension).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelpViewerFile.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files to compress are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelpViewerFile.OutputFolder">
+            <summary>
+            This is used to pass in the output folder where the compressed output file is stored
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelpViewerFile.HtmlHelpName">
+            <summary>
+            This is used to pass in the name of the help file (no path or extension)
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelpViewerFile.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelpViewerFile.CompressFiles">
+            <summary>
+            This is used to handle file compression as a background task
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelpViewerFile.ReportProgress(System.Int32)">
+            <summary>
+            Report progress as the content is compressed
+            </summary>
+            <param name="value">The number of files added to the archive so far</param>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.BuildOpenXmlFile">
+            <summary>
+            This task is used to finish up creation of the Open XML file parts and compress the help content into an
+            Open XML document (a ZIP file with a .docx extension).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files to compress are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.OutputFolder">
+            <summary>
+            This is used to pass in the output folder where the compressed output file is stored
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.HelpFilename">
+            <summary>
+            This is used to pass in the name of the help file document (no path or extension)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.IndentXml">
+            <summary>
+            This is used for debugging.  Set it to true to indent the XML, false to not indent it
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.WriteTopic(System.Xml.XmlWriter,System.Xml.XmlReader)">
+            <summary>
+            This is used to write out the body content of a topic to the main document part
+            </summary>
+            <param name="writer">The writer for the main document part</param>
+            <param name="reader">The reader for the topic body content</param>
+            <remarks>Using a reader prevents unnecessary namespaces from appearing on the body content elements
+            which happens if we convert the XElement content to a string and write it out as raw content.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ApplyChanges(System.Xml.Linq.XDocument,System.String)">
+            <summary>
+            Apply the clean up tasks to the given document
+            </summary>
+            <param name="document">The document to clean up</param>
+            <param name="key">The topic key</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.SaveRelationships">
+            <summary>
+            Save the external link and image relationship information
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.SaveNumberingStyles">
+            <summary>
+            Save list numbering styles
+            </summary>
+            <remarks>Numbering styles are rather complex.  To keep it as simple as possible, we use one common
+            abstract definition and use separate numbering definitions with level overrides to apply "ordered"
+            or "no bullet" styles to the lists that use the same style at the same level.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.AddContainingParagraphs(System.Xml.Linq.XDocument)">
+            <summary>
+            Add containing paragraphs for run elements that don't have one
+            </summary>
+            <param name="document">The document in which to add containing paragraphs</param>
+            <remarks>MAML and XML comments may not be well formed such that all text runs end up inside a
+            paragraph.  While HTML is very forgiving in that respect, Open XML is not and it will cause the
+            document to appear to be corrupted.  This attempts to fix up such ill-formed content.  It is not
+            perfect so there may still be issues.  Additional fix ups can be added as they are found but this is
+            no substitute for using well-formed content in the first place.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CheckForContainingParagraph(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
+            <summary>
+            Check for a containing paragraph on each of the given elements
+            </summary>
+            <param name="elements">An enumerable list of elements to check</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.AddBlankCellParagraphs(System.Xml.Linq.XDocument)">
+            <summary>
+            Add empty paragraphs to empty cells
+            </summary>
+            <param name="document">The document in which to add paragraphs to empty cells</param>
+            <remarks>Table cells must contain a paragraph element</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlLineBreaks(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert HTML line breaks to Open XML line breaks
+            </summary>
+            <param name="document">The document in which to apply the fix-ups</param>
+            <remarks>HTML line breaks can appear in content items and the transformations where it may not be
+            convenient or possible to insert the containing run element.  This fixes them up so that they are
+            correct.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.WrapStrayElementNodes(System.Xml.Linq.XDocument)">
+            <summary>
+            Wrap stray text nodes in text elements and, when necessary, run elements
+            </summary>
+            <param name="document">The document in which to wrap stray text nodes</param>
+            <remarks>Stray text nodes can occur when resolving shared content items.  We need to ensure that
+            all text nodes are within a text element within a run to ensure that the document does not appear to
+            be corrupted.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CleanupTables(System.Xml.Linq.XDocument)">
+            <summary>
+            This cleans up table elements so that they include the correct w:tblGrid
+            element and that they are not wrapped within a w:p element.
+            </summary>
+            <param name="document">The document in which to clean up any tables</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.InsertLineBreaks(System.Xml.Linq.XDocument)">
+            <summary>
+            Insert line break elements where needed to preserve text formatting
+            </summary>
+            <param name="document">The document in which to insert line breaks</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.RemoveInvalidSpans(System.Xml.Linq.XDocument)">
+            <summary>
+            Remove spans without a class attribute that cannot be used for formatting
+            </summary>
+            <param name="document">The document in which to remove invalid spans</param>
+            <remarks>The XSL transformation could do this but it wouldn't necessarily cover third party build
+            components which could introduce invalid spans so we'll take care of them all here.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertStyleSpans(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert style spans to Open XML run formatting
+            </summary>
+            <param name="document">The document in which to convert the style spans</param>
+            <remarks>Nested spans result in run formatting that is accumulated in each run in the nested set of
+            spans.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ApplySpanFormatting(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
+            <summary>
+            Apply the formatting from a span including all nested spans to each run contained within it
+            </summary>
+            <param name="span">The root span from which to start applying formatting</param>
+            <param name="runProps">The run properties in which to accumulate formatting</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ReorderChildren(System.Xml.Linq.XElement,System.Collections.Generic.IList{System.String})">
+            <summary>
+            Reorders an elements' children by a specific ordering.
+            </summary>
+            <param name="element">Element whose children should be in a specific order</param>
+            <param name="orderings">The specific order of child element, by local name</param>
+            <returns><paramref name="element" /> with its children reordered.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ReformatBookmarkNames(System.Xml.Linq.XDocument,System.String)">
+            <summary>
+            Reformat the bookmark names to prefix them with the topic key so that they are unique and do not
+            contain any invalid characters.
+            </summary>
+            <param name="document">The document in which to reformat the bookmark names</param>
+            <param name="key">The document key</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlAnchors(System.Xml.Linq.XDocument,System.String)">
+            <summary>
+            Convert HTML anchor elements to Open XML hyperlink elements
+            </summary>
+            <param name="document">The document in which to convert the HTML anchor elements</param>
+            <param name="key">The document key</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlImages(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert HTML image elements to Open XML drawing elements
+            </summary>
+            <param name="document">The document in which to convert the image elements</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.DetermineImageSize(System.String,System.Int64@,System.Int64@)">
+            <summary>
+            This is used to determine the image size in English Metric Units
+            </summary>
+            <param name="imageFilename">The image filename</param>
+            <param name="cx">On return, this will contain the width of the image in English Metric Units</param>
+            <param name="cy">On return, this will contain the height of the image in English Metric Units</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlLists(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert HTML list elements to Open XML list formatting elements and track each unique list style
+            </summary>
+            <param name="document">The document in which to convert the HTML anchor elements</param>
+            <remarks>Open XML lists are not like HTML lists.  The list items have formatting applied that refers
+            to a numbering properties element stored in a separate part.  The numbering properties refer to
+            an abstract numbering definition which can be shared amongst many numbering properties elements which
+            may override levels within the abstract definition.  Also Open XML only supports up to nine levels
+            of nested lists.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ApplyListFormatting(System.Xml.Linq.XElement,System.Int32)">
+            <summary>
+            This applies formatting to each nested list and list item
+            </summary>
+            <param name="list">The list to process</param>
+            <param name="level">The level of this list</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.GenerateFileList">
+            <summary>
+            This is used to generate the list of files needed for the document.  It also updates the content
+            types file with any missing content types.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CompressHelpContent">
+            <summary>
+            This is used to compress the help content into the Open XML document file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CompressFiles">
+            <summary>
+            This is used to handle file compression as a background task
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ReportProgress(System.Int32)">
+            <summary>
+            Report progress as the content is compressed
+            </summary>
+            <param name="value">The number of files added to the archive so far</param>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.CleanHelp">
+            <summary>
+            This task is used to clean (remove) help file output from the last
+            build.
+            </summary>
+            <remarks>All messages from this task are logged with a high priority.  If set to Normal and ran from
+            within Visual Studio, it won't show the progress messages when the logging options are set to Minimal.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.ProjectFile">
+            <summary>
+            This is used to pass in the project filename
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.OutputPath">
+            <summary>
+            This is used to pass in the output path that needs to be cleaned
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.WorkingPath">
+            <summary>
+            This is used to pass in the optional working path that needs to be
+            cleaned.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.LogFileLocation">
+            <summary>
+            This is used to pass in the optional log filename that needs
+            to be cleaned.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.CleanHelp.Execute">
+            <summary>
+            This is used to execute the task and clean the output folder
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.GenerateMarkdownContent">
+            <summary>
+            This task is used to finish up creation of the markdown content and copy it to the output folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files to parse are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.OutputFolder">
+            <summary>
+            This is used to pass in the output folder where the generated content is stored
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.DefaultTopic">
+            <summary>
+            This is used to pass in the default topic name.  If no Home.md file is found and a value is
+            specified, this file will be copied to create Home.md.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.AppendMarkdownFileExtensionsToUrls">
+            <summary>
+            This is used to pass in whether or not to append extensions to the sidebar topic links
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.GenerateMarkdownContent.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.GenerateMarkdownContent.ApplyChanges(System.String,System.Xml.Linq.XDocument)">
+            <summary>
+            This applies the changes needed to convert the XML to a markdown topic file
+            </summary>
+            <param name="key">The topic key</param>
+            <param name="topic">The topic to which the changes are applied</param>
+            <returns>The page title if one could be found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.GenerateMarkdownContent.RecursiveCopy(System.String,System.String,System.Int32@)">
+            <summary>
+            This copies files from the specified source folder to the specified destination folder.  If any
+            subfolders are found below the source folder, the subfolders are also copied recursively.
+            </summary>
+            <param name="sourcePath">The source path from which to copy</param>
+            <param name="destPath">The destination path to which to copy</param>
+            <param name="fileCount">The file count used for logging progress</param>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.NumberingStyle">
+            <summary>
+            This is used to track the custom numbering styles found during the step that converts the list elements
+            to Open XML lists.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Id">
+            <summary>
+            The ID for the numbering style
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Style">
+            <summary>
+            The numbering style
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Level">
+            <summary>
+            The numbering level to override
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Start">
+            <summary>
+            The starting number for ordered lists
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Properties.Resources.MimeTypes">
+             <summary>
+               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
+            &lt;!-- Run the following script in LINQPad to regenerate the content below:
+            XElement root = new XElement(&quot;mimeTypes&quot;);
+            
+            foreach (string key in Registry.ClassesRoot.GetSubKeyNames().Where(k =&gt; k[0] == &apos;.&apos;))
+            {
+            	using (RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(key))
+            	{
+            		string mimeType = regKey.GetValue(&quot;Content Type&quot;)?.ToString();
+            		
+            		if (!String.IsNullOrWhiteSpace(mimeType))
+            			root.Add(new XElement(&quot;mimeType&quot;, new XAttribute(&quot;extension&quot;, key), ne [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.Utils.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.Utils.dll
new file mode 100644
index 0000000000000000000000000000000000000000..56ebc330cb789bcbd00ff072b6c932ba47ef96ee
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.Utils.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.Utils.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.Utils.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4c32809a05c50475bf643e91b943d2f4d42ac9c2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleBuilder.Utils.xml
@@ -0,0 +1,6634 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleBuilder.Utils</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.Utils.ApiEntryType">
+            <summary>
+            This public enumerated type defines the API entry types that can be removed from the reflection
+            information file.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.None">
+            <summary>An unknown entry</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Namespace">
+            <summary>A namespace</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Class">
+            <summary>A class</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Structure">
+            <summary>An interface</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Interface">
+            <summary>An interface</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Enumeration">
+            <summary>An enumeration</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Delegate">
+            <summary>A delegate</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Constructor">
+            <summary>A constructor</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Method">
+            <summary>A method</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Operator">
+            <summary>An operator</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Property">
+            <summary>A property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Event">
+            <summary>An event</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Field">
+            <summary>A field</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ApiFilter">
+            <summary>
+            This represents an API entry that is to be removed from the reflection information using MRefBuilder's
+            namespace ripping feature.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.EntryType">
+            <summary>
+            This is used to get or set the API entry type
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.FullName">
+            <summary>
+            This is used to get the fully qualified name of the API entry
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.FilterName">
+            <summary>
+            This is used to get the API filter name
+            </summary>
+            <value>For API entry types other than namespaces, this is the name without the namespace and, for
+            methods properties, etc. the type.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.IsExposed">
+            <summary>
+            This is used to get or set whether or not the entry is exposed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.IsProjectExclude">
+            <summary>
+            This is used to get or set whether or not the entry is excluded via the project (i.e. via the SHFB
+            Namespaces option or an <c>&lt;exclude /&gt;</c> tag.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.Children">
+            <summary>
+            This returns the child API filter collection for this entry
+            </summary>
+            <value>For namespaces and types, if there are children, they represent the specific entries within
+            the namespace or type to hide or expose.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.CompareTo(SandcastleBuilder.Utils.ApiFilter)">
+            <summary>
+            Compares this instance to another instance and returns an indication of their relative values
+            </summary>
+            <param name="other">An ApiFilter object to compare</param>
+            <returns>Returns -1 if this instance is less than the value, 0 if they are equal, or 1 if this
+            instance is greater than the value or the value is null.</returns>
+            <remarks>Entries are sorted by API entry type and full name</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.#ctor(SandcastleBuilder.Utils.ApiEntryType,System.String,System.Boolean)">
+            <summary>
+            Constructor.  This takes the API type and the full name.
+            </summary>
+            <param name="apiType">The API entry type</param>
+            <param name="name">The fully qualified name</param>
+            <param name="exposed">True to expose it, false to hide it</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.ConvertToString(System.Text.StringBuilder)">
+            <summary>
+            This is used to convert the entry and its children to a string ready for use in the MRefBuilder
+            configuration file.
+            </summary>
+            <param name="sb">The string builder to which the information is appended.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.FromXml(System.Xml.XmlTextReader)">
+            <summary>
+            This is used to load the API filter information from the project file
+            </summary>
+            <param name="xr">The XML text reader from which the information is loaded</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.ToXml(System.Xml.XmlTextWriter)">
+            <summary>
+            This is used to save the content item information to the project file
+            </summary>
+            <param name="xw">The XML text writer to which the information is written</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.ApiEntryTypeFromLetter(System.Char)">
+            <summary>
+            This is used to convert an API type letter to an <see cref="T:SandcastleBuilder.Utils.ApiEntryType"/> enumerated value.
+            </summary>
+            <param name="apiType">The letter to convert</param>
+            <returns>The <b>ApiEntryType</b> represented by the letter</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ApiFilterCollection">
+            <summary>
+            This collection class is used to hold the API filter entries for MRefBuilder to remove
+            </summary>
+            <remarks><note type="note">Unlike other collections in the project, this one is cleared and rebuilt if it
+            changes.  As such, the contained items do not notify the project when they change as they are created
+            anew each time the collection is rebuilt.</note></remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilterCollection.Project">
+            <summary>
+            This is used to get or set a reference to the project that owns the collection
+            </summary>
+            <remarks>This is used by collection editors to get a reference to the owning project.  Child
+            collections do not contain a reference to the project file.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.FromXml(System.String)">
+            <summary>
+            This is used to load existing API filter items from the project file
+            </summary>
+            <param name="apiFilter">The API filter items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.ToXml">
+            <summary>
+            This is used to write the API filter info to an XML fragment ready for storing in the project file
+            </summary>
+            <returns>The XML fragment containing the API filter information</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.MergeExclusionEntry(SandcastleBuilder.Utils.ApiEntryType,System.String)">
+            <summary>
+            This is used to merge an exclusion entry with the filter collection
+            </summary>
+            <param name="entryType">The entry type</param>
+            <param name="fullName">The member's full name</param>
+            <returns>True if merged without conflict or false if the merged member conflicted with an existing
+            entry.  The existing entry will take precedence.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.AddNamespaceChild(System.String,System.String,System.String,System.String)">
+            <summary>
+            Add a new type entry to this namespace collection
+            </summary>
+            <param name="fullName">The full name of the entry</param>
+            <param name="nameSpace">The namespace</param>
+            <param name="typeName">The type name</param>
+            <param name="memberName">The member</param>
+            <returns>True if merged without conflict or false if the merged member conflicted with an existing
+            entry.  The existing entry will take precedence.</returns>
+            <remarks>Entries added by this method are exclusions based on namespace comment or &lt;exclude/&gt;
+            tag exclusions.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.AddTypeChild(System.String,System.String,System.String)">
+            <summary>
+            Add a new member entry to this type collection
+            </summary>
+            <param name="fullName">The full name of the entry</param>
+            <param name="typeName">The type name</param>
+            <param name="memberName">The member</param>
+            <returns>True if merged without conflict or false if the merged member conflicted with an existing
+            entry.  The existing entry will take precedence.</returns>
+            <remarks>Entries added by this method are exclusions based on namespace comment or &lt;exclude/&gt;
+            tag exclusions.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.ToString">
+            <summary>
+            Convert the API filter entry and its children to a string
+            </summary>
+            <returns>The entries in the MRefBuilder API filter XML format</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ApiTopicNamer">
+            <summary>
+            This is used to generate topic filenames for API members based on the selected naming method
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProcess">The build process using the topic namer</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the instance if not done explicitly
+            with <see cref="M:SandcastleBuilder.Utils.ApiTopicNamer.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToTopicFileName(System.String)">
+            <summary>
+            This is used to get an API topic filename for the given API member ID
+            </summary>
+            <param name="memberId">The member ID for which to get a topic filename</param>
+            <returns>The topic filename for the member ID based on the specified naming method</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToMd5Hash(System.String)">
+            <summary>
+            This generates an MD5 hash of the member ID and returns it in GUID form
+            </summary>
+            <param name="memberId">The member ID</param>
+            <returns>The MD5 hash of the member ID in GUID form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToMemberName(System.String)">
+            <summary>
+            This modifies the member ID so that it can be used as a filename
+            </summary>
+            <param name="memberId">The member ID</param>
+            <returns>The member ID in a form suitable for use as a filename.  If a duplicate is found, the name
+            is made unique by adding a numeric suffix.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToHashedMemberName(System.String)">
+            <summary>
+            This returns the hash for the member ID to use as a filename.  Hash codes can be used to shorten
+            extremely long type and member names.
+            </summary>
+            <param name="memberId">The member ID</param>
+            <returns>The hash for the member ID.  If a duplicate is found, the name is made unique by adding a
+            numeric suffix.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildAction">
+            <summary>
+            This defines the build action (item name) for build items in a project
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.None">
+            <summary>No action, the item is ignored</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Image">
+            <summary>Conceptual content image file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.CodeSnippets">
+            <summary>Conceptual content code snippets file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Tokens">
+            <summary>Conceptual content token file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.ContentLayout">
+            <summary>Conceptual content layout file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.SiteMap">
+            <summary>Additional content site map file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Content">
+            <summary>General content file (HTML, style sheet, images not  related to conceptual content, etc.)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.ResourceItems">
+            <summary>Resource items file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.XamlConfiguration">
+            <summary>XAML configuration file (for BuildAssembler)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Folder">
+            <summary>A folder (project explorer designation only, not a build
+            action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Project">
+            <summary>The project (project explorer designation only, not a
+            build action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.DocumentationSource">
+            <summary>A documentation source (project explorer designation only,
+            not a build action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.ReferenceItem">
+            <summary>A reference item (project explorer designation only, not a
+            build action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.PackageReferenceItem">
+            <summary>A package reference item (project explorer designation only, not a
+            build action)</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildAssemblerVerbosity">
+            <summary>
+            This public enumerated type defines the build assembler tool verbosity levels
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAssemblerVerbosity.AllMessages">
+            <summary>Report all messages (the default)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAssemblerVerbosity.OnlyWarningsAndErrors">
+            <summary>Only warning and error messages</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAssemblerVerbosity.OnlyErrors">
+            <summary>Only error messages</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration">
+            <summary>
+            This class is used to contain a build component's configuration and enabled state
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration.Enabled">
+            <summary>
+            This is used to get or set the build component's enabled state
+            </summary>
+            <value>If set to false, the component will not be used in the build</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration.Configuration">
+            <summary>
+            This is used to get or set the component's configuration information
+            </summary>
+            <value>This should be an XML fragment.  The root node should be named <c>component</c> with an
+            <c>id</c> attribute that names the component</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration.#ctor(System.Boolean,System.String)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="enabled">The enabled state</param>
+            <param name="configuration">The configuration</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary">
+            <summary>
+            This dictionary class is used to hold the third party build component configuration properties for a
+            project such as the Code Block Component.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary.FromXml(System.String)">
+            <summary>
+            This is used to load existing component configuration items from the project file
+            </summary>
+            <param name="components">The component items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary.ToXml">
+            <summary>
+            This is used to write the component configuration info to an XML fragment ready for storing in the
+            project file.
+            </summary>
+            <returns>The XML fragment containing the component configuration info.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary.Add(System.String,System.Boolean,System.String)">
+            <summary>
+            Add a new item to the dictionary
+            </summary>
+            <param name="id">The component ID</param>
+            <param name="enabled">True for enabled, false for disabled</param>
+            <param name="config">The component configuration</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration" /> added to the project.  If the ID already
+            exists in the collection, the existing item is returned.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors">
+            <summary>
+            This public enumerated type defines the execution behavior of a build process plug-in
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.Before">
+            <summary>Execute before the help file builder's normal processing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.After">
+            <summary>Execute after the help file builder's normal processing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.BeforeAndAfter">
+            <summary>Execute both before and after the help file builder's normal processing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.InsteadOf">
+            <summary>Execute instead of the help file builder's normal processing.  If this flag is set,
+            <c>Before</c> and <c>After</c> are ignored.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ExecutionContext">
+            <summary>
+            This class defines the execution context in which the plug-in is being called during the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.BuildStep">
+            <summary>
+            This read-only property returns the current build step
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.Behavior">
+            <summary>
+            This read-only property returns the execution behavior for the plug-in within the current context
+            </summary>
+            <value><c>Before</c> indicates that it is being called before the normal help file builder
+            processing.  <c>After</c> indicates that it is being called after the normal help file builder
+            processing.  <c>InsteadOf</c> indicates that it is being called instead of the normal help file
+            builder processing.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.Executed">
+            <summary>
+            This property is used to set or get whether or not the plug-in actually executed
+            </summary>
+            <value>It is true by default.  Set it to false if the plug-in did not execute.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildStep">The current build step.</param>
+            <param name="behavior">The behavior of the plug-in for the current context.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if an attempt is made to specify more than one
+            behavior type.</exception>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint">
+            <summary>
+            This class defines when a plug-in gets executed during the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.BuildStep">
+            <summary>
+            This read-only property returns the build step in which the plug-in will run.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.Behavior">
+            <summary>
+            This read-only property returns the execution behavior of the plug-in.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.Priority">
+            <summary>
+            This read-only property returns the execution priority of the plug-in.
+            </summary>
+            <value>Plug-ins with a higher priority value will execute before those with a lower priority value.
+            If not specified, the default is 1,000.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildStep">The step in which the plug-in should run.</param>
+            <param name="behavior">The behavior of the plug-in when it is ran.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if an attempt is made to set the Before or After
+            behavior with the InsteadOf behavior.  It is also thrown for invalid combinations of build step and
+            behavior, i.e. Initializing with Before or InsteadOf.  See the help file for a full list.</exception>
+            <overloads>There are two overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors,System.Int32)">
+            <summary>
+            This constructor is used to set a specific execution priority.
+            </summary>
+            <param name="buildStep">The step in which the plug-in should run.</param>
+            <param name="behavior">The behavior of the plug-in when it is ran.</param>
+            <param name="priority">The execution priority for the plug-in.</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the help file
+            builder plug-ins.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the plug-in ID
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.IsHidden">
+            <summary>
+            This is used to indicate whether or not the plug-in is hidden in the project plug-in property page
+            </summary>
+            <value>If set to true, the plug-in is hidden in the project plug-in property page and cannot
+            be added to the project.  If false, the default, it can be added to projects.  This is useful for
+            presentation style dependency plug-ins that have no configurable elements and thus do not need to be
+            manually added to the project to override settings.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.RunsInPartialBuild">
+            <summary>
+            This is used to get or set whether or not the plug-in runs in partial builds
+            </summary>
+            <value>If not specified, the default is false</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Version">
+            <summary>
+            This is used to get or set the plug-in version number
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the plug-in
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required plug-in ID</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugIn">
+            <summary>
+            This interface defines the methods required to implement a Sandcastle Help File Builder build process
+            plug-in.
+            </summary>
+            <remarks>Derived classes must also implement the <see cref="T:System.IDisposable"/> interface.  Plug-ins are
+            singletons in nature.  The composition container will create instances as needed and will dispose of them
+            when the container is disposed of.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns an enumerable list of execution points that define when the plug-in
+            should be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.IPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.IPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditor">
+            <summary>
+            This class defines the interface used to edit a plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditor.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to edit a plug-in configuration
+            </summary>
+            <param name="project">A reference to the active project</param>
+            <param name="configuration">An XML element containing the current configuration settings</param>
+            <returns>True if the configuration element was updated, false if not</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditorMetadata">
+            <summary>
+            This class defines the metadata for a plug-in configuration editor
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditorMetadata.Id">
+            <summary>
+            This read-only property returns the ID of the configurable plug-in
+            </summary>
+            <value>This must match the ID of the plug-in for which this will provide a configuration editor</value>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata">
+            <summary>
+            This class defines the metadata for a Sandcastle Help File Builder build process plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.IsHidden">
+            <summary>
+            This read-only property returns true if the plug-in is hidden in the project plug-in property page
+            </summary>
+            <value>If this returns true, the plug-in is hidden in the project plug-in property page and cannot
+            be added to the project.  If false, the default, it can be added to projects.  This is useful for
+            presentation style dependency plug-ins that have no configurable elements and thus do not need to be
+            manually added to the project to override settings.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.RunsInPartialBuild">
+            <summary>
+            This read-only property returns true if the plug-in should run in a partial build or false if it
+            should not.
+            </summary>
+            <value>If this returns false, the plug-in will not be loaded when a partial build is performed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Version">
+            <summary>
+            This read-only property returns the version of the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the plug-in
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration">
+            <summary>
+            This class is used to contain a plug-in's configuration and enabled state
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration.Enabled">
+            <summary>
+            This is used to get or set the plug-in's enabled state
+            </summary>
+            <value>If set to false, the plug-in will not be used in the build</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration.Configuration">
+            <summary>
+            This is used to get or set the plug-in's configuration information
+            </summary>
+            <value>This should be an XML fragment.  The root node should be named <c>configuration</c></value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration.#ctor(System.Boolean,System.String)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="enabled">The enabled state</param>
+            <param name="configuration">The configuration</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary">
+            <summary>
+            This dictionary class is used to hold the configurations for third party build process plug-ins such as
+            the Additional Content Only plug-in.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary.FromXml(System.String)">
+            <summary>
+            This is used to load existing plug-in configuration items from the project file
+            </summary>
+            <param name="plugIns">The plug-in items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary.ToXml">
+            <summary>
+            This is used to write the plug-in configuration info to an XML fragment ready for storing in the
+            project file.
+            </summary>
+            <returns>The XML fragment containing the plug-in configuration info.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary.Add(System.String,System.Boolean,System.String)">
+            <summary>
+            Add a new item to the dictionary
+            </summary>
+            <param name="id">The plug-in ID</param>
+            <param name="enabled">True for enabled, false for disabled</param>
+            <param name="config">The plug-in configuration</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration" /> added to the project.  If the ID already exists in
+            the collection, the existing item is returned.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationEditorExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the help file
+            builder plug-in configuration editors.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationEditorExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the component ID
+            </summary>
+            <value>This must match the ID of the component or plug-in for which this will provide a configuration
+            editor.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationEditorExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required component ID</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials">
+            <summary>
+            This class is used to specify credentials for a proxy server.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.UseProxyServer">
+            <summary>
+            This is used to set or get the flag indicating whether or not to use the proxy server
+            </summary>
+            <value>By default, this is false and <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.ProxyServer"/> and <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.Credentials"/> will be
+            ignored.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.ProxyServer">
+            <summary>
+            Get or set the proxy server name
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.UseProxyServer"/> is false, this will be ignored</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.Credentials">
+            <summary>
+            Get the user credentials
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.UseProxyServer"/> is false, this will be ignored</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are two overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.#ctor(System.Boolean,System.Uri,SandcastleBuilder.Utils.BuildComponent.UserCredentials)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="useProxy">True to use default the proxy server, false to not use it</param>
+            <param name="server">The server name to use</param>
+            <param name="proxyUser">The user credentials to use for the proxy server</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            Create a proxy credentials instance from an XML element
+            </summary>
+            <param name="configuration">The XML element from which to obtain the settings</param>
+            <returns>A <see cref="T:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials"/> object containing the settings from the XPath navigator</returns>
+            <remarks>It should contain an element called <b>proxyCredentials</b> with two attributes
+            (<c>useProxy</c> and <c>proxyServer</c>) and a nested <c>userCredentials</c> element.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.ToXml">
+            <summary>
+            Converts the proxy credentials to an XML element
+            </summary>
+            <returns>The proxy credentials settings in an XML element</returns>
+            <remarks>The credentials are stored in an element called <c>proxyCredentials</c> with two attributes
+            (<c>useProxy</c> and <c>proxyServer</c>) and a nested <c>userCredentials</c> element.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.UserCredentials">
+            <summary>
+            This class is used to specify user credentials.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UseDefaultCredentials">
+            <summary>
+            This is used to set or get the flag indicating whether or not to use default credentials
+            </summary>
+            <value>By default, this is true and <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UserName"/> and <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.Password"/> will be ignored</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UserName">
+            <summary>
+            Get or set the user name
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UseDefaultCredentials"/> is true, this will be ignored</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.Password">
+            <summary>
+            Get or set the password
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UseDefaultCredentials"/> is true, this will be ignored</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are three overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.#ctor(System.Boolean,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="useDefault">True to use default credentials, false to use the supplied user name and
+            password.</param>
+            <param name="userName">The user name to use.</param>
+            <param name="password">The password to use.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            Create a user credentials instance from an XML element
+            </summary>
+            <param name="configuration">The XML element from which to obtain the settings</param>
+            <returns>A <see cref="T:SandcastleBuilder.Utils.BuildComponent.UserCredentials"/> object containing the settings from the XPath navigator</returns>
+            <remarks>It should contain an element called <c>userCredentials</c> with three attributes:
+            <c>useDefault</c>, <c>userName</c>, and <c>password</c>.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.ToXml">
+            <summary>
+            Converts the user credentials to an XML element
+            </summary>
+            <returns>The user credentials settings in an XML element</returns>
+            <remarks>The credentials are stored in an element called <c>userCredentials</c> with three
+            attributes: <c>useDefault</c>, <c>userName</c>, and <c>password</c>.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.BuildProcess">
+            <summary>
+            This class is used to handle all aspects of the build process in a separate thread
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateApiFilter">
+            <summary>
+            This is used to generate the API filter collection used by MRefBuilder to exclude items from the
+            reflection information file.
+            </summary>
+            <remarks>Namespaces and members with an <c>&lt;exclude /&gt;</c> tag in their comments are removed
+            using the ripping feature as it is more efficient than searching for and removing them from the
+            reflection file after it has been generated especially on large projects.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeComponentConfigurations">
+            <summary>
+            This is used to merge the component configurations from the project with the
+            <strong>sandcastle.config</strong> file.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeConfigurations(System.Xml.XmlDocument,System.Boolean)">
+            <summary>
+            This handles merging the build component configurations into the given configuration file
+            </summary>
+            <param name="config">The configuration file into which the configurations are merged</param>
+            <param name="isConceptualConfig">True for a conceptual configuration file, false for a reference
+            configuration file.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeComponent(System.String,Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory,System.Xml.XmlNode,System.Xml.XmlNode,System.Boolean,System.Collections.Generic.Stack{System.String})">
+            <summary>
+            This handles merging of the custom component configurations into the configuration file including
+            dependencies.
+            </summary>
+            <param name="id">The ID of the component to merge</param>
+            <param name="factory">The build component factory</param>
+            <param name="rootNode">The root container node</param>
+            <param name="configNode">The configuration node to merge</param>
+            <param name="isConceptualConfig">True if this is a conceptual content configuration file or false if
+            it is a reference build configuration file.</param>
+            <param name="mergeStack">A stack used to check for circular build component dependencies.  Pass null
+            on the first non-recursive call.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateApiTopicManifest">
+            <summary>
+            This is used to generate the API topic manifest
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ProgressReportProvider">
+            <summary>
+            This is used to get or set the progress report provider
+            </summary>
+            <remarks>If not set, no progress will be reported by the build</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CancellationToken">
+            <summary>
+            This is used to get or set the cancellation token for the build if running as a task
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CurrentBuildStep">
+            <summary>
+            This read-only property is used to get the current build step
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.BuildStart">
+            <summary>
+            This read-only property returns the build start time
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.TemplateFolder">
+            <summary>
+            This returns the location of the help file builder template folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ProjectFolder">
+            <summary>
+            This returns the project folder name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ProjectFilename">
+            <summary>
+            This returns the project filename without the folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.OutputFolder">
+            <summary>
+            This returns the output folder where the log file and help file can be found after the build process
+            has finished.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.WorkingFolder">
+            <summary>
+            This returns the name of the working files folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Help1CompilerFolder">
+            <summary>
+            This returns the name of the HTML Help 1 compiler folder determined by the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FrameworkReflectionDataFolder">
+            <summary>
+            This returns the name of the folder that contains the reflection data for the selected framework
+            platform and version (.NETFramework 4.5, .NETCore 4.5, Silverlight 5.0, etc.).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Language">
+            <summary>
+            This read-only property returns the language used for resource items, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LanguageFolder">
+            <summary>
+            This read-only property returns the resource item file language folder name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PresentationStyle">
+            <summary>
+            This returns the presentation instance being used by the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PresentationStyleFolder">
+            <summary>
+            This returns the name of the main Sandcastle presentation style folder determined by the build
+            process.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PresentationStyleResourceItemsFolder">
+            <summary>
+            This returns the name of the presentation style resource items folder determined by the build
+            process.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.HelpFormatOutputFolders">
+            <summary>
+            This read-only property returns a collection of the output folders specific to each help file format
+            produced by the build.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LogFilename">
+            <summary>
+            This returns the name of the log file used for saving the build progress messages
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReflectionInfoFilename">
+            <summary>
+            This returns the name of the reflection information file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReflectionDataSetDictionary">
+            <summary>
+            This read-only property returns the framework reflection data dictionary used by the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FrameworkReflectionData">
+            <summary>
+            This read-only property returns the framework reflection data settings used by the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CurrentProject">
+            <summary>
+            This returns the current project being used for the build
+            </summary>
+            <remarks>Although there is nothing stopping it, project options should not be modified during a
+            build.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CurrentFormat">
+            <summary>
+            This returns the current help file format being generated
+            </summary>
+            <remarks>The <strong>GenerateHelpProject</strong>, and <strong>CompilingHelpFile</strong>
+            steps will run once for each help file format selected.  This property allows a plug-in to determine
+            which files it may need to work with during those steps or to skip processing if it is not relevant.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PartialBuildType">
+            <summary>
+            This read-only property is used to get the partial build type
+            </summary>
+            <remarks>Partial builds occur when editing the namespace summaries, editing the API filter, and as
+            part of some plug-ins that do not require all build options.  In a partial build, build steps after
+            the point indicated by this property are not executed and the build stops.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ConceptualContent">
+            <summary>
+            This is used to get the conceptual content settings in effect for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Help1Files">
+            <summary>
+            This returns a list of the HTML Help 1 (CHM) files that were built
+            </summary>
+            <remarks>If the HTML Help 1 format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.HelpViewerFiles">
+            <summary>
+            This returns a list of the MS Help Viewer (MSHC) files that were built
+            </summary>
+            <remarks>If the MS Help Viewer format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.WebsiteFiles">
+            <summary>
+            This returns a list of the website files that were built
+            </summary>
+            <remarks>If the website format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.OpenXmlFiles">
+            <summary>
+            This returns a list of the Open XML files that were built
+            </summary>
+            <remarks>If the Open XML format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MarkdownFiles">
+            <summary>
+            This returns a list of the Markdown files that were built
+            </summary>
+            <remarks>If the Markdown format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.TaskRunner">
+            <summary>
+            This returns the task runner instance
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.SubstitutionTags">
+            <summary>
+            This returns the substitution tag replacement handler instance
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.SuppressApiFilter">
+            <summary>
+            This controls whether or not the API filter is suppressed
+            </summary>
+            <value>By default, it is not suppressed and the API filter will be applied.  The API Filter designer
+            uses this to suppress the filter so that all members are obtained.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ApiTocParentId">
+            <summary>
+            This is used to get or set the table of contents parent for the API content
+            </summary>
+            <remarks>If not set, <see cref="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.RootContentContainerId" /> is used if it is set.  If it is not,
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId" /> is used.  If this property is set, the value should be
+            the ID of a topic in the project's conceptual content.  The topic must appear in a content layout
+            file and must have its <c>Visible</c> property set to True in the layout file.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ApiTocOrder">
+            <summary>
+            This is used to get or set the sort order for API content so that it appears within its parent in the
+            correct position.
+            </summary>
+            <remarks>The default is -1 to let the build engine determine the best value to use based on the other
+            project properties.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.RootContentContainerId">
+            <summary>
+            This is used to get or set the topic ID to use for the root content container node
+            </summary>
+            <remarks>If not set, all content will appear at the root level in the
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId" />.  If set, the value should be the ID of a topic in the
+            project's conceptual content.  The topic must appear in a content layout file and must have its
+            <c>Visible</c> property set to False in the layout file.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.DefaultTopicFile">
+            <summary>
+            This returns the filename of the default topic as determined by the build engine
+            </summary>
+            <remarks>The path is relative to the root of the output folder (i.e. html/DefaultTopic.htm)</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ResolvedHelpTitle">
+            <summary>
+            This returns the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HelpTitle"/> project property value with all
+            substitution tags it contains, if any, resolved to actual values.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ResolvedHtmlHelpName">
+            <summary>
+            This returns the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HtmlHelpName"/> project property value with all
+            substitution tags it contains, if any, resolved to actual values.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReferencedNamespaces">
+            <summary>
+            This read-only property returns a hash set used to contain a list of namespaces referenced by the
+            project reflection data files, project XML comments files, and base framework XML comments files.
+            </summary>
+            <value>These namespaces are used to limit what the Resolve Reference Links component has to index</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ComponentContainer">
+            <summary>
+            This read-only property returns the MEF component container
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.SyntaxGenerators">
+            <summary>
+            This read-only property returns the syntax generator metadata
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.#ctor(SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProject">The project to build</param>
+            <overloads>There are two overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.#ctor(SandcastleBuilder.Utils.SandcastleProject,SandcastleBuilder.Utils.BuildEngine.PartialBuildType)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProject">The project to build</param>
+            <param name="partialBuildType">The partial build type to perform</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Build">
+            <summary>
+            Call this method to perform the build on the project.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportProgress(System.String,System.Object[])">
+            <summary>
+            This is used to report progress during the build process within the current step
+            </summary>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+            <overloads>This method has two overloads.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportError(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.String,System.String,System.Object[])">
+            <summary>
+            This is used to report an error that will abort the build
+            </summary>
+            <param name="step">The current build step</param>
+            <param name="errorCode">The error code</param>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+            <remarks>This just reports the error.  The caller must abort the build</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportWarning(System.String,System.String,System.Object[])">
+            <summary>
+            This is used to report a warning that may need attention
+            </summary>
+            <param name="warningCode">The warning code</param>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportProgress(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.String,System.Object[])">
+            <summary>
+            This is used to report progress during the build process and possibly update the current step
+            </summary>
+            <param name="step">The current build step</param>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.VerifySafePath(System.String,System.String,System.String)">
+            <summary>
+            Make sure the path isn't one the user would regret having nuked without warning
+            </summary>
+            <param name="propertyName">The name of the path property</param>
+            <param name="propertyValue">It's current value</param>
+            <param name="projectPath">The path to the current project</param>
+            <remarks>Since most people don't read the help file and also ignore the warning in the property grid
+            description pane, we'll take some steps to idiot-proof the dangerous path properties.  I'm starting
+            to lose count of the number of people that point WorkingPath at the root of their C:\ drive and
+            wonder why all their files disappear.
+            
+            <p/>Paths checked for include root references to hard drives and network shares, most common
+            well-known folders, and the project's root folder.</remarks>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if the path is one of the ones that probably should
+            not be used.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GatherBuildOutputFilenames">
+            <summary>
+            This is used to gather a list of files produced by the build
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FindTools">
+            <summary>
+            Find the Sandcastle tools and the HTML help compiler
+            </summary>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if any of the tools cannot be found</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FindOnFixedDrives(System.String)">
+            <summary>
+            Find a folder by searching the Program Files folders on all fixed drives.
+            </summary>
+            <param name="path">The path for which to search</param>
+            <returns>The path if found or an empty string if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FindSdkExecutable(System.String)">
+            <summary>
+            This is used to find the named executable in one of the Visual Studio SDK installation folders.
+            </summary>
+            <param name="exeName">The name of the executable to find</param>
+            <returns>The path if found or an empty string if not found</returns>
+            <remarks>The search looks in all "*Visual*SDK*" folders under the Program Files special folder on all
+            fixed drives.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ValidateDocumentationSources">
+            <summary>
+            Validate the documentation source information and copy the files to the working folder
+            </summary>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if any of the information is invalid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.DetermineApiContentPlacement">
+            <summary>
+            This is used to determine the best placement for the API content based on the project settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeConceptualAndAdditionalContentTocInfo">
+            <summary>
+            This is used to merge the conceptual content table of contents with any additional content table of
+            contents information.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CopySiteMapFiles(SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            This is used to copy site map files to the help format output folders including those for any child
+            site map entries.
+            </summary>
+            <param name="site">The site entry containing the files to copy</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CombineIntermediateTocFiles">
+            <summary>
+            This combines the conceptual and API intermediate TOC files into one file ready for transformation to
+            the help format-specific TOC file formats and, if necessary, determines the default topic.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CopyAdditionalContent">
+            <summary>
+            This is called to copy the additional content files to the help format content folders
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CopyStandardHelpContent">
+            <summary>
+            This is called to copy the standard content files (icons, scripts, style sheets, and other standard
+            presentation style content) to the help output folders.
+            </summary>
+            <remarks>This creates the base folder <strong>Output\</strong> and one folder for each help file
+            format.  It then copies the stock icon, script, and style sheet files from the defined presentation
+            style help content folders.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.RecursiveCopy(System.String,System.String,System.Int32@)">
+            <summary>
+            This copies files from the specified source folder to the specified destination folder.  If any
+            subfolders are found below the source folder and the wildcard is "*.*", the subfolders are also
+            copied recursively.
+            </summary>
+            <param name="sourcePath">The source path from which to copy</param>
+            <param name="destPath">The destination path to which to copy</param>
+            <param name="fileCount">A reference to the file count variable</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.AddApiTopicFilenames">
+            <summary>
+            This is used to add filenames to the API members in the reflection data file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateWebsite">
+            <summary>
+            This is used to generate the website helper files and copy the output to the project output folder
+            ready for use as a website.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.EnsureOutputFoldersExist(System.String)">
+            <summary>
+            This is used to ensure that all output folders exist based on the selected help file format(s)
+            </summary>
+            <param name="subFolder">The subfolder name or null to ensure that the base folders exist.</param>
+            <remarks>This creates the named folder under the help format specific folder beneath the
+            <strong>.\Output</strong> folder.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CommentsFiles">
+            <summary>
+            This read-only property returns the XML comments files collection
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateNamespaceSummaries">
+            <summary>
+            This is called to generate the namespace summary file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.AddNamespaceComments(System.Xml.XmlNode,System.String)">
+            <summary>
+            Add project or namespace comments
+            </summary>
+            <param name="member">The member node to modify.</param>
+            <param name="summaryText">The summary text to add.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GetReferencedNamespaces(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces from the given reflection data file
+            </summary>
+            <param name="reflectionInfoFile">The reflection data file to search for namespaces</param>
+            <param name="validNamespaces">An enumerable list of valid namespaces</param>
+            <returns>An enumerable list of unique namespaces</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.AddNamespaceGroupEntries">
+            <summary>
+            This processes the namespaces in the reflection information file and adds the group entries
+            </summary>
+            <returns>True on success, false on failure</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GroupNamespaces(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
+            <summary>
+            This is used to group the namespaces based on their common root
+            </summary>
+            <param name="namespaces">An enumerable list of namespaces to group.</param>
+            <param name="hasRootNamespaceContainer">True if the project has a root namespace container, false
+            if not.  This controls whether or not the root group is retained.</param>
+            <returns>An enumerable list of the grouped namespaces</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LoadedPlugIns">
+            <summary>
+            This returns a <see cref="T:System.Collections.Generic.Dictionary`2"/> containing the currently loaded plug-ins
+            </summary>
+            <value>The key is the plug in ID.  The value is a reference to an <see cref="T:SandcastleBuilder.Utils.BuildComponent.IPlugIn"/> interface
+            for the plug-in.</value>
+            <remarks>This allows you to access other plug-ins to facilitate sharing of information between them</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LoadPlugIns">
+            <summary>
+            Load and initialize the plug-ins used by this project
+            </summary>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if a requested plug-in is not found</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ExecutePlugIns(SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            Execute all plug-ins that need to execute in the given build step that have the given execution
+            behavior.
+            </summary>
+            <param name="behavior">The execution behavior</param>
+            <returns>True if at least one plug-in was executed or false if no plug-ins were executed.</returns>
+            <remarks>Plug-ins will execute based on their execution priority.  Those with a higher priority value
+            will execute before those with a lower value.  Plug-ins with identical priority values may execute
+            in any order within their group.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ExecuteBeforeStepPlugIns">
+            <summary>
+            This can be used by plug-ins using the <see cref="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.InsteadOf" /> execution behavior
+            to execute plug-ins that want to run before the plug-in executes its main processing.
+            </summary>
+            <remarks>This will only run once per step.  Any subsequent calls by other plug-ins will be ignored.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ExecuteAfterStepPlugIns">
+            <summary>
+            This can be used by plug-ins using the <see cref="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.InsteadOf" /> execution behavior
+            to execute plug-ins that want to run after the plug-in has executed its main processing.
+            </summary>
+            <remarks>This will only run once per step.  Any subsequent calls by other plug-ins will be ignored.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs">
+            <summary>
+            This is a custom event arguments class use to report build progress
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.BuildStep">
+            <summary>
+            This read-only property is used to get the current build step of the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.StepChanged">
+            <summary>
+            This read-only property is used to get whether or not the build step has changed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.HasCompleted">
+            <summary>
+            This read-only property is used to get whether or not the build has completed
+            </summary>
+            <remarks>The build may have succeeded, failed, or been canceled.  See <see cref="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.BuildStep"/> for the
+            final disposition.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.Message">
+            <summary>
+            This read-only property is used to get the message associated with the progress report
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.Boolean,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildStep">The current build step</param>
+            <param name="stepChanged">True if the build step has changed, false if not</param>
+            <param name="message">The message to report</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.BuildStep">
+            <summary>
+            This public enumerated type defines the build steps used when reporting progress during a build.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.None">
+            <summary>The build has not yet started.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Initializing">
+            <summary>Initializing to prepare for build.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ClearWorkFolder">
+            <summary>The working folder is about to be created or cleared.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ValidatingDocumentationSources">
+            <summary>The documentation source information is being validated and copied to the build folder.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateSharedContent">
+            <summary>The shared content files are being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateApiFilter">
+            <summary>Generate the API filter for MRefBuilder</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateReflectionInfo">
+            <summary>The reflection information is being generated by <strong>MRefBuilder</strong>.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ApplyDocumentModel">
+            <summary>The reflection information is being transformed by applying the presentation style's
+            document model to it.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.AddNamespaceGroups">
+            <summary>Add namespace group entries to the reflection information file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.AddApiTopicFilenames">
+            <summary>Add topic filenames to API members in the reflection information file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateApiTopicManifest">
+            <summary>Generate the API topic manifest file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateNamespaceSummaries">
+            <summary>Namespace summary information is being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateInheritedDocumentation">
+            <summary>All <c>&lt;inheritDoc /&gt;</c> tags are being expanded.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyConceptualContent">
+            <summary>The conceptual content files are being copied to the working and output folders.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CreateConceptualTopicConfigs">
+            <summary>The conceptual content topic configuration files are being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyAdditionalContent">
+            <summary>The additional content files are being copied to the help output folder.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.MergeTablesOfContents">
+            <summary>The conceptual and additional content tables of contents are being merged.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateIntermediateTableOfContents">
+            <summary>The intermediate table of contents is being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CreateBuildAssemblerConfigs">
+            <summary>The <strong>sandcastle.config</strong> <strong>BuildAssembler</strong> configuration file is
+            being created.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.MergeCustomConfigs">
+            <summary>Custom build component configurations are being merged into the <strong>sandcastle.config</strong>
+            file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.BuildTopics">
+            <summary>Conceptual and/or API reference help file topics are being generated by
+            <strong>BuildAssembler</strong>.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CombiningIntermediateTocFiles">
+            <summary>The intermediate table of content files are being merged into a single file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ExtractingHtmlInfo">
+            <summary>Title and keyword index information is being extracted for the HTML Help 1 TOC and index
+            and/or website TOC.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyStandardHelpContent">
+            <summary>The standard help file content (art, scripts, styles, and other standard presentation style
+            content) is being copied to the help output folder.</summary>
+            <remarks>This must occur after <c>ExtracingHtmlInfo</c> as the replacement tags in the web content
+            may rely on the table of contents and index files generated in that step.</remarks>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateHelpProject">
+            <summary>The help project file is being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CompilingHelpFile">
+            <summary>The help file project is being compiled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateFullTextIndex">
+            <summary>Generate full-text index for ASP.NET website search.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyingWebsiteFiles">
+            <summary>The website files are being copied to the output path.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CleanIntermediates">
+            <summary>The temporary help project files are being removed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Completed">
+            <summary>The build has completed successfully.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Canceled">
+            <summary>The build was canceled by user request.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Failed">
+            <summary>The build failed with an unexpected error.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation">
+            <summary>
+            This is used to represent a framework XML comments file location
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.Folder">
+            <summary>The folder location</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.Wildcard">
+            <summary>The wildcard to use</summary>
+            <value>If not specified, "*.xml" is assumed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.CacheFilename">
+            <summary>Cache filename for the cached build components</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.CanHaveLocalizedVersion">
+            <summary>
+            Specify true if the XML comments can have localized versions in
+            a language sub-folder.
+            </summary>
+            <value>The default is false to not check for language-specific
+            versions of the XML comments files.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.Recurse">
+            <summary>
+            Specify true to recurse this folder for additional comments files
+            or false to only look in the given folder.
+            </summary>
+            <value>The default is false to no recurse sub-folders</value>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.FullTextIndex">
+            <summary>
+            This is a really basic implementation of an algorithm used to create a full-text index of the website
+            pages so that they can be searched using the ASP.NET web pages.
+            </summary>
+            <remarks>So that an assembly does not have to be deployed to deserialize the index information, the
+            index information is represented using built-in data types (string and long).
+            </remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.FullTextIndex.#ctor(System.String,System.Globalization.CultureInfo)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="exclusions">The file containing common word exclusions.  The file should contain one
+            work per line in lowercase.  These words will not appear in the index.</param>
+            <param name="language">The culture information</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.FullTextIndex.CreateFullTextIndex(System.String)">
+            <summary>
+            Create a full-text index from web pages found in the specified file path
+            </summary>
+            <param name="filePath">The path containing the files to index</param>
+            <remarks>Words in the exclusion list, those that are less than three characters long, and anything
+            starting with a digit will not appear in the index.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.FullTextIndex.SaveIndex(System.String)">
+            <summary>
+            Save the index information to the specified location.
+            </summary>
+            <param name="indexPath">The path to which the index files are
+            saved.</param>
+            <remarks>JSON serialization is used to save the index data.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.NamespaceGroup">
+            <summary>
+            This is used to keep track of the namespace groups and their children
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.NamespaceGroup.Namespace">
+            <summary>
+            This is used to get or set the namespace name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.NamespaceGroup.Children">
+            <summary>
+            This read-only property returns a list of the child namespaces if this is a group
+            </summary>
+            <remarks>If empty, this is a normal namespace entry</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.PartialBuildType">
+            <summary>
+            This public enumerated type defines the partial build types
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.PartialBuildType.None">
+            <summary>The build will run to completion</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.PartialBuildType.GenerateReflectionInfo">
+            <summary>The build will stop after generating reflection information</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.PartialBuildType.TransformReflectionInfo">
+            <summary>The build will stop after applying the document model, namespace grouping option if
+            applicable, and adding filenames to each topic.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement">
+            <summary>
+            This class handles substitution tag replacement in build template files
+            </summary>
+            <remarks><para>Replacement tags appear in the form of a tag name prefixed with an '@' and enclosed in
+            curly braces (<c>{@PropertyName}</c>).  An optional format specifier is also allowed if needed such
+            as for date formatting (<c>{@BuildDate:MMMM d, yyyy}</c>).</para>
+            
+            <para>Methods in this class tagged with the <see cref="T:SandcastleBuilder.Utils.Design.SubstitutionTagAttribute"/> attribute represent
+            substitution tags that require additional handling.  For simple types that require no special handling
+            and those that require only minor changes, the value returned by
+            <see cref="M:SandcastleBuilder.Utils.SandcastleProject.ReplacementValueFor(System.String)"/> is used and there is no corresponding method in this
+            class.</para></remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="currentBuild">The current build for which to perform substitution tag replacement</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TransformText(System.String,System.Object[])">
+            <summary>
+            Transform the specified template text by replacing the substitution tags with the corresponding
+            project property values.
+            </summary>
+            <param name="templateText">The template text to transform</param>
+            <param name="args">An optional list of arguments to format into the  template before transforming it</param>
+            <returns>The transformed text</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TransformTemplate(System.String,System.String,System.String)">
+            <summary>
+            Transform the specified template file by inserting the necessary values into the substitution tags
+            and saving it to the destination folder.
+            </summary>
+            <param name="templateFile">The template file to transform</param>
+            <param name="sourceFolder">The folder where the template is located</param>
+            <param name="destFolder">The folder in which to save the transformed file</param>
+            <returns>The path to the transformed file</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.OnFieldMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            Replace a substitution tag with a value from the project
+            </summary>
+            <param name="match">The match that was found</param>
+            <returns>The string to use as the replacement</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.AppDataFolder">
+            <summary>
+            The application data folder
+            </summary>
+            <returns>The application data folder.  This folder should exist if used.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.LocalDataFolder">
+            <summary>
+            The local data folder
+            </summary>
+            <returns>The local data folder.  This folder may not exist and we may need to create it.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SHFBRoot">
+            <summary>
+            The root Sandcastle Help File Builder folder
+            </summary>
+            <returns>The root Sandcastle Help File Builder folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CoreComponentsFolder">
+            <summary>
+            The core components folder (those components distributed with the help file builder)
+            </summary>
+            <returns>The core components folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ThirdPartyComponentsFolder">
+            <summary>
+            The third-party components folder
+            </summary>
+            <returns>The third-party components folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ProjectFolder">
+            <summary>
+            The current build's help file builder project folder
+            </summary>
+            <returns>The current build's help file builder project folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncProjectFolder">
+            <summary>
+            The current build's HTML encoded help file builder project folder
+            </summary>
+            <returns>The current build's HTML encoded help file builder project folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.OutputFolder">
+            <summary>
+            The current build's output folder
+            </summary>
+            <returns>The current build's output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncOutputFolder">
+            <summary>
+            The current build's HTML encoded output folder
+            </summary>
+            <returns>The current build's HTML encoded output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WorkingFolder">
+            <summary>
+            The current build's working folder
+            </summary>
+            <returns>The current build's working folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncWorkingFolder">
+            <summary>
+            The current build's HTML encoded working folder
+            </summary>
+            <returns>The current build's HTML encoded working folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SourceCodeBasePath">
+            <summary>
+            The current project's source code base path
+            </summary>
+            <returns>The current project's source code base path</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WarnOnMissingSourceContext">
+            <summary>
+            The missing source context warning setting
+            </summary>
+            <returns>The current project's missing source context warning setting</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HHCPath">
+            <summary>
+            The HTML Help 1 compiler path
+            </summary>
+            <returns>The HTML Help 1 compiler path</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ResourceItemsFolder">
+            <summary>
+            The resource items folder
+            </summary>
+            <returns>The resource items folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Help1Folder">
+            <summary>
+            The HTML Help 1 output folder
+            </summary>
+            <returns>The HTML Help 1 output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WebsiteFolder">
+            <summary>
+            The website output folder
+            </summary>
+            <returns>The website output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ComponentLocations">
+            <summary>
+            The MEF component locations
+            </summary>
+            <returns>The MEF component locations</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HelpFormatOutputPaths">
+            <summary>
+            The help format output paths
+            </summary>
+            <returns>The help format output paths</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SandcastlePath">
+            <summary>
+            The old Sandcastle Tools path (obsolete)
+            </summary>
+            <returns>This is obsolete but will still appear in the older component and plug-in configurations.
+            Throw an exception that describes what to do to fix it.  Eventually, this can be removed.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.PresentationPath">
+            <summary>
+            The presentation style folder
+            </summary>
+            <returns>The presentation style folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CodeSnippetGrouping">
+            <summary>
+            The code snippet grouping option
+            </summary>
+            <returns>The intermediate TOC XSL transformation parameters</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TransformComponentArguments">
+            <summary>
+            The Transform Component argument list
+            </summary>
+            <returns>The Transform Component argument list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HRefFormat">
+            <summary>
+            The HREF format for reference links
+            </summary>
+            <returns>The HREF format for reference links</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TargetFrameworkIdentifier">
+            <summary>
+            The target framework identifier (platform)
+            </summary>
+            <returns>The target framework identifier</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkVersion">
+            <summary>
+            The full framework version (Major.Minor[.Build[.Revision]]
+            </summary>
+            <returns>The full framework version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkVersionShort">
+            <summary>
+            The short framework version (Major.Minor[.Build])
+            </summary>
+            <returns>Typically returns a two digit version number.  However, if the build number is between 1 and
+            10, it will be included as well (i.e. v4.5.2, v4.6.1).</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ReflectionDataSetPlatform">
+            <summary>
+            The reflection data set platform
+            </summary>
+            <returns>The reflection data set platform type</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ReflectionDataSetVersion">
+            <summary>
+            The reflection data set platform version
+            </summary>
+            <returns>The reflection data set platform version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkReflectionDataFolder">
+            <summary>
+            The framework reflection data folder
+            </summary>
+            <returns>The framework reflection data folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BuildAssemblerVerbosity">
+            <summary>
+            Build assembler verbosity
+            </summary>
+            <returns>The build assembler verbosity</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SaveComponentCacheCapacity">
+            <summary>
+            Build assembler Save Component writer task cache capacity
+            </summary>
+            <returns>The cache capacity for the Save Component's writer task</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncHelpName">
+            <summary>
+            The HTML encoded help name
+            </summary>
+            <returns>The HTML encoded help name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ScriptHelpTitle">
+            <summary>
+            The script help title
+            </summary>
+            <returns>This is used when the title is passed as a parameter to a JavaScript function.  Single
+            quotes in the value are escaped and the value is HTML encoded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.UrlEncHelpTitle">
+            <summary>
+            The URL encoded help title
+            </summary>
+            <returns>Only &amp;, &lt;, &gt;, ", and space are replaced for now</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.RootNamespaceTitle">
+            <summary>
+            The root namespace title element
+            </summary>
+            <returns>If not set, it returns the localized title element include as the value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.LangId">
+            <summary>
+            The language ID
+            </summary>
+            <returns>The language ID</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Language">
+            <summary>
+            The language locale ID and native name
+            </summary>
+            <returns>The language locale ID and native name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Locale">
+            <summary>
+            The locale in lowercase
+            </summary>
+            <returns>The locale ID in lowercase</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.LocaleMixedCase">
+            <summary>
+            The locale in mixed case
+            </summary>
+            <returns>The locale ID in mixed case</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Copyright">
+            <summary>
+            The copyright include item if wanted
+            </summary>
+            <returns>The include copyright info if there is a copyright HREF or copyright text</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CopyrightInfo">
+            <summary>
+            The copyright information
+            </summary>
+            <returns>The copyright information based on whether the HREF and/or text is specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncCopyrightInfo">
+            <summary>
+            The HTML encoded copyright info
+            </summary>
+            <returns>The HTML encoded copyright info based on whether the HREF and/or text is specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncCopyrightHref">
+            <summary>
+            The HTML encoded copyright link
+            </summary>
+            <returns>The HTML encoded copyright link if specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CopyrightText">
+            <summary>
+            The copyright text
+            </summary>
+            <returns>The copyright text if specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncCopyrightText">
+            <summary>
+            The HTML encoded copyright text
+            </summary>
+            <returns>The HTML encoded copyright text if specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Comments">
+            <summary>
+            The "Send comments" include item
+            </summary>
+            <returns>Include the "send comments" line if feedback e-mail address is specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.UrlEncFeedbackEMailAddress">
+            <summary>
+            The URL encoded feedback e-mail address
+            </summary>
+            <returns>The URL encoded feedback e-mail address</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncFeedbackEMailAddress">
+            <summary>
+            The HTML encoded feedback e-mail address
+            </summary>
+            <returns>The HTML encoded feedback e-mail address.  If link text is specified, it will be used instead.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Preliminary">
+            <summary>
+            The "preliminary" warning in the header text
+            </summary>
+            <returns>Include the "preliminary" warning in the header text if wanted</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SdkLinkTarget">
+            <summary>
+            The SDK link target
+            </summary>
+            <returns>The SDK link target converted to lowercase and prefixed with an underscore</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SyntaxFilters">
+            <summary>
+            The syntax filter generator settings
+            </summary>
+            <returns>The syntax filter generator settings</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SyntaxFiltersDropDown">
+            <summary>
+            The syntax filter language settings for the Transform Component
+            </summary>
+            <returns>The syntax filter language settings for the Transform Component.  It is not technically a
+            dropdown anymore but I can't be bothered to go change it everywhere.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BinaryTOC">
+            <summary>
+            The binary TOC option
+            </summary>
+            <returns>The binary TOC option as a "Yes" or "No" value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WindowOptions">
+            <summary>
+            The help window options
+            </summary>
+            <returns>Currently, we use a default set of options and only allow showing or hiding the Favorites tab</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HelpViewerSetupName">
+            <summary>
+            The help viewer setup name
+            </summary>
+            <returns>Help viewer setup names cannot contain periods so we'll replace them with underscores.  The
+            value is also HTML encoded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CatalogName">
+            <summary>
+            The catalog name
+            </summary>
+            <returns>The catalog name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.VendorName">
+            <summary>
+            The vendor name
+            </summary>
+            <returns>The vendor name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncVendorName">
+            <summary>
+            The HTML encoded vendor name
+            </summary>
+            <returns>The HTML encoded vendor name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ProductTitle">
+            <summary>
+            The product title
+            </summary>
+            <returns>The product title</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncProductTitle">
+            <summary>
+            The HTML encoded product title
+            </summary>
+            <returns>The HTML encoded product title</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TopicVersion">
+            <summary>
+            The topic version
+            </summary>
+            <returns>The topic version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TocParentId">
+            <summary>
+            The table of contents parent ID
+            </summary>
+            <returns>The table of contents parent ID</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ApiTocParentId">
+            <summary>
+            The API table of contents parent ID
+            </summary>
+            <returns>The API table of contents parent ID.  If null, empty, or it starts with '*', it is parented
+            to the root node</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TocParentVersion">
+            <summary>
+            The table of contents parent version
+            </summary>
+            <returns>The table of contents parent version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SearchResultsDisplayVersion">
+            <summary>
+            The search results display version
+            </summary>
+            <returns>The display version to show in the help viewer search results pane</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlTOC">
+            <summary>
+            The HTML table of contents for websites
+            </summary>
+            <returns>The HTML table of contents for websites</returns>
+            <remarks>If the legacy web content is ever removed, this handler and its related method,
+            <see cref="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.AppendTocEntry(System.Xml.XPath.XPathNodeIterator,System.Text.StringBuilder)"/>, can be removed</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WebsiteAdContent">
+            <summary>
+            The website ad content that should appear in on each page
+            </summary>
+            <returns>The website ad content</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.MarkdownApiUrlFormat">
+            <summary>
+            The markdown API URL format
+            </summary>
+            <returns>The markdown API URL format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.MarkdownConceptualUrlSelector">
+            <summary>
+            The markdown conceptual URL selector
+            </summary>
+            <returns>The markdown API URL selector</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ApiFilter">
+            <summary>
+            The API filter settings
+            </summary>
+            <returns>The API filter settings.  In a partial build used to get API info for the API filter
+            designer, the filter is suppressed and will not be used.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkCommentList">
+            <summary>
+            Framework comments file list (data elements)
+            </summary>
+            <returns>The framework comments file list in <c>data</c> elements</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ImportFrameworkCommentList">
+            <summary>
+            Framework comments file list (import elements)
+            </summary>
+            <returns>The framework comments file list in <c>import</c> elements</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CommentFileList">
+            <summary>
+            XML comments file list
+            </summary>
+            <returns>The XML comments file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.InheritedCommentFileList">
+            <summary>
+            XML comments file list for inherited documentation generation
+            </summary>
+            <returns>The XML comments file list for inherited documentation generation</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Help1xProjectFiles">
+            <summary>
+            Help 1 project file list
+            </summary>
+            <returns>The help 1 project file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CodeSnippetsFiles">
+            <summary>
+            Code snippets file list
+            </summary>
+            <returns>The code snippets file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ReferenceLinkNamespaceFiles">
+            <summary>
+            Reference link namespace file list
+            </summary>
+            <returns>The reference link namespace file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ResourceItemFiles">
+            <summary>
+            Resource items file list
+            </summary>
+            <returns>The resource items file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TokenFiles">
+            <summary>
+            Token file list
+            </summary>
+            <returns>The token file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.XamlConfigFiles">
+            <summary>
+            XAML configuration file list
+            </summary>
+            <returns>The XAML configuration file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BuildDate">
+            <summary>
+            The build date
+            </summary>
+            <returns>The build date.  An optional format can be applied to the result.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BuildDateUtc">
+            <summary>
+            The build date in Universal Coordinated Time (UTC)
+            </summary>
+            <returns>The build date in Universal Coordinated Time (UTC).  An optional format can be applied to
+            the result.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.DefaultTopic">
+            <summary>
+            The default topic ID
+            </summary>
+            <returns>The default topic ID</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WebDefaultTopic">
+            <summary>
+            The default topic ID for websites
+            </summary>
+            <returns>The default topic ID with backslashes converted to forward slashes</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.UniqueId">
+            <summary>
+            Unique ID
+            </summary>
+            <returns>A unique ID for the project and current user</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkCommentList(System.Boolean)">
+            <summary>
+            This is used to generate an appropriate list of entries that represent .NET Framework comments file
+            locations for the various configuration files.
+            </summary>
+            <param name="forImport">True if for import, false if not.  If true, it returns a list of the files
+            as <c>import</c> elements.  If false, it returns them in <c>data</c> elements.</param>
+            <returns>The list of framework comments file sources in the appropriate format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HelpProjectFileList(System.String,Sandcastle.Core.HelpFileFormats)">
+            <summary>
+            This returns a complete list of files for inclusion in the compiled help file
+            </summary>
+            <param name="folder">The folder to expand</param>
+            <param name="format">The help file format</param>
+            <returns>The full list of all files for the help project</returns>
+            <remarks>The help file list is expanded to ensure that we get all additional content including all
+            nested subfolders.  The <paramref name="format"/> parameter determines the format of the returned
+            file list.  For HTML Help 1, it returns a list of the filenames.  For all others, it returns the list
+            formatted with the necessary XML markup.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.AppendTocEntry(System.Xml.XPath.XPathNodeIterator,System.Text.StringBuilder)">
+            <summary>
+            This is called to recursively append the child nodes to the HTML table of contents in the specified
+            string builder.
+            </summary>
+            <param name="entries">The list over which to iterate recursively</param>
+            <param name="tableOfContents">The string builder to which the entries are appended</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.TaskRunner">
+            <summary>
+            This class is used to execute external tasks such as MSBuild
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.TaskRunner.MSBuildExePath">
+            <summary>
+            This read-only property returns the path to MSBuild
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.TaskRunner.IsDotNetCoreBuild">
+            <summary>
+            This read-only property returns true if this is a .NET core build (dotnet.exe rather than MSBuild.exe)
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="currentBuild">The current build for which to execute tasks</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.RunProject(System.String,System.Boolean)">
+            <summary>
+            Run the specified MSBuild project using MSBuild.exe or dotnet.exe
+            </summary>
+            <param name="projectFile">The project file to run</param>
+            <param name="minimalOutput">True for minimal output, false for normal output</param>
+            <remarks>A standard set of command line options will be used (<c>/nologo /clp:NoSummary</c>) along
+            with the given verbosity level.  The 64-bit version of MSBuild will be used if available on 64-bit
+            systems.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.Run32BitProject(System.String,System.Boolean)">
+            <summary>
+            Run the specified MSBuild project using the 32-bit version of MSBuild
+            </summary>
+            <param name="projectFile">The project file to run</param>
+            <param name="minimalOutput">True for minimal output, false for normal output</param>
+            <remarks>A standard set of command line options will be used (<c>/nologo /clp:NoSummary</c>) along
+            with the given verbosity level.  Silverlight build targets are only available for 32-bit builds
+            regardless of the framework version and require the 32-bit version of MSBuild in order to load the
+            targets files correctly.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.Run(System.String,System.String,System.String)">
+            <summary>
+            This is used to run a step in the build process
+            </summary>
+            <param name="processFilename">The process to execute.</param>
+            <param name="targetFile">An optional target file that the process will operate on such as an MSBuild
+            project file.</param>
+            <param name="arguments">An optional set of arguments to pass to the process</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.TerminateProcessAndChildren(System.Diagnostics.Process)">
+            <summary>
+            Terminate the current process and any known child processes if they're still alive
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.ReadOutputStream(System.IO.StreamReader)">
+            <summary>
+            This is used to capture output from the given process stream
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile">
+            <summary>
+            This represents an XML comment file and is used when searching for and adding missing documentation tag
+            information.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.SourcePath">
+            <summary>
+            This read-only property is used to get the source path of the file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Encoding">
+            <summary>
+            This read-only property is used to get the encoding, typically UTF-8
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.IsValid">
+            <summary>
+            This read-only property indicates whether or not the comments file contains valid, well-formed XML
+            </summary>
+            <returns>True if it does, false if not.  Invalid XML comments files will not be used as a source
+            for comments during the build.  <see cref="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.InvalidReason"/> returns the cause of the problem.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.InvalidReason">
+            <summary>
+            If <see cref="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.IsValid"/> returns false, this returns the reason that the XML comments file is invalid
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Comments">
+            <summary>
+            This is used to load the comments file on first use
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Members">
+            <summary>
+            This read-only property is used to get the root members node
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="filename">The XML comments filename</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the filename is null or an empty string</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.comments_NodeChanged(System.Object,System.Xml.XmlNodeChangedEventArgs)">
+            <summary>
+            Mark the file as modified if a node is changed
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.LoadXmlComments">
+            <summary>
+            This is used to load the XML comments file and ensure it is valid
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Save">
+            <summary>
+            Save the comments file if it was modified
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.ForceReload">
+            <summary>
+            This can be used to force a reload of the comments file if changes were made to it outside of this
+            instance.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection">
+            <summary>
+            This collection class is used to hold the XML comments files during the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.ContainsInheritedDocumentation">
+            <summary>
+            This read-only property returns true if any of the comments files contain an <c>inheritdoc</c>,
+            <c>AttachedPropertyComments</c>, or <c>AttachedEventComments</c> tag indicating that the Inherited
+            Documentation tool will need to be ran.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.Save">
+            <summary>
+            Save the comments files
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.FindMember(System.String)">
+            <summary>
+            Search all comments files for the specified member.  If not found, add the blank member to the first
+            file.
+            </summary>
+            <param name="memberName">The member name for which to search.</param>
+            <returns>The XML node of the found or added member</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.ReplaceNamespaceDocEntries">
+            <summary>
+            This will search for all type member comments where the ID contains <c>NamespaceDoc</c> or
+            <c>NamespaceGroupDoc</c> and convert them to namespace and namespace group entries for the containing
+            namespace.
+            </summary>
+            <remarks>The converted ID effectively converts the comments into comments for the class's containing
+            namespace.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.CommentFileList(System.String,System.Boolean)">
+            <summary>
+            Returns a list of the comment file paths in a format suitable for inserting into a Sandcastle
+            Configuration file.
+            </summary>
+            <param name="workingFolder">The working folder path</param>
+            <param name="forInheritedDocs">True if generating the list for the inherited documentation tool or
+            false for sandcastle.config.</param>
+            <returns>The comment file list XML tags</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.GetReferencedNamespaces(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces referenced in the XML comments files
+            </summary>
+            <param name="validNamespaces">An enumerable list of valid namespaces</param>
+            <returns>An enumerable list of unique namespaces referenced in the XML comments files</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuilderException">
+            <summary>
+            This exception class is thrown by the application if it encounters an unrecoverable error
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuilderException.ErrorCode">
+            <summary>
+            Get the error code associated with the exception
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+            <overloads>There are six overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String,System.Exception)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String,System.String)">
+            <summary>
+            This constructor takes an error code and a message string
+            </summary>
+            <param name="code">The error code.  The suggested format is one to four letters to identify the
+            component or process followed by four digits, zero padded to the left, with no spaces.</param>
+            <param name="message">The exception message</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String,System.String,System.Exception)">
+            <summary>
+            This constructor takes an error code, a message string, and an inner exception
+            </summary>
+            <param name="code">The error code.  The suggested format is one to four letters to identify the
+            component or process followed by four digits, zero padded to the left, with no spaces.</param>
+            <param name="message">The exception message</param>
+            <param name="innerException">The inner exception</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Deserialization constructor for use with <see cref="T:System.Runtime.Serialization.ISerializable"/>
+            </summary>
+            <param name="info">The serialization info object</param>
+            <param name="context">The streaming context object</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            This implements the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface and adds the error code to the
+            serialization information.
+            </summary>
+            <param name="info">The serialization info object</param>
+            <param name="context">The streaming context</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildItemMetadata">
+            <summary>
+            This class holds a set of constants that define build item metadata names
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.BuildAction">
+            <summary>Build action</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.IncludePath">
+            <summary>Include item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.HintPath">
+            <summary>File reference hint path</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.LinkPath">
+            <summary>Linked item path</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ProjectGuid">
+            <summary>Project GUID item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.Name">
+            <summary>Project name item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ReferenceOutputAssembly">
+            <summary>Reference output assembly item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.Configuration">
+            <summary>Configuration setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.Platform">
+            <summary>Platform setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.OutDir">
+            <summary>Output directory setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ProjectName">
+            <summary>Project name setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ImageId">
+            <summary>Image ID</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.AlternateText">
+            <summary>Alternate text</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.CopyToMedia">
+            <summary>Copy to media folder</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.SortOrder">
+            <summary>Sort order</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode">
+            <summary>
+            This public enumerated type defines the API parent mode for a conceptual
+            topic.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.None">
+            <summary>Not a parent to the API content</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.InsertBefore">
+            <summary>Insert the API content before this element</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.InsertAfter">
+            <summary>Insert the API content after this element</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.InsertAsChild">
+            <summary>Insert the API content as a child of this element</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference">
+            <summary>
+            This represents a conceptual content CodeEntityReference that can be used to insert a common item, value,
+            or construct into topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.Id">
+            <summary>
+            This is used to get or set the CodeEntityReference name
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The reference ID</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.ToCodeEntityReference">
+            <summary>
+            Convert the entity to its <c>&lt;codeEntityReference&gt;</c> element form
+            </summary>
+            <returns>The entity in its <c>&lt;codeEntityReference&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.ToSee">
+            <summary>
+            Convert the entity to its <c>&lt;see&gt;</c> element form
+            </summary>
+            <returns>The token in its <c>&lt;see&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.CodeReference">
+            <summary>
+            This represents a conceptual content CodeReference that can be used to insert a common item, value, or
+            construct into topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.CodeReference.Id">
+            <summary>
+            This is used to get or set the CodeReference name
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The reference ID</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeReference.ToCodeReference">
+            <summary>
+            Convert the token to its <c>&lt;codeReference&gt;</c> element form
+            </summary>
+            <returns>The token in its <c>&lt;codeReference&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings">
+            <summary>
+            This class is used to hold the conceptual content settings for a project during a build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.ImageFiles">
+            <summary>
+            This is used to get the conceptual content image files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CodeSnippetFiles">
+            <summary>
+            This is used to get the conceptual content code snippet files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.TokenFiles">
+            <summary>
+            This is used to get the conceptual content token files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.ContentLayoutFiles">
+            <summary>
+            This is used to get the conceptual content layout files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.Topics">
+            <summary>
+            This is used to get a collection of the conceptual content topics
+            </summary>
+            <remarks>Each item in the collection represents one content layout file from the project</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.#ctor(SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The project from which to load the settings</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CopyContentFiles(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to copy the additional content token, image, and topic files to the build folder
+            </summary>
+            <param name="builder">The build process</param>
+            <remarks>This will copy the code snippet file if specified, save token information to a shared
+            content file called <strong>_Tokens_.xml</strong> in the build process's working folder, copy the
+            image files to the <strong>.\media</strong> folder in the build process's working folder, save the
+            media map to a file called <strong>_MediaContent_.xml</strong> in the build process's working folder,
+            and save the topic files to the <strong>.\ddueXml</strong> folder in the build process's working
+            folder.  The topic files will have their content wrapped in a <c>&lt;topic&gt;</c> tag if needed and
+            will be named using their <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id" /> value.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.SaveImageSharedContent(System.String,System.String,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Write the image reference collection to a map file ready for use by <strong>BuildAssembler</strong>
+            </summary>
+            <param name="filename">The file to which the image reference collection is saved</param>
+            <param name="imagePath">The path to which the image files should be copied</param>
+            <param name="builder">The build process</param>
+            <remarks>Images with their <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.CopyToMedia" /> property set to true are copied
+            to the media folder immediately.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CreateConfigurationFiles(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to create the conceptual content build configuration files
+            </summary>
+            <param name="builder">The build process</param>
+            <remarks>This will create the companion files used to resolve conceptual links and the
+            <strong>_ContentMetadata_.xml</strong> configuration file.  It will also merge the conceptual topics
+            into the BuildAssembler manifest file.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CreateCompanionFiles(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to create the companion files used to resolve conceptual links
+            </summary>
+            <param name="builder">The build process</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CreateContentMetadata(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Create the content metadata file
+            </summary>
+            <param name="builder">The build process</param>
+            <remarks>The content metadata file contains metadata information for each topic such as its title,
+            table of contents title, help attributes, and index keywords.  Help attributes are a combination
+            of the project-level help attributes and any parsed from the topic file.  Any replacement tags in
+            the token values will be replaced with the appropriate project values.
+            
+            <p/>A true MAML version of this file contains several extra attributes.  Since Sandcastle doesn't use
+            them, I'm not going to waste time adding them.  The only stuff written is what is required by
+            Sandcastle.  In addition, I'm putting the <c>title</c> and <c>PBM_FileVersion</c> item elements in
+            here rather than use the separate companion files.  They all end up in the metadata section of the
+            topic being built so this saves having two extra components in the configuration that do the same
+            thing with different files.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.MergeConceptualManifest(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Merge the conceptual topic IDs into the BuildAssembler manifest file.
+            </summary>
+            <param name="builder">The build process</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ContentFile">
+            <summary>
+            This represents a content file such as a token file, code snippet file, image, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.BasePathProvider">
+            <summary>
+            This read-only property is used to get the base path provider
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.Filename">
+            <summary>
+            This read-only property is used to get the content filename without the path
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.FullPath">
+            <summary>
+            This is used to get or set the full path to the content file
+            </summary>
+            <remarks>This returns the path to the file's true location.  For linked items, this path will differ
+            from the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.LinkPath"/> which returns the project-relative location.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.PersistablePath">
+            <summary>
+            This read-only property is used to get the persistable path to the content item (the path relative
+            to the project folder)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.LinkPath">
+            <summary>
+            This is used to get or set the link path to the content file (the project-relative location)
+            </summary>
+            <remarks>For linked items, this will be the location of the file within the project.  For files
+            outside the project folder, this will not match the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.FullPath"/> property value.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.SortOrder">
+            <summary>
+            This is used to get or set the sort order for site map and content layout files
+            </summary>
+            <value>For other file types, this will always return zero</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.ContentFileProvider">
+            <summary>
+            This is used to get or set a provider that can be used to obtain content files from a project or some
+            other source.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ContentFile.#ctor(SandcastleBuilder.Utils.FilePath)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="filePath">The full path to the content file</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.IContentFileProvider">
+            <summary>
+            This interface is implemented to provide content files from a help file builder project or some other
+            source.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.IContentFileProvider.ContentFiles(SandcastleBuilder.Utils.BuildAction)">
+            <summary>
+            This returns an enumerable list of content files of the given type contained in the project or
+            some other source.
+            </summary>
+            <param name="buildAction">The build action of the items to retrieve</param>
+            <returns>An enumerable list of content files of the given type if any are found in the project or
+            some other source.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ImageReference">
+            <summary>
+            This represents a conceptual content image that can be used to insert a reference to an image in a topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.Filename">
+            <summary>
+            This read-only property is used to get the image filename without the path
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.FullPath">
+            <summary>
+            This is used to get or set the full path to the image file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.Id">
+            <summary>
+            This is used to get or set the unique ID of the image
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.CopyToMedia">
+            <summary>
+            This is used to get or set whether or not to copy the image to the
+            <strong>.\Output\[HelpFormat]\media</strong> folder if it is not referenced in a media link.
+            </summary>
+            <value>The default is false and the image will not be copied unless it is referenced in a media link.
+            If set to true, the image will be copied even if it is not referenced.  This is useful for forcing
+            the copying of images referenced in external links which are not handled by the art reference build
+            component.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.AlternateText">
+            <summary>
+            This is used to get or set the optional alternate text for the image
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.DisplayTitle">
+            <summary>
+            This read-only property is used to get a title for display (i.e. in the designer)
+            </summary>
+            <value>If there is <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.AlternateText" /> specified, it is returned along with the filename
+            and the image ID in parentheses.  If not, the filename is returned along with the image ID in
+            parentheses.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="fullPath">The full path to the image file</param>
+            <param name="id">The ID of the image</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToMediaLink">
+            <summary>
+            Convert the image reference to a <c>&lt;mediaLink&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;mediaLink&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToMediaLinkInline">
+            <summary>
+            Convert the image reference to a <c>&lt;mediaLinkInline&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;mediaLinkInline&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToExternalLink">
+            <summary>
+            Convert the image reference to an <c>&lt;externalLink&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;externalLink&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToImageLink">
+            <summary>
+            Convert the image reference to an <c>&lt;img&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;img&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ITableOfContents">
+            <summary>
+            This interface is used to interact with project files that can generate table of contents entries
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ITableOfContents.ContentLayoutFile">
+            <summary>
+            This is used to get the content layout file metadata
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ITableOfContents.GenerateTableOfContents(SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection,System.Boolean)">
+            <summary>
+            Generate the table of contents for the conceptual topics
+            </summary>
+            <param name="toc">The table of contents collection</param>
+            <param name="includeInvisibleItems">True to include items marked invisible (useful for previewing)
+            or false to exclude them.</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ResourceItem">
+            <summary>
+            This represents a Sandcastle transformation resource item that can be used to insert a common item,
+            value, or construct into generated topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.SourceFile">
+            <summary>
+            This is used to get or set the name of the file containing the resource item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.Id">
+            <summary>
+            This read-only property is used to get the item ID
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.Value">
+            <summary>
+            This is used to get or set the item value
+            </summary>
+            <value>The value can contain help file builder replacement tags.  These will be replaced at build
+            time with the appropriate project value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.IsSelected">
+            <summary>
+            This is used to get or set whether or not the entity is selected
+            </summary>
+            <remarks>Used by the editor for binding in the list box</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.IsOverridden">
+            <summary>
+            This is used to get or set whether or not the item has been edited and thus overrides a default item
+            with the same ID.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.#ctor(System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="file">The file containing the resource item</param>
+            <param name="id">The item ID</param>
+            <param name="value">The item value</param>
+            <param name="isOverride">True if this is an override, false if not</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TocEntry">
+            <summary>
+            This represents a table of contents entry.  This is used to build the table of contents entries for
+            content layout and site map files.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Parent">
+            <summary>
+            This is used to track the topic's parent collection
+            </summary>
+            <remarks>This is used by the site map editor to move items around within the collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.BasePathProvider">
+            <summary>
+            This returns the <see cref="T:SandcastleBuilder.Utils.IBasePathProvider" /> for the entry.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Children">
+            <summary>
+            This returns the child table of contents collection for this entry
+            </summary>
+            <value>If empty, this is a single item in the table of contents.  If it has children, they are listed
+            below this one.  A file may or may not be associated with this entry if it is a root node.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SourceFile">
+            <summary>
+            This is used to get or set the entry's source file path.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.DestinationFile">
+            <summary>
+            This is used to get or set the entry's destination file path.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Id">
+            <summary>
+            The ID of the item when it represents a TOC entry from a content layout file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.PreviewerTitle">
+            <summary>
+            The display title for the topic previewer
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.LinkText">
+            <summary>
+            The link text for the topic previewer
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Title">
+            <summary>
+            This is used to get or set the entry's title in the table of contents
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.IsDefaultTopic">
+            <summary>
+            This is used to get or set whether or not the item is the default topic for the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SortOrder">
+            <summary>
+            This is used to get or set the sort order for the entry within its group
+            </summary>
+            <value>Entries with identical sort order values will sort by title as well.  Items with no specific
+            sort order will sort below those with a defined sort order.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ApiParentMode">
+            <summary>
+            This is used to specify how API content is parented to this topic or the topic's parent
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.IsSelected">
+            <summary>
+            This is used to get or set whether or not the entity is selected
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.IsExpanded">
+            <summary>
+            This is used to get or set whether or not the entity is expanded
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToolTip">
+            <summary>
+            This returns a description of the topic that can be used as a tool tip
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.UniqueId">
+            <summary>
+            This is used to get or set a unique ID to work around a legacy additional content support issue
+            </summary>
+            <value>The site map editor assigns each topic its own unique ID to work around object equality issues
+            caused by legacy support for file system based additional content.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.CompareTo(SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Compares this instance to another instance and returns an indication of their relative values
+            </summary>
+            <param name="other">A TocEntry object to compare</param>
+            <returns>Returns -1 if this instance is less than the value, 0 if they are equal, or 1 if this
+            instance is greater than the value or the value is null.</returns>
+            <remarks>The <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SortOrder"/> property is compared first.  If equal, the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Title"/>
+            property is used.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Clone">
+            <summary>
+            Clone this table of contents entry
+            </summary>
+            <returns>A clone of this table of contents entry</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="basePathProvider">The base path provider</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.TocEntry.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.TocEntry.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ResetSortOrder">
+            <summary>
+            Reset the sort order on this item and its children
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.childList_ListChanged(System.Object,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            Mark the project as dirty if the contained lists change
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+            <remarks>This may not be the best way to handle this.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_Equality(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for equal operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if equal, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_Inequality(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for not equal operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if not equal, false if they are equal.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_LessThan(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for less than operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if t1 is less than t2, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_GreaterThan(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for greater than operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if t1 is greater than t2, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.GetHashCode">
+            <summary>
+            Get a hash code for this item
+            </summary>
+            <returns>Returns the hash code for the <see cref="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToString" />
+            value.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToString">
+            <summary>
+            Convert the table of contents entry and its children to a string
+            </summary>
+            <returns>The entries in HTML 1.x help format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ConvertToString(System.Text.StringBuilder)">
+            <summary>
+            This is used to convert the entry to a string and append it to the specified string builder
+            </summary>
+            <param name="sb">The string builder to which the entry is appended</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToAnchor(System.String)">
+            <summary>
+            Convert the entry to its <c>&lt;a&gt;</c> element form
+            </summary>
+            <param name="innerText">Optional inner text</param>
+            <returns>The topic in its <c>&lt;a&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.LoadSiteMapNode(System.Xml.XmlNode)">
+            <summary>
+            This will load information about the entry from the node and will also load all child nodes
+            </summary>
+            <param name="site">The site map node to use for this entry</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SaveAsSiteMapNode(System.Xml.XmlNode)">
+            <summary>
+            Save this node and its children to the specified root node as site map nodes
+            </summary>
+            <param name="root">The root node to which the current entry is added</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ContainsMatch(System.String)">
+            <summary>
+            See if this entry or one of its children is a match to the specified source filename
+            </summary>
+            <param name="sourceFilename">The source filename to match</param>
+            <returns>The match TOC entry or null if not found</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection">
+            <summary>
+            This collection class is used to hold the table of contents entries for content layout and site map files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.DefaultTopic">
+            <summary>
+            This is used to get the default topic
+            </summary>
+            <value>It returns the default topic or null if one is not set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ApiContentInsertionPoint">
+            <summary>
+            This is used to get the topic at which the API table of contents is to be inserted or parented
+            </summary>
+            <value>This will return null if no parent location has been set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ApiContentParent">
+            <summary>
+            This is used to get the parent item that will contain the API table of contents
+            </summary>
+            <returns>The parent item or null if it is the root collection.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ApiContentParentCollection">
+            <summary>
+            This is used to get the parent collection that contains the item where the API table of contents is
+            to be inserted.
+            </summary>
+            <returns>The parent collection if there is a location defined or null if there isn't one</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Item(System.String)">
+            <summary>
+            This can be used to get a topic by its unique ID (case-insensitive)
+            </summary>
+            <param name="id">The ID of the item to get.</param>
+            <value>Returns the topic with the specified <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Id" /> or null if not found</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.#ctor(SandcastleBuilder.Utils.ConceptualContent.ContentFile)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="siteMapFile">The site map file associated with the collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Sort">
+            <summary>
+            This is used to sort the collection
+            </summary>
+            <remarks>All top level items and their children are sorted</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.All">
+            <summary>
+            This is used to enumerate all topics recursively
+            </summary>
+            <returns>An enumerable list of all topics and sub-topics</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Find(System.Predicate{SandcastleBuilder.Utils.ConceptualContent.TocEntry},System.Boolean)">
+            <summary>
+            This is used to find all topics and sub-topics that match the specified predicate recursively
+            </summary>
+            <param name="match">The match predicate</param>
+            <param name="expandParentIfFound">True to expand the parent if a child node matches or false to leave
+            it as is.  Expanding the node ensures it is visible in the bound tree view.</param>
+            <returns>An enumerable list of all matches</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ToString">
+            <summary>
+            Convert the table of contents entry and its children to a string
+            </summary>
+            <returns>The entries in string format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ConvertToString(System.Text.StringBuilder)">
+            <summary>
+            This is used to convert the collection to a string and append it to the specified string builder
+            </summary>
+            <param name="sb">The string builder to which the collection is appended</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.SaveToIntermediateTocFile(System.String,System.Int32,System.String)">
+            <summary>
+            This is used to save the TOC information to an intermediate TOC file used in the conceptual content
+            build.
+            </summary>
+            <param name="rootContainerId">The ID of the root container topic if used</param>
+            <param name="rootOrder">The TOC order for the root container topic if used</param>
+            <param name="filename">The filename to use</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.FindDefaultTopic">
+            <summary>
+            This is used to locate the default topic if one exists
+            </summary>
+            <returns>The default topic if found or null if not found</returns>
+            <remarks>The first entry found is returned.  Nodes are searched recursively.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Load">
+            <summary>
+            This is used to load the table of contents entries from the site map file associated with the
+            collection.
+            </summary>
+            <exception cref="T:System.InvalidOperationException">This is thrown if a site map has not been associated with
+            the collection.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Save">
+            <summary>
+            This is used to save the table of contents entries to the site map file associated with the
+            collection.
+            </summary>
+            <exception cref="T:System.InvalidOperationException">This is thrown if a site map has not been associated with
+            the collection.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Find(System.String)">
+            <summary>
+            Find a TOC entry with the same source filename
+            </summary>
+            <param name="sourceFilename">The source filename to match</param>
+            <returns>The match TOC entry or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ResetSortOrder">
+            <summary>
+            Reset the sort order on all items in the collection
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ChildListChanged(SandcastleBuilder.Utils.ConceptualContent.TocEntry,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            This is used by contained items to notify the parent that a child list changed and thus the
+            collection should be marked as dirty.
+            </summary>
+            <param name="t">The item that changed</param>
+            <param name="e">The list change event arguments from the child collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.AddTopicsFromFolder(System.String,System.String,SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Add all topics from the specified folder recursively to the collection and to the given project file
+            </summary>
+            <param name="folder">The folder from which to get the files</param>
+            <param name="basePath">The base path to remove from files copied from another folder into the project
+            folder.  On the first call, this should match the <paramref name="folder"/> value.</param>
+            <param name="project">The project to which the files are added</param>
+            <remarks>Only actual HTML and markdown content topic files are added.  They must have a ".htm?" or
+            "*.md" extension.  Folders will be added as sub-topics recursively.  If a file with the same name as
+            the folder exists, it will be associated with the container node.  If no such file exists, an empty
+            container node is created.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.InsertItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.SetItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.RemoveItem(System.Int32)">
+            <summary>
+            This is overridden to clear the parent on the removed item
+            </summary>
+            <param name="index">The index of the item to remove</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ContentLayoutFile">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.GenerateTableOfContents(SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection,System.Boolean)">
+            <inheritdoc />
+            <remarks>The <paramref name="includeInvisibleItems"/> parameter is ignored as site maps do not
+            support them.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.Token">
+            <summary>
+            This represents a conceptual content token that can be used to insert a common item, value, or construct
+            into topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Token.TokenName">
+            <summary>
+            This is used to get or set the token name
+            </summary>
+            <value>If the value is null or empty, a new GUID is assigned as the name</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Token.TokenValue">
+            <summary>
+            This is used to get or set the token value
+            </summary>
+            <value>The value can contain help file builder replacement tags.  These will be replaced at build
+            time with the appropriate project value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Token.IsSelected">
+            <summary>
+            This is used to get or set whether or not the token is selected
+            </summary>
+            <remarks>Used by the editor for binding in the list box</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <remarks>The token name defaults to a GUID</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The token name</param>
+            <param name="value">The token value</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.Token.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.Token.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.ToToken">
+            <summary>
+            Convert the token to its <c>&lt;token&gt;</c> element form
+            </summary>
+            <returns>The token in its <c>&lt;token&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TokenCollection">
+            <summary>
+            This collection class is used to hold the conceptual content tokens
+            for an associated token file.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="filename">The token file associated with the collection.</param>
+            <remarks>Tokens are not loaded until the <see cref="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Load" /> method
+            is called.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.TokenFilePath">
+            <summary>
+            This is used to get or set the token file path
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Sort">
+            <summary>
+            This is used to sort the collection
+            </summary>
+            <remarks>Values are sorted by token name and value.  Comparisons
+            are case-sensitive.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Find(System.Predicate{SandcastleBuilder.Utils.ConceptualContent.Token})">
+            <summary>
+            This is used to find all tokens that match the specified predicate
+            </summary>
+            <param name="match">The match predicate</param>
+            <returns>An enumerable list of all matches</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Load">
+            <summary>
+            Load the collection from the related file
+            </summary>
+            <remarks>This will be done automatically at constructor.  This can
+            be called to reload the collection if needed.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Save">
+            <summary>
+            Save the token collection to its related file ready for use by
+            <b>BuildAssembler</b>.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.Topic">
+            <summary>
+            This represents a conceptual content topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Parent">
+            <summary>
+            This is used to track the topic's parent collection
+            </summary>
+            <remarks>This is used by the designer to move items around within the collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TopicFile">
+            <summary>
+            This is used to get or set the topic file information related to the topic
+            </summary>
+            <value>If there is no topic file, this topic serves as a container node for its sub-topics and no
+            content will be displayed for it when selected in the help file's table of contents.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.NoTopicFile">
+            <summary>
+            This read-only property returns true if there is no associated topic file by choice rather than it
+            not being found.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.ContentId">
+            <summary>
+            This is used to get the content ID from the content layout file
+            </summary>
+            <remarks>This should match an ID from a project file.  If not, it will serve as an container node
+            with no associated topic.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id">
+            <summary>
+            This is used to get the unique ID of the topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.RevisionNumber">
+            <summary>
+            This is used to get the topic's revision number
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TopicFilename">
+            <summary>
+            This is used to get the filename of the related project file (if any)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.DocumentType">
+            <summary>
+            This read-only property is used to get the document type
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title">
+            <summary>
+            This is used to get the required title that should be used for the topic
+            </summary>
+            <value>If not set, the topic filename without a path or extension is used</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TocTitle">
+            <summary>
+            This is used to get or set the topic's optional table of contents title
+            </summary>
+            <value>This can be used to provide a different topic title in the table of contents.  If not set, it
+            will be set to the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title" /> value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.LinkText">
+            <summary>
+            This is used to get or set the topic's optional link text
+            </summary>
+            <value>This can be used to provide different text that is used in links that refer to the topic.  If
+            not set, it will be set to the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title" /> value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Visible">
+            <summary>
+            This is used to get or set whether or not the topic is visible in the table of contents
+            </summary>
+            <value>If set to false, the item will still be added to the help file but to be accessible, a link to
+            it must appear in one of the other topics.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Keywords">
+            <summary>
+            This is used to get the index keywords that will be added to the MAML topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.DisplayTitle">
+            <summary>
+            This read-only property is used to get a title for display (i.e. in the designer)
+            </summary>
+            <value>If there is a <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TocTitle" /> specified, it is used.  If not, the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title" />
+            value is used.  If it does not contain a value, the filename without the path and extension is used.
+            If the file has not been specified, does not exist, the document type is not recognized, or it is
+            invalid (i.e. badly formed), it returns an appropriate message describing the problem.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Subtopics">
+            <summary>
+            This is used to get the sub-topics beneath this topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsDefaultTopic">
+            <summary>
+            This is used to when merging TOC files to determine the default topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.ApiParentMode">
+            <summary>
+            This is used to specify how API content is parented to this topic or the topic's parent
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsMSHVRootContentContainer">
+            <summary>
+            This is used to get or set whether or not the topic will server as the root content container in MS
+            Help Viewer output
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsSelected">
+            <summary>
+            This is used to get or set whether or not the entity is selected
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsExpanded">
+            <summary>
+            This is used to get or set whether or not the entity is expanded
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.ToolTip">
+            <summary>
+            This returns a description of the topic that can be used as a tool tip
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.Topic.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.Topic.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.childList_ListChanged(System.Object,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            Mark the project as dirty if the contained lists change
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+            <remarks>This may not be the best way to handle this</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.ReadXml(System.Xml.XmlReader)">
+            <summary>
+            This is used to load the topic information from the project file
+            </summary>
+            <param name="xr">The XML text reader from which the information is loaded</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteXml(System.Xml.XmlWriter)">
+            <summary>
+            This is used to save the topic information to the project file
+            </summary>
+            <param name="xw">The XML text writer to which the information is written</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteCompanionFile(System.String,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to create the companion file used by the build component that resolves conceptual links
+            </summary>
+            <param name="folder">The folder in which to place the file</param>
+            <param name="builder">The build process</param>
+            <remarks>The file will be named using the ID and a ".xml" extension</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteMetadata(System.Xml.XmlWriter,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Write out the topic metadata
+            </summary>
+            <param name="writer">The writer to which the metadata is written</param>
+            <param name="builder">The build process</param>
+            <remarks>This will recursively write out metadata for sub-topics
+            as well.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteManifest(System.Xml.XmlWriter,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Write out the <strong>BuildAssembler</strong> manifest entry
+            </summary>
+            <param name="writer">The XML writer to which the entry is written</param>
+            <param name="builder">The build process</param>
+            <remarks>This will recursively write out entries for sub-topics as well</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.ToLink(System.String)">
+            <summary>
+            Convert the topic to its <c>&lt;link&gt;</c> element form
+            </summary>
+            <param name="innerText">Optional inner text</param>
+            <returns>The topic in its <c>&lt;link&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.ToAnchor(System.String)">
+            <summary>
+            Convert the topic to its <c>&lt;a&gt;</c> element form
+            </summary>
+            <param name="innerText">Optional inner text</param>
+            <returns>The topic in its <c>&lt;a&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TopicCollection">
+            <summary>
+            This collection class is used to hold the conceptual content topics for a project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.DefaultTopic">
+            <summary>
+            This is used to get the default topic
+            </summary>
+            <value>It returns the default topic or null if one is not set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.ApiContentInsertionPoint">
+            <summary>
+            This is used to get the topic at which the API table of contents is to be inserted or parented
+            </summary>
+            <value>This will return null if no parent location has been set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.MSHVRootContentContainer">
+            <summary>
+            This is used to get the topic that will serve as the root content container in MS Help Viewer output
+            </summary>
+            <value>This will return null if one is not defined</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Item(System.String)">
+            <summary>
+            This can be used to get a topic by its unique ID (case-insensitive)
+            </summary>
+            <param name="id">The ID of the item to get</param>
+            <value>Returns the topic with the specified <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id" /> or null if not found</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.#ctor(SandcastleBuilder.Utils.ConceptualContent.ContentFile)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="contentLayoutFile">The content layout file associated with the collection</param>
+            <remarks>Topics are not loaded until the <see cref="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Load" /> method is called.  If the <c>file</c>
+            parameter is null, this is assumed to be a child topic collection.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Sort">
+            <summary>
+            This is used to sort the collection
+            </summary>
+            <remarks>Values are sorted by display title.  Comparisons are case-sensitive.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.All">
+            <summary>
+            This is used to enumerate all topics recursively
+            </summary>
+            <returns>An enumerable list of all topics and sub-topics</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Find(System.Predicate{SandcastleBuilder.Utils.ConceptualContent.Topic},System.Boolean)">
+            <summary>
+            This is used to find all topics and sub-topics that match the specified predicate recursively
+            </summary>
+            <param name="match">The match predicate</param>
+            <param name="expandParentIfFound">True to expand the parent if a child node matches or false to leave
+            it as is.  Expanding the node ensures it is visible in the bound tree view.</param>
+            <returns>An enumerable list of all matches</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Load">
+            <summary>
+            Load the collection from the related file
+            </summary>
+            <remarks>This will be done automatically at constructor.  This can be called to reload the collection
+            if needed.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.MatchProjectFilesToTopics">
+            <summary>
+            This gets all possible content files from the project and attempts to match them to the topics in the
+            collection by ID.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Save">
+            <summary>
+            Save the topic collection to the related content layout file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.ChildListChanged(SandcastleBuilder.Utils.ConceptualContent.Topic,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            This is used by contained items to notify the parent that a child list changed and thus the
+            collection should be marked as dirty.
+            </summary>
+            <param name="t">The topic that changed</param>
+            <param name="e">The list change event arguments from the child collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.SetTopic(SandcastleBuilder.Utils.ConceptualContent.TopicFile)">
+            <summary>
+            Set the topic file in any entry that has a matching ID
+            </summary>
+            <param name="topicFile">The topic file</param>
+            <remarks>The IDs should be unique across all entries but, if a duplicate exists, this will help find
+            it as we'll get a more descriptive error later in the build.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.GenerateConceptualTopics(System.String,SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This creates copies of the conceptual topic files in the build process's working folder
+            </summary>
+            <param name="folder">The folder in which to place the topic files</param>
+            <param name="builder">The build process</param>
+            <param name="validNamespaces">An enumerable list of valid framework namespaces</param>
+            <remarks>Each topic file will be named using its <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id" />.  If necessary, its content
+            will be wrapped in a <c>&lt;topic&gt;</c> element.  Sub-topics are written out recursively.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.AddTopicsFromFolder(System.String,System.String,SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Add all topics from the specified folder recursively to the collection and to the given project file
+            </summary>
+            <param name="folder">The folder from which to get the files</param>
+            <param name="basePath">The base path to remove from files copied from another folder into the project
+            folder.  On the first call, this should match the <paramref name="folder"/> value.</param>
+            <param name="project">The project to which the files are added</param>
+            <remarks>Only actual conceptual content topic files are added.  They must have a ".aml" extension and
+            must be one of the valid <see cref="T:SandcastleBuilder.Utils.DocumentType">document types</see>.  Folders will be added as
+            sub-topics recursively.  If a file with the same name as the folder exists, it will be associated
+            with the container node.  If no such file exists, an empty container node is created.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.InsertItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.Topic)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.SetItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.Topic)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.RemoveItem(System.Int32)">
+            <summary>
+            This is overridden to clear the parent on the removed item
+            </summary>
+            <param name="index">The index of the item to remove</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.ContentLayoutFile">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.GenerateTableOfContents(SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection,System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TopicFile">
+            <summary>
+            This class represents a conceptual content topic file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.ContentFile">
+            <summary>
+            This is used to get or set the file build item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.Name">
+            <summary>
+            Get the name of the file without the path
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.FullPath">
+            <summary>
+            Get the full path to the file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.Id">
+            <summary>
+            This is used to get the unique ID of the topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.RevisionNumber">
+            <summary>
+            This is used to get the topic's revision number
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.DocumentType">
+            <summary>
+            This read-only property is used to get the document type
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.ErrorMessage">
+            <summary>
+            This read-only property is used to return the error message if <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.DocumentType" /> returns
+            <c>Invalid</c>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicFile.#ctor(SandcastleBuilder.Utils.ConceptualContent.ContentFile)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="contentFile">The content file from the project</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the content file is null</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicFile.ParseContent(System.Boolean)">
+            <summary>
+            This will parse the file content and extract the document type, unique ID, and revision number
+            </summary>
+            <param name="reparse">If false and the file has already been parsed, the method just returns.  If
+            true, the file is reparsed to refresh the information.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicFile.GetReferencedNamespaces(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces referenced in the topic
+            </summary>
+            <param name="validNamespaces">An enumerable list of valid framework namespaces</param>
+            <returns>An enumerable list of unique namespaces in the topic</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.DocumentType">
+            <summary>
+            This public enumerated type defines the conceptual document types
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.None">
+            <summary>Unknown document type or empty container node</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.NotFound">
+            <summary>File not found</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.Invalid">
+            <summary>Invalid document (i.e. bad format, parsing errors)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperConceptualDocument">
+            <summary>Conceptual document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperErrorMessageDocument">
+            <summary>Error Message document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperGlossaryDocument">
+            <summary>Glossary document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperHowToDocument">
+            <summary>How To document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperOrientationDocument">
+            <summary>Orientation document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.CodeEntityDocument">
+            <summary>Reference List document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperReferenceWithSyntaxDocument">
+            <summary>Reference With Syntax document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperReferenceWithoutSyntaxDocument">
+            <summary>Reference Without Syntax document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSampleDocument">
+            <summary>Sample Document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewArchitectureDocument">
+            <summary>SDK Technology Overview Architecture document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewCodeDirectoryDocument">
+            <summary>SDK Technology Overview Code Directory document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewOrientationDocument">
+            <summary>SDK Technology Overview Orientation document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewScenariosDocument">
+            <summary>SDK Technology Overview Scenarios document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewTechnologySummaryDocument">
+            <summary>SDK Technology Overview Technology Summary document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperTroubleshootingDocument">
+            <summary>Troubleshooting document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperUIReferenceDocument">
+            <summary>User Interface Reference document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperWalkthroughDocument">
+            <summary>Walkthrough document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperWhitePaperDocument">
+            <summary>Whitepaper document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperXmlReference">
+            <summary>XML Reference document</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ContentPlacement">
+            <summary>
+            This public enumerated type defines the placement of the additional
+            content items in the table of contents if any are defined.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ContentPlacement.AboveNamespaces">
+            <summary>Additional content appears above the namespaces</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ContentPlacement.BelowNamespaces">
+            <summary>Additional content appears below the namespaces</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.BuildActionEnumConverter">
+            <summary>
+            This is used to limit which values are available to properties using
+            <see cref="T:SandcastleBuilder.Utils.BuildAction" /> as their underlying type.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.BuildActionEnumConverter.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.BuildActionEnumConverter.GetStandardValues(System.ComponentModel.ITypeDescriptorContext)">
+            <inheritdoc />
+            <remarks>Build actions that serve no purpose for selection
+            are removed.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.EscapeValueAttribute">
+            <summary>
+            This is used to mark a property that needs its value escaped when stored in an MSBuild project file
+            </summary>
+            <remarks>MSBuild requires that the following characters be escaped in property values unless they are
+            intended to be interpreted by the build engine:  % * ? @ $ ( ) ; '.  In addition, this attribute will
+            cause the values to be HTML encoded so that any HTML characters, especially tag delimiters are not
+            interpreted.  MSBuild tends to add XML namespaces to things it thinks are XML elements.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.Escape(System.String)">
+            <summary>
+            This is used to HTML encode and escape an MSBuild property value
+            </summary>
+            <param name="unescapedValue">The unescaped value</param>
+            <returns>The HTML encoded escaped value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.Unescape(System.String)">
+            <summary>
+            This is used to return an unescaped and HTML decoded MSBuild value
+            </summary>
+            <param name="escapedValue">The escaped value</param>
+            <returns>The unescaped and HTML decoded value</returns>
+            <remarks>MSBuild provides an escape method but no unescape method.  Go figure.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.OnEscapeMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            This is used to convert the match to its unescaped character
+            </summary>
+            <param name="m">The match</param>
+            <returns>The unescaped character as a string</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.HexToInt(System.Char)">
+            <summary>
+            Convert a hex character to its integer value
+            </summary>
+            <param name="h">The hex character</param>
+            <returns>The integer value</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.FilePathTypeConverter">
+            <summary>
+            This type converter is used to convert a FilePath object to and from a string so that it can be edited
+            in a <c>System.Windows.Forms.PropertyGrid</c>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FilePathTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FilePathTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FilePathTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.FolderPathTypeConverter">
+            <summary>
+            This type converter is used to convert a FolderPath object to and from a string so that it can be edited
+            in a <c>System.Windows.Forms.PropertyGrid</c>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FolderPathTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FolderPathTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FolderPathTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.SubstitutionTagAttribute">
+            <summary>
+            This attribute is used to mark substitution tag replacement methods
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.DocumentationSource">
+            <summary>
+            This represents an assembly, an XML comments file, a Visual Studio managed code project (C#, VB.NET,
+            etc.), or a Visual Studio solution containing one or more managed code projects from which information
+            is obtained to build a help file.
+            </summary>
+            <remarks>Wildcards are supported in the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> property.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.Configuration">
+            <summary>
+            This is used to get or set the project configuration to use when the source path refers to a Visual
+            Studio solution or project.
+            </summary>
+            <value>If not set, the configuration value from the owning help file project will be used.  This will
+            be ignored for assembly and XML comments file entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.Platform">
+            <summary>
+            This is used to get or set the project platform to use when the source path refers to a Visual Studio
+            solution or project.
+            </summary>
+            <value>If not set, the platform value from the owning help file project will be used.  This will be
+            ignored for assembly and XML comments file entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.TargetFramework">
+            <summary>
+            This is used to get or set the project target framework to use when the source path refers to a
+            Visual Studio solution or project.
+            </summary>
+            <value>This only applies if the project uses multi-targeting.  If not set, the first target framework
+            will be used.  This will be ignored for assembly and XML comments file entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile">
+            <summary>
+            This is used to set or get the documentation source file path
+            </summary>
+            <value>Wildcards are supported.  If used, all files matching the wildcard will be included as long as
+            their extension is one of the following: .exe, .dll, .winmd, .*proj, .sln.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders">
+            <summary>
+            This is used to get or set whether subfolders are included when searching for files if the
+            <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile" /> value contains wildcards.
+            </summary>
+            <value>If set to true and the source file value contains wildcards, subfolders will be included.  If
+            set to false, the default, or the source file value does not contain wildcards, only the top-level
+            folder is included in the search.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.SourceDescription">
+            <summary>
+            This returns a description of the entry suitable for display in a bound list control or property grid
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.#ctor(System.String,System.String,System.String,System.String,System.Boolean,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="filename">The filename of the documentation source</param>
+            <param name="configuration">The configuration to use for projects</param>
+            <param name="platform">The platform to use for projects</param>
+            <param name="targetFramework">The target framework to use for projects</param>
+            <param name="includeSubfolders">True to include subfolders, false to only search the top-level folder</param>
+            <param name="basePathProvider">The base path provider</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.DocumentationSource.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.DocumentationSource.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.Equals(System.Object)">
+            <summary>
+            See if specified item equals this one
+            </summary>
+            <param name="obj">The object to compare to this one</param>
+            <returns>True if equal, false if not</returns>
+            <remarks>For documentation sources, equality is based solely on the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile" /> value.
+            The configuration and platform settings are not considered.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.GetHashCode">
+            <summary>
+            Get a hash code for this item
+            </summary>
+            <returns>Returns the hash code for the assembly path and XML comments path.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.ToString">
+            <summary>
+            Return a string representation of the item
+            </summary>
+            <returns>Returns the assembly path and XML comments path separated by a comma.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.Assemblies">
+            <summary>
+            This read-only property returns an enumerable list of assemblies based on the current settings
+            </summary>
+            <returns>An enumerable list of assemblies matching the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> path.  Sub-folders
+            are only included if <see cref="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders"/> is set to true.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.CommentsFiles">
+            <summary>
+            This read-only property returns an enumerable list of XML comments files based on the current settings
+            </summary>
+            <returns>An enumerable list of XML comments files matching the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> path.
+            Sub-folders are only included if <see cref="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders"/> is set to true.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.Projects(System.String,System.String)">
+            <summary>
+            This returns an enumerable list of MSBuild project file configurations based on the current settings
+            and the given configuration and platform.
+            </summary>
+            <param name="configurationName">The configuration to use</param>
+            <param name="platformName">The platform to use</param>
+            <returns>An enumerable list of project configurations matching the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> path.
+            Sub-folders are only included if <see cref="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders"/> is set to true.  Any solution files
+            (.sln) found are returned last, each followed by the projects extracted from them.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.ProjectsIn(System.String)">
+            <summary>
+            This is used to get a list of all projects in a solution file regardless of configuration and
+            platform.
+            </summary>
+            <param name="solutionFile">The solution filename from which to get the project names</param>
+            <returns>An enumerable list of the projects within the solution regardless of configuration or
+            platform build combinations in which they are enabled.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.ExtractProjectsFromSolution(System.String,System.String,System.String)">
+            <summary>
+            Extract all project files from the given Visual Studio solution file
+            </summary>
+            <param name="solutionFile">The Visual Studio solution from which to extract the projects.</param>
+            <param name="configuration">The configuration to use</param>
+            <param name="platform">The platform to use</param>
+            <returns>An enumerable list of project configurations that were extracted from the solution</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.DocumentationSourceCollection">
+            <summary>
+            This collection class is used to hold the documentation sources and can be used for editing them
+            </summary>
+            <remarks>A documentation source is an assembly, an XML comments file, a Visual Studio managed code
+            project (C#, VB.NET, etc.), or a Visual Studio solution containing one or more managed code projects from
+            which information is obtained to build a help file.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.#ctor(SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The project that owns the collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.FromXml(System.String)">
+            <summary>
+            This is used to load existing documentation sources from the project file
+            </summary>
+            <param name="docSources">The documentation source items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.ToXml">
+            <summary>
+            This is used to write the documentation source info to an XML fragment ready for storing in the
+            project file.
+            </summary>
+            <returns>The XML fragment containing the documentation sources</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.Add(System.String,System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            Add a new item to the collection
+            </summary>
+            <param name="filename">The filename to add</param>
+            <param name="config">The configuration to use for projects</param>
+            <param name="platform">The platform to use for projects</param>
+            <param name="targetFramework">The target framework to use for projects</param>
+            <param name="subFolders">True to include subfolders, false to only search the top-level folder</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.DocumentationSource" /> added to the project or the existing item if the
+            filename already exists in the collection.</returns>
+            <remarks>The <see cref="T:SandcastleBuilder.Utils.DocumentationSource" /> constructor is internal so that we control creation
+            of the items and can associate them with the project.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.SaveToProject">
+            <summary>
+            Save the documentation source collection to the associated project
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.FileItem">
+            <summary>
+            This class represents a file that is part of the project (MAML/additional content, site map, style
+            sheet, etc.).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.BuildAction">
+            <summary>
+            This is used to set or get the build action of the item
+            </summary>
+            <value>If set to <c>Image</c>, <see cref="P:SandcastleBuilder.Utils.FileItem.ImageId"/> and <see cref="P:SandcastleBuilder.Utils.FileItem.AlternateText" /> will be set to
+            the filename if not set already.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.IncludePath">
+            <summary>
+            This is used to set or get the filename (include path)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.LinkPath">
+            <summary>
+            This is used to set or get the link path
+            </summary>
+            <value>If the item has no link path, this returns the <see cref="P:SandcastleBuilder.Utils.FileItem.IncludePath" /> path</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.FullPath">
+            <summary>
+            This is used to get the full path to the item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.Name">
+            <summary>
+            This is used to set or get the name of the item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.ImageId">
+            <summary>
+            This is used to get or set an ID for a conceptual content image
+            </summary>
+            <remarks>This is used to indicate that an image file is part of the conceptual content.  Image items
+            without an ID are not valid and will be ignored.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.AlternateText">
+            <summary>
+            This is used to get or set alternate text for an image
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.CopyToMedia">
+            <summary>
+            This is used to get or set whether an item is copied to the output folder during a build
+            </summary>
+            <remarks>If this is set to true, the image will always be copied to the build's media folder.  If
+            false, it is only copied if referenced in a topic.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.SortOrder">
+            <summary>
+            This is used to get or set the sort order for content layout and site map files
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.includePath_PersistablePathChanging(System.Object,System.EventArgs)">
+            <summary>
+            This is used to handle changes in the <see cref="P:SandcastleBuilder.Utils.FileItem.IncludePath" /> properties such that the path gets
+            stored in the project file.
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.linkPath_PersistablePathChanging(System.Object,System.EventArgs)">
+            <summary>
+            This is used to handle changes in the <see cref="P:SandcastleBuilder.Utils.FileItem.LinkPath" /> properties such that the path gets stored
+            in the project file.
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.#ctor(SandcastleBuilder.Utils.SandcastleProject,Microsoft.Build.Evaluation.ProjectItem)">
+            <summary>
+            This constructor is used to wrap an existing project item
+            </summary>
+            <param name="project">The project that owns the item</param>
+            <param name="existingItem">The existing project item</param>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.String,System.String)">
+            <summary>
+            This constructor is used to create a new item and add it to the project
+            </summary>
+            <param name="project">The project that will own the item</param>
+            <param name="itemType">The type of item to create</param>
+            <param name="itemPath">The path to the item</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.RefreshPaths">
+            <summary>
+            Refresh the paths due to a parent path being renamed
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.ToContentFile">
+            <summary>
+            This is used to convert the file item to a <see cref="T:SandcastleBuilder.Utils.ConceptualContent.ContentFile"/> instance
+            </summary>
+            <returns>The file item as a <see cref="T:SandcastleBuilder.Utils.ConceptualContent.ContentFile"/></returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetAttributes">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetClassName">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetComponentName">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetConverter">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetDefaultEvent">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetDefaultProperty">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetEditor(System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetEvents(System.Attribute[])">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetEvents">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetProperties(System.Attribute[])">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetProperties">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetPropertyOwner(System.ComponentModel.PropertyDescriptor)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.FilterProperties(System.ComponentModel.PropertyDescriptorCollection)">
+            <summary>
+            This is used to filter the properties based on the
+            <see cref="P:SandcastleBuilder.Utils.FileItem.BuildAction" />.
+            </summary>
+            <param name="pdc">The property descriptor collection to filter</param>
+            <returns>The filtered property descriptor collection</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.FilePath">
+            <summary>
+            This class is used to represent a file path.  Support is included for treating the path as fixed or
+            relative and for expanding environment variables in the path name.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.BasePathProvider">
+            <summary>
+            This is used to get the base path provider for the object.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.BasePath">
+            <summary>
+            This returns the base path for the object
+            </summary>
+            <value>If no <see cref="T:SandcastleBuilder.Utils.IBasePathProvider" /> has been specified, this returns the current directory</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.Path">
+             <summary>
+             This is used to get or set the path to use.
+             </summary>
+             <value>When set, if the path is not rooted (a relative path), <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is set to
+             false.  If rooted (an absolute path), it is not changed.  This property always returns a fully
+             qualified path but without any environment variable expansions.
+             
+             <p/>If set to a null or empty string, the file path is cleared and is considered to be undefined.</value>
+             <note type="note">MSBuild environment variable references are also supported (i.e. $(SHFBROOT),
+             $(OutputPath), etc.).</note>
+             <example>
+             <code language="cs">
+             FilePath path = new FilePath();
+            
+             // Set it to a relative path
+             path.Path = @"..\..\Test.txt";
+            
+             // Set it to an absolute path
+             path.Path = @"C:\My Documents\Info.doc";
+            
+             // Set it to a path based on an environment variable
+             path.Path = @"%HOMEDRIVE%%HOMEPATH%\Favorites\*.*";
+             </code>
+             <code language="vbnet">
+             Dim path As New FilePath()
+            
+             ' Set it to a relative path
+             path.Path = "..\..\Test.txt"
+            
+             ' Set it to an absolute path
+             path.Path = "C:\My Documents\Info.doc"
+            
+             ' Set it to a path based on an environment variable
+             path.Path = "%HOMEDRIVE%%HOMEPATH%\Favorites\*.*"
+             </code>
+             </example>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.PersistablePath">
+            <summary>
+            This is used to retrieve the file path in a format suitable for persisting to storage based on the
+            current settings.
+            </summary>
+            <remarks>If <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is true, an absolute path is always returned.  If false, the
+            path is returned in a form that is relative to the path stored in the <see cref="P:SandcastleBuilder.Utils.FilePath.BasePath"/>
+            property.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.Exists">
+            <summary>
+            This read-only property can be used to determine whether or not the file path exists
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.ExpandedPath">
+            <summary>
+            This read-only property is used to display the fully qualified path with environment variable
+            expansions in the designer.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.IsFixedPath">
+            <summary>
+            This is used to indicate whether or not the path will be treated as a relative or fixed path when
+            converted retrieved via the <see cref="P:SandcastleBuilder.Utils.FilePath.PersistablePath"/> property.
+            </summary>
+            <value>If true, the path is returned as a fixed path when retrieved.  If false, it is returned as a
+            path relative to the current value of the <see cref="P:SandcastleBuilder.Utils.FilePath.BasePath"/> property.</value>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanging">
+            <summary>
+            This event is raised when the persistable path is about to be changed
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.OnPersistablePathChanging(System.EventArgs)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanging" /> event
+            </summary>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanged">
+            <summary>
+            This event is raised when the persistable path changes
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.OnPersistablePathChanged(System.EventArgs)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanged" /> event
+            </summary>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.op_Implicit(SandcastleBuilder.Utils.FilePath)~System.String">
+             <summary>
+             This is used to handle an implicit conversion from a <see cref="T:SandcastleBuilder.Utils.FilePath"/> object to a string
+             </summary>
+             <param name="filePath">The <see cref="T:SandcastleBuilder.Utils.FilePath"/> to convert.</param>
+             <returns>The file path as a relative or absolute path string based on its current settings</returns>
+             <example>
+             <code language="cs">
+             FilePath filePath = new FilePath(@"%APPDATA%\TestApp\App.config");
+             
+             // The FilePath object is automatically converted to a string
+             // representing the expanded, fully qualified path.
+             string pathString = filePath;
+             </code>
+             <code language="vbnet">
+             Dim filePath As New FilePath("%APPDATA%\TestApp\App.config")
+            
+             ' The FilePath object is automatically converted to a string
+             ' representing the expanded, fully qualified path.
+             Dim pathString As String = filePath
+             </code>
+             </example>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.op_Equality(SandcastleBuilder.Utils.FilePath,SandcastleBuilder.Utils.FilePath)">
+            <summary>
+            Overload for equal operator.
+            </summary>
+            <param name="firstPath">The first object to compare</param>
+            <param name="secondPath">The second object to compare</param>
+            <returns>True if equal, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.op_Inequality(SandcastleBuilder.Utils.FilePath,SandcastleBuilder.Utils.FilePath)">
+            <summary>
+            Overload for not equal operator.
+            </summary>
+            <param name="firstPath">The first object to compare</param>
+            <param name="secondPath">The second object to compare</param>
+            <returns>True if not equal, false if they are.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.GetFullPath(System.String)">
+            <summary>
+            This returns the fully qualified path for the specified path.  This version allows wildcards in the
+            filename part if present.
+            </summary>
+            <param name="path">The path to expand</param>
+            <returns>The fully qualified path name</returns>
+            <remarks>The <b>System.IO.Path</b> version of <see cref="M:System.IO.Path.GetFullPath(System.String)"/> will throw an
+            exception if the path contains wildcard characters.  This version does not.
+            </remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.AbsoluteToRelativePath(System.String,System.String)">
+            <summary>
+            This helper method can be used to convert an absolute path to one that is relative to the given base
+            path.
+            </summary>
+            <param name="basePath">The base path</param>
+            <param name="absolutePath">An absolute path</param>
+            <returns>A path to the given absolute path that is relative to the given base path</returns>
+            <remarks>If the base path is null or empty, the current working folder is used.</remarks>
+            <example>
+            <code language="cs">
+            string basePath = @"E:\DotNet\CS\TestProject\Source";
+            string absolutePath = @"E:\DotNet\CS\TestProject\Doc\Help.html";
+            
+            string relativePath = FilePath.AbsoluteToRelativePath(basePath,
+                absolutePath);
+            
+            Console.WriteLine(relativePath);
+            
+            // Results in: ..\Doc\Help.html
+            </code>
+            <code language="vbnet">
+            Dim basePath As String = "E:\DotNet\CS\TestProject\Source"
+            Dim absolutePath As String = "E:\DotNet\CS\TestProject\Doc\Help.html"
+            
+            Dim relativePath As String = _
+                FilePath.AbsoluteToRelativePath(basePath, absolutePath);
+            
+            Console.WriteLine(relativePath)
+            
+            ' Results in: ..\Doc\Help.html
+            </code>
+            </example>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.RelativeToAbsolutePath(System.String,System.String)">
+            <summary>
+            This helper method can be used to convert a relative path to an absolute path based on the given base
+            path.
+            </summary>
+            <param name="basePath">The base path</param>
+            <param name="relativePath">A relative path</param>
+            <returns>An absolute path</returns>
+            <remarks>If the base path is null or empty, the current working folder is used.</remarks>
+            <example>
+            <code language="cs">
+            string basePath = @"E:\DotNet\CS\TestProject\Source";
+            string relativePath = @"..\Doc\Help.html";
+            
+            string absolutePath = FilePath.RelativeToAbsolutePath(basePath,
+                relativePath);
+            
+            Console.WriteLine(absolutePath);
+            
+            // Results in: E:\DotNet\CS\TestProject\Doc\Help.html
+            </code>
+            <code language="vbnet">
+            Dim basePath As String = "E:\DotNet\CS\TestProject\Source"
+            Dim relativePath As String = "..\Doc\Help.html"
+            
+            Dim absolutePath As String = _
+                FilePath.RelativeToAbsolutePath(basePath, relativePath);
+            
+            Console.WriteLine(absolutePath)
+            
+            ' Results in: E:\DotNet\CS\TestProject\Doc\Help.html
+            </code>
+            </example>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.ShouldSerializePath">
+            <summary>
+            This is used to prevent the Path property from showing as modified in the designer
+            </summary>
+            <returns>Always returns false</returns>
+            <remarks>The <see cref="P:SandcastleBuilder.Utils.FilePath.Path"/> property is mainly for display purposes in the designer but can be
+            used for making changes to the expanded path if needed.  The <see cref="P:SandcastleBuilder.Utils.FilePath.PersistablePath"/> property
+            is used as the display value in the designer.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Default constructor.  The file path is undefined.
+            </summary>
+            <param name="provider">The base path provider</param>
+            <overloads>There are three overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.#ctor(System.String,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="provider">The base path provider</param>
+            <remarks>Unless <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is set to true, the path is always treated as a relative
+            path.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.#ctor(System.String,System.Boolean,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path and fixed setting.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="isFixed">True to treat the path as fixed, false to treat it as a relative path.</param>
+            <param name="provider">The base path provider</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.ToString">
+            <summary>
+            Convert the file path to a string
+            </summary>
+            <returns>A fixed or relative path based on the current settings</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.GetHashCode">
+            <summary>
+            Get a hash code for the file path object
+            </summary>
+            <returns>Returns the hash code of the <see cref="M:SandcastleBuilder.Utils.FilePath.ToString" /> value converted to lowercase</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.Equals(System.Object)">
+            <summary>
+            This is overridden to allow proper comparison of file path objects.
+            </summary>
+            <param name="obj">The object to which this instance is compared</param>
+            <returns>Returns true if the object equals this instance, false if it does not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.Clone">
+            <summary>
+            This returns a clone of the object
+            </summary>
+            <returns>A clone of the object</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.FolderPath">
+            <summary>
+            This class is used to represent a folder path.  Support is included for treating the path as fixed or
+            relative and for expanding environment variables in the path name.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FolderPath.Path">
+             <summary>
+             This is used to get or set the path.
+             </summary>
+             <value>When set, if the path is not rooted (a relative path), <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is
+             set to false.  If rooted (an absolute path), it is not changed.  This property always returns a
+             fully qualified path but without any environment variable expansions and terminated with a trailing
+             directory separator if needed.
+             <p/>If set to a null or empty string, the folder path is cleared and is considered to be undefined.</value>
+             <example>
+             <code language="cs">
+             FolderPath path = new FolderPath();
+             
+             // Set it to a relative path
+             path.Path = @"..\..\ProjectFolder";
+             
+             // Set it to an absolute path
+             path.Path = @"C:\My Documents\ProjectDocs\";
+             
+             // Set it to a path based on an environment variable
+             path.Path = @"%HOMEDRIVE%%HOMEPATH%\Favorites\";
+             </code>
+             <code language="vbnet">
+             Dim path As New FolderPath()
+            
+             ' Set it to a relative path
+             path.Path = "..\..\ProjectFolder"
+             
+             ' Set it to an absolute path
+             path.Path = "C:\My Documents\ProjectDocs\"
+             
+             ' Set it to a path based on an environment variable
+             path.Path = "%HOMEDRIVE%%HOMEPATH%\Favorites\"
+             </code>
+             </example>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FolderPath.Exists">
+            <summary>
+            This read-only property can be used to determine whether or not the folder path exists
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.IsPathTerminated(System.String)">
+            <summary>
+            This can be used to find out if a path is terminated with a trailing directory separator.
+            </summary>
+            <param name="path">The path to check</param>
+            <returns>Returns true if it is, false if it is not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.TerminatePath(System.String)">
+            <summary>
+            This can be used to ensure that a path is terminated with a trailing directory separator.
+            </summary>
+            <param name="path">The path to check</param>
+            <returns>The path with a trailing directory separator added if necessary.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.ShouldSerializePath">
+            <summary>
+            This is used to prevent the Path property from showing as modified in the designer.
+            </summary>
+            <returns>Always returns false</returns>
+            <remarks>The <see cref="P:SandcastleBuilder.Utils.FolderPath.Path"/> property is mainly for display purposes in the designer but can be
+            used for making changes to the expanded path if needed.  The <see cref="P:SandcastleBuilder.Utils.FilePath.PersistablePath"/>
+            property is used as the display value in the designer.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Default constructor.  The folder path is undefined.
+            </summary>
+            <param name="provider">The base path provider</param>
+            <overloads>There are three overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.#ctor(System.String,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="provider">The base path provider</param>
+            <remarks>Unless <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is set to true, the path is always treated as a
+            relative path.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.#ctor(System.String,System.Boolean,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path and fixed setting.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="isFixed">True to treat the path as fixed, false to treat it as a relative path.</param>
+            <param name="provider">The base path provider</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.HtmlSdkLinkType">
+            <summary>
+            This public enumerated type defines the type of links used to reference other help topics referring to
+            framework (SDK) help topics in HTML Help 1 and website help files.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.HtmlSdkLinkType.None">
+            <summary>No active links</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.HtmlSdkLinkType.Msdn">
+            <summary>Links to framework topics online</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.IBasePathProvider">
+            <summary>
+            This interface defines the properties used to obtain a base path for
+            a <see cref="T:SandcastleBuilder.Utils.FilePath" /> object.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.IBasePathProvider.BasePath">
+            <summary>
+            This read-only property returns the base path
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.IBasePathProvider.ResolvePath(System.String)">
+            <summary>
+            Implement this method to supply custom path resolution such as
+            handling of MSBuild variables in the path.
+            </summary>
+            <param name="path">The path to use</param>
+            <returns>A copy of the path after performing any custom resolutions</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs">
+            <summary>
+            This is used by the comments cache to report a warning message
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.Message">
+            <summary>
+            The message to report
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="text">The message text</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache">
+            <summary>
+            This is used to cache indexed XML comments files
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile">
+            <summary>
+            This represents an indexed XML comments file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.Item(System.String)">
+            <summary>
+            This read-only property returns the XPath navigator for the specified key
+            </summary>
+            <param name="key">The key to look up</param>
+            <returns>The XPath navigator associated with the key</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.#ctor(SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="cache">The cache with which this indexed document is associated</param>
+            <param name="filename">The name of the XML comments file to index</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCount">
+            <summary>
+            This read-only property returns the number of items indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.FilesIndexed">
+            <summary>
+            This read-only property returns the number of comments files that were indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ShowDuplicatesWarning">
+            <summary>
+            This is used to get or set whether or not duplicate entry warnings are generated
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.AllKeys">
+            <summary>
+            This read-only property returns all keys in the index
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.Item(System.String)">
+            <summary>
+            This read-only property returns the comments for the specified key
+            </summary>
+            <param name="key">The key for which to retrieve comments</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathNavigator"/> for the comments or null if not found.</returns>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning">
+            <summary>
+            This is used by the cache to report duplicate key warnings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.OnReportWarning(SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs)">
+            <summary>
+            This is used to raise the <see cref="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning" /> event
+            </summary>
+            <param name="args">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.#ctor(System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="size">The maximum size of the cache</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.LoadXmlCommentsFile(System.String)">
+            <summary>
+            This loads an XML comments file and handles redirection
+            </summary>
+            <param name="filename">The XML comments file to load</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathDocument"/> instance for the loaded XML comments file or null if it could
+            not be loaded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCommentsFiles(System.String,System.String,System.Boolean,System.Collections.Concurrent.ConcurrentBag{System.Xml.XPath.XPathNavigator})">
+            <summary>
+            Index all comments files found in the specified folder.
+            </summary>
+            <param name="path">The path to search.  If null or empty, the current directory is assumed.</param>
+            <param name="wildcard">The wildcard to use.  If null or empty, "*.xml" is assumed.</param>
+            <param name="recurse">True to recurse subfolders or false to only use the given folder.</param>
+            <param name="commentsFiles">Optional.  If not null, an <see cref="T:System.Xml.XPath.XPathDocument"/> is added to the
+            collection for each file indexed.</param>
+            <remarks>The files are indexed in parallel.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetKeys(System.String)">
+            <summary>
+            This returns an enumerable list of all key values from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key values in the given file</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetValues(System.String)">
+            <summary>
+            This returns an enumerable list of all key/value pairs from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key/value values in the given file</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException">
+            <summary>
+            This exception class is thrown by the application if it encounters an unrecoverable error
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String,System.Exception)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MissingTags">
+            <summary>
+            This public enumerated type defines the missing documentation tags for
+            which to search.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.None">
+            <summary>Do not search for any missing tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Summary">
+            <summary>Search for missing <c>&lt;summary&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Parameter">
+            <summary>Search for missing <c>&lt;param&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Returns">
+            <summary>Search for missing <c>&lt;returns&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Value">
+            <summary>Search for missing <c>&lt;value&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Remarks">
+            <summary>Search for missing <c>&lt;remarks&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.AutoDocumentCtors">
+            <summary>Automatically document constructors if they are missing a
+            <c>&lt;summary&gt;</c> tag.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Namespace">
+            <summary>Search for missing namespace comments.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.TypeParameter">
+            <summary>Search for missing &lt;typeparam&gt; tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.IncludeTargets">
+            <summary>Search for missing &lt;include&gt; target documentation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.AutoDocumentDispose">
+            <summary>Automatically document dispose methods if they are missing
+            <c>&lt;summary&gt;</c> and/or <c>&lt;param&gt;</c> tag.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSBuild.MSBuildProject">
+            <summary>
+            This is a simple wrapper around an MSBuild project that is used to extract information from it during a
+            help file build.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionPath">
+            <summary>Solution path (directory and filename) global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionDir">
+            <summary>Solution directory global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionFileName">
+            <summary>Solution filename (no path) global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionName">
+            <summary>Solution name (no path or extension) global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionExt">
+            <summary>Solution extension global property</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.ProjectFile">
+            <summary>
+            This is used to get the underlying MSBuild project file reference
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.AssemblyName">
+            <summary>
+            This is used to get the assembly name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.XmlCommentsFile">
+            <summary>
+            This is used to get the XML comments file name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFramework">
+            <summary>
+            This read-only property is used to get the target framework
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFrameworks">
+            <summary>
+            This read-only property returns an enumerable list of the target frameworks if specified
+            </summary>
+            <value>An enumerable list of the target frameworks or an empty enumerable if not specified</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.RequestedTargetFramework">
+            <summary>
+            For projects that use multi-targeting, the documentation source can specify which target it wants
+            to use.  If not specified, the first target type is used
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFrameworkIdentifier">
+            <summary>
+            This is used to get the target framework identifier
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFrameworkVersion">
+            <summary>
+            This is used to get the target framework type and version
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.IdentifierAndVersionFromTargetFramework">
+            <summary>
+            This read-only property is used to determine the target framework identifier and version from the
+            target framework.
+            </summary>
+            <returns>A tuple containing the target framework identifier and version if it could be determined
+            or two empty strings if not.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.ProjectGuid">
+            <summary>
+            This is used to get the project GUID
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="projectFile">The MSBuild project to load</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the
+            MSBuild project if not done explicitly with <see cref="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of
+            the MSBuild project object.
+            </summary>
+            <overloads>There are two overloads for this method.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Dispose(System.Boolean)">
+            <summary>
+            This can be overridden by derived classes to add their own
+            disposal code if necessary.
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed
+            and unmanaged resources or false to just dispose of the
+            unmanaged resources.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SetConfiguration(System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            This is used to set the active configuration and platform used when
+            evaluating the properties.
+            </summary>
+            <param name="configuration">The active configuration</param>
+            <param name="platform">The active platform</param>
+            <param name="outDir">The output directory</param>
+            <param name="usesProjectSpecificOutput">True if the build is using project-specific output folders, 
+            false if not.</param>
+            <remarks>If the platform is set to any variation of "Any CPU" and it isn't found in the project, it
+            will be converted to "AnyCPU" (no space).  This works around an issue with Team Build that includes
+            the space even though it should not be present.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SetSolutionMacros(System.String)">
+            <summary>
+            This is used to set the Visual Studio solution macros based on the
+            specified project name.
+            </summary>
+            <param name="solutionName">The solution name to use</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.CloneReferenceInfo(SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver,System.Collections.Generic.Dictionary{System.String,System.ValueTuple{System.String,System.String,System.Collections.Generic.List{System.ValueTuple{System.String,System.String}}}})">
+            <summary>
+            Clone the project's reference information and add it to the given dictionary
+            </summary>
+            <param name="resolver">The package reference resolver to use</param>
+            <param name="references">The dictionary used to contain the cloned reference information</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver">
+            <summary>
+            This is used to resolved package references (<c>PackageReference</c> elements) in MSBuild project files
+            </summary>
+            <remarks>Package references are handled by the NuGet MSBuild targets.  Trying to figure out how they
+            work would be quite difficult as would trying to plug them into the reflection data generation project.
+            However, those tasks create an asset file that contains all of the information we need so we use it to
+            figure out the reference assembly locations along with any dependencies.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.ReferenceAssemblies">
+            <summary>
+            This returns a list of all resolved package reference assemblies along with all dependency assembly
+            references.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProcess">The build process that will make use of the resolver</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.LoadPackageReferenceInfo(Microsoft.Build.Evaluation.Project,System.String)">
+            <summary>
+            This is used to load the package reference information from the given project
+            </summary>
+            <param name="project">The MSBuild project from which to get the package references</param>
+            <param name="targetFramework">A target framework value used to resolve implicit package references</param>
+            <returns>True if package reference info was loaded, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.ResolvePackageReferencesInternal(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to resolve package references by looking up the package IDs in the asset file created
+            by the NuGet Restore task.
+            </summary>
+            <param name="referencesToResolve">The package references to resolve</param>
+            <returns>An enumerable list of assembly names.</returns>
+            <remarks>If a package has dependencies, those will be resolved and returned as well</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSHelpKeyword">
+            <summary>
+            This represents an Microsoft help index keyword that can be added to the XML data island in each help
+            topic generated by BuildAssembler.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.ValidIndexNames">
+            <summary>
+            This read-only property returns an enumerable list of valid index names
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.IndexNamesDataSource">
+            <summary>
+            This read-only property returns a dictionary containing the valid index names and their descriptions
+            suitable for data binding.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.Index">
+            <summary>
+            This is used to get or set the index name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.Term">
+            <summary>
+            This is used to get or set the index term
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <remarks>The index name defaults to "K"</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="indexName">The index name</param>
+            <param name="keywordTerm">The index term</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.CompareTo(SandcastleBuilder.Utils.MSHelpKeyword)">
+            <summary>
+            Compares this instance to another instance and returns an indication of their relative values
+            </summary>
+            <param name="other">A MSHelpKeyword object to compare</param>
+            <returns>Returns -1 if this instance is less than the value, 0 if they are equal, or 1 if this
+            instance is greater than the value or the value is null.</returns>
+            <remarks>Entries are sorted by name and then value</remarks>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.MSHelpKeyword.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.MSHelpKeyword.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.GetHashCode">
+            <summary>
+            Get a hash code for this item
+            </summary>
+            <returns>Returns the hash code for the index name and term</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.ToString">
+            <summary>
+            Return a string representation of the item
+            </summary>
+            <returns>Returns the item in its XML format</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSHelpKeywordCollection">
+            <summary>
+            This collection class is used to hold the help index keyword items for a project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeywordCollection.ReadXml(System.Xml.XmlReader)">
+            <summary>
+            This is used to load the keyword collection from the project file
+            </summary>
+            <param name="xr">The XML text reader from which the information is loaded.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeywordCollection.WriteXml(System.Xml.XmlWriter)">
+            <summary>
+            This is used to save the keyword collection to the project file
+            </summary>
+            <param name="xw">The XML text writer to which the information is written</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType">
+            <summary>
+            This public enumerated type defines the type of links used to reference other help topics referring to
+            framework (SDK) help topics in MS Help Viewer help files.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType.None">
+            <summary>No active links</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType.Id">
+            <summary>Id style links for use within an MS Help viewer help file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType.Msdn">
+            <summary>Links to framework topics online</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.NamespaceSummaryItem">
+            <summary>
+            This represents a a namespace summary item that can be used to add comments to a namespace in the help
+            file or exclude it completely from the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.Name">
+            <summary>
+            This read-only property is used to get the namespace name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.IsGroup">
+            <summary>
+            This read-only property is used to check whether or not this is a namespace group
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.IsDocumented">
+            <summary>
+            This is used to get or set whether or not the namespace is included in the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.Summary">
+            <summary>
+            This is used to get or set the namespace summary comments
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.IsDirty">
+            <summary>
+            This read-only property can be used to determine if the namespace summary item was changed
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItem.#ctor(System.String,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="itemName">The namespace's name</param>
+            <param name="isGroup">This indicates whether or not the namespace is a group namespace</param>
+            <param name="isDocumented">This indicates whether or not the namespace is to be documented</param>
+            <param name="summaryText">The summary text</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItem.ToString">
+            <summary>
+            Return the namespace name as the string representation of the object
+            </summary>
+            <returns>The namespace name</returns>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.NamespaceSummaryItem.PropertyChanged">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItem.OnPropertyChanged(System.String)">
+            <summary>
+            This is used to raise the <see cref="E:SandcastleBuilder.Utils.NamespaceSummaryItem.PropertyChanged"/> event
+            </summary>
+            <param name="caller">The name of the caller used as the property name</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.NamespaceSummaryItemCollection">
+            <summary>
+            This collection class is used to hold the namespace summary items for a project
+            </summary>
+            <remarks>Namespaces that appear in the assemblies but not in this list are documented by default and
+            will appear without a namespace summary.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.Project">
+            <summary>
+            This is used to get or set a reference to the project that owns the collection
+            </summary>
+            <remarks>This is used by collection editors to get a reference to the owning project</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.Item(System.String)">
+            <summary>
+            Indexer.  This can be used to retrieve the summary information for the specified namespace
+            </summary>
+            <param name="name">The namespace for which to search</param>
+            <returns>The namespace summary information if found or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.FromXml(System.String)">
+            <summary>
+            This is used to load existing namespace summary items from the project file
+            </summary>
+            <param name="namespaceSummaries">The namespace summary items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.ToXml">
+            <summary>
+            This is used to write the namespace summary info to an XML fragment ready for storing in the project
+            file.
+            </summary>
+            <returns>The XML fragment containing the namespace summary info</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.Add(System.String,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Add a new item to the collection
+            </summary>
+            <param name="name">The namespace name</param>
+            <param name="isGroup">True if this is a grouping namespace, false if this is normal namespace</param>
+            <param name="isDocumented">True for documented, false for not documented</param>
+            <param name="summary">The summary text</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.NamespaceSummaryItem" /> added to the project.  If the namespace already
+            exists in the collection, the existing item is returned.</returns>
+            <remarks>The <see cref="T:SandcastleBuilder.Utils.NamespaceSummaryItem" /> constructor is internal so that we control creation
+            of the items and can associate them with the project.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.CreateTemporaryItem(System.String,System.Boolean)">
+            <summary>
+            Create a temporary item that isn't part of the project
+            </summary>
+            <param name="name">The namespace name</param>
+            <param name="isGroup">True if this is a grouping namespace, false if this is normal namespace</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.NamespaceSummaryItem" /> that can later be added to the project if necessary</returns>
+            <exception cref="T:System.ArgumentException">This is thrown if the given namespace already exists in the
+            collection.</exception>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.NamingMethod">
+            <summary>
+            This public enumerated type defines the naming method to use for the help topic filenames
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.NamingMethod.Guid">
+            <summary>Use the default GUID file naming method (actually an MD5 hash of the member ID in GUID
+            form).</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.NamingMethod.MemberName">
+            <summary>Use the member name without parameters as the filename.  The characters ":", ".", "#", and
+            "`" in the name are replaced with an underscore (i.e. T:CustomType becomes T_CustomType,
+            M:CustomType.#ctor becomes M_CustomType__ctor, P:CustomType.Property becomes P:CustomType_Property,
+            etc).  Duplicate names will have an incrementing value appended to the end of the name (i.e.
+            M_CustomType_Method, M_CustomType.Method_1, M_CustomType_Method_2, etc).</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.NamingMethod.HashedMemberName">
+            <summary>Use the hashed member name without parameters as the filename.  No character replacements
+            are made for this option and the <b>GetHashCode</b> method is used to generate the hash value and it
+            is formatted as a hex value.  This is useful for extremely long type names that cause the filename
+            to exceed the maximum length when the full path is included.  Duplicate names will have an
+            incrementing value appended to the name prior to creating the hash value as needed.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ProjectElement">
+            <summary>
+            This class is a wrapper for build items in the project.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectElement.ItemType">
+            <summary>
+            This is used to set or get the item type (a.k.a BuildAction)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectElement.Include">
+            <summary>
+            This is used to set or get the filename (Include attribute)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectElement.Project">
+            <summary>
+            This read-only property is used to get the containing project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.#ctor(SandcastleBuilder.Utils.SandcastleProject,Microsoft.Build.Evaluation.ProjectItem)">
+            <summary>
+            This constructor is used to wrap an existing project item
+            </summary>
+            <param name="project">The project that owns the item</param>
+            <param name="existingItem">The existing item</param>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.String,System.String)">
+            <summary>
+            This constructor is used to create a new build item and add it to the project
+            </summary>
+            <param name="project">The project that will own the item</param>
+            <param name="itemType">The type of build item to create</param>
+            <param name="itemPath">The path to the item.  This can be relative or absolute and may contain
+            variable references.</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ProjectElement.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ProjectElement.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.HasMetadata(System.String)">
+            <summary>
+            See if the named metadata item exists
+            </summary>
+            <param name="name">The metadata name for which to check</param>
+            <returns>True if present, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.GetMetadata(System.String)">
+            <summary>
+            Get a metadata value from a project element
+            </summary>
+            <param name="name">The name of the metadata element to get</param>
+            <returns>The value of the metadata element</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.SetMetadata(System.String,System.String)">
+            <summary>
+            Set a metadata value in the project item
+            </summary>
+            <param name="name">The name of the metadata element</param>
+            <param name="value">The value to store in the element</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.RemoveFromProjectFile">
+            <summary>
+            Remove the item from the project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.op_Equality(SandcastleBuilder.Utils.ProjectElement,SandcastleBuilder.Utils.ProjectElement)">
+            <summary>
+            Overload for equal operator
+            </summary>
+            <param name="element1">The first element object</param>
+            <param name="element2">The second element object</param>
+            <returns>True if equal, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.op_Inequality(SandcastleBuilder.Utils.ProjectElement,SandcastleBuilder.Utils.ProjectElement)">
+            <summary>
+            Overload for not equal operator
+            </summary>
+            <param name="element1">The first element object</param>
+            <param name="element2">The second element object</param>
+            <returns>True if not equal, false if they are equal</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.GetHashCode">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ProjectFileConfiguration">
+            <summary>
+            This holds configuration settings for Visual Studio project file
+            documentation sources
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectFileConfiguration.ProjectFileName">
+            <summary>
+            This is used to get or set the project filename
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectFileConfiguration.Configuration">
+            <summary>
+            This is used to get or set the configuration used for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectFileConfiguration.Platform">
+            <summary>
+            This is used to get or set the platform used for the build
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectFileConfiguration.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The project filename</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.MimeTypes">
+             <summary>
+               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
+            &lt;!-- Run the following script in LINQPad to regenerate the content below:
+            XElement root = new XElement(&quot;mimeTypes&quot;);
+            
+            foreach (string key in Registry.ClassesRoot.GetSubKeyNames().Where(k =&gt; k[0] == &apos;.&apos;))
+            {
+            	using (RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(key))
+            	{
+            		string mimeType = regKey.GetValue(&quot;Content Type&quot;)?.ToString();
+            		
+            		if (!String.IsNullOrWhiteSpace(mimeType))
+            			root.Add(new XElement(&quot;mimeType&quot;, new XAttribute(&quot;extension&quot;, key), ne [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.ProjectTemplate">
+             <summary>
+               Looks up a localized string similar to &lt;Project ToolsVersion=&quot;14.0&quot; DefaultTargets=&quot;Build&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;
+            	&lt;!-- Import the common properties to support NuGet restore --&gt;
+            	&lt;Import Project=&quot;$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props&quot; Condition=&quot;Exists(&apos;$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props&apos;)&quot; /&gt;
+            
+            	&lt;PropertyGroup&gt;
+            		&lt;!-- A framework version is required for NuGet restore.  This can be any valid version --&gt;
+            		&lt;TargetFrameworkVersion&gt;v4.7.2 [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.SandcastleProject">
+            <summary>
+            This class represents all of the properties that make up a Sandcastle Help File Builder project
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SandcastleProject.SchemaVersion">
+            <summary>
+            The schema version used in the saved project files
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SandcastleProject.DefaultConfiguration">
+            <summary>The default configuration</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SandcastleProject.DefaultPlatform">
+            <summary>The default platform</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.RestrictedProperties">
+            <summary>
+            This returns a collection of restricted property names that cannot be used for user-defined property
+            names.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ProjectPropertyCache">
+            <summary>
+            This read-only property returns the MSBuild project property cache
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MSBuildProject">
+            <summary>
+            This read-only property is used to get the underlying MSBuild project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.UsingFinalValues">
+            <summary>
+            This read-only property is used to get whether or not the project is using final values for the
+            project properties.
+            </summary>
+            <value>If true, final values (i.e. evaluated values used at build time) are being returned by the
+            properties in this instance.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Filename">
+            <summary>
+            This read-only property is used to get the filename for the project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Configuration">
+            <summary>
+            This is used to get or set the configuration to use when building the project
+            </summary>
+            <value>This value is used for project documentation sources and project references so that the
+            correct items are used from them.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Platform">
+            <summary>
+            This is used to get or set the platform to use when building the project
+            </summary>
+            <value>This value is used for project documentation sources and project references so that the
+            correct items are used from them.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MSBuildOutDir">
+            <summary>
+            This is used to get or set the MSBuild <c>OutDir</c> property value that is defined when using Team
+            Build.
+            </summary>
+            <value>This value is used for project documentation sources and project references so that the
+            correct items are used from them.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.IsDirty">
+            <summary>
+            This is used to get the dirty state of the project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.LogFileLocation">
+            <summary>
+            This read-only property is used to get the build log file location
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.SandcastleProject.BuildLogFile"/> is set, it returns its value.  If not set, it returns the full
+            path created by using the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath"/> property value and a filename of
+            <strong>LastBuild.log</strong>.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentationSources">
+            <summary>
+            This read-only property returns an enumerable list of documentation sources to use in building the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FileItems">
+            <summary>
+            This returns an enumerable list of all build items in the project that represent folders and files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ImagesReferences">
+            <summary>
+            This read-only property returns an enumerable list of image references contained in the project
+            </summary>
+            <returns>An enumerable list of image references if any are found in the project</returns>
+            <remarks>Only images with IDs are returned</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TransformComponentArguments">
+            <summary>
+            This returns an enumerable list of transform component arguments
+            </summary>
+            <remarks>These are passed as arguments to the XSL transformations used by the <b>BuildAssembler</b>
+            <c>TransformComponent</c>.</remarks>
+            <returns>An enumerable list of transform component arguments</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.UserDefinedProperties">
+            <summary>
+            This read-only property returns an enumerable list of all user-defined properties
+            </summary>
+            <returns>An enumerable list of all properties determined not to be help file builder project
+            properties, MSBuild build engine related properties, or environment variables.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ProjectSummary">
+            <summary>
+            This read-only property is used to get the project summary comments
+            </summary>
+            <remarks>These notes will appear in the root namespaces page if entered</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.NamespaceSummaries">
+            <summary>
+            This read-only property returns the list of namespace summaries
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ComponentPath">
+            <summary>
+            This property is used to get or set the path to a folder containing additional, project-specific
+            build components.
+            </summary>
+            <value>If left blank, the current project's folder is searched instead</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SourceCodeBasePath">
+            <summary>
+            This property is used to get or set the base path used to locate source code for the documented
+            assemblies.
+            </summary>
+            <value>If left blank, source context information will be omitted from the reflection data</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WarnOnMissingSourceContext">
+            <summary>
+            This is used to get or set whether or not to issue a warning if a source code context could not be
+            determined for a type.
+            </summary>
+            <value>This is false by default and missing source context issues will be reported as informational
+            messages.  If set to true, they are reported as warnings that MSBuild will also report.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HtmlHelp1xCompilerPath">
+            <summary>
+            This property is used to get or set the path to the HTML Help 1 compiler (HHC.EXE)
+            </summary>
+            <value>You only need to set this if the builder cannot determine the path for itself</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath">
+            <summary>
+            This property is used to get or set the path to which the help files will be generated
+            </summary>
+            <remarks><para>The default is to create it in a folder called <strong>.\Help</strong> in the same
+            folder as the project file.</para>
+            
+            <para><strong>Warning:</strong> If building a web site, the output folder's prior content will be
+            erased without warning prior to copying the new web site content to it!</para></remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WorkingPath">
+            <summary>
+            This is used to get or set the path to the working folder used during the build process to store the
+            intermediate files.
+            </summary>
+            <value><para>This can be used to perform the build in a different location with a shorter path if you
+            encounter errors due to long file path names.  If not specified, it defaults to a folder called
+            <strong>.\Working</strong> under the folder specified by the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath"/> property.</para>
+            
+            <para><strong>Warning:</strong> All files and folders in the path specified in this property will be
+            erased without warning when the build starts.</para></value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ComponentSearchPaths">
+            <summary>
+            This read-only property returns an enumerable list of folders to search for additional build
+            components, plug-ins, presentation styles, and syntax generators.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BuildAssemblerVerbosity">
+            <summary>
+            This read-only property is used to get the build assembler tool verbosity level
+            </summary>
+            <value>The default is <c>AllMessages</c> to report all messages</value>
+            <remarks>Setting this property to <c>OnlyWarningsAndErrors</c> or <c>OnlyErrors</c> can
+            significantly reduce the size of the build log for large projects.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CleanIntermediates">
+            <summary>
+            This property is used to get or set whether intermediate files are deleted after a successful build
+            </summary>
+            <value>The default value is true</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.KeepLogFile">
+            <summary>
+            This property is used to get or set whether or not the log file is retained after a successful build
+            </summary>
+            <value>The default value is true</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BuildLogFile">
+            <summary>
+            This read-only property is used to get the path and filename of the build log file
+            </summary>
+            <value>If not specified, a default name of <strong>LastBuild.log</strong> is used and the file is
+            saved in the path identified in the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath" /> property.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HelpFileFormat">
+            <summary>
+            This read-only property is used to get the help file format generated by the build process
+            </summary>
+            <value>The default is to produce an HTML Help 1 format file</value>
+            <remarks>If building a web site, the output folder will be cleared before the new content is copied
+            to it.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DisableCodeBlockComponent">
+            <summary>
+            This read-only property is used to get whether or not to disable the custom Code Block Component so
+            that <c>&lt;code&gt;</c> elements are rendered in their standard format by the Sandcastle XSL
+            transformations.
+            </summary>
+            <value>The default is false so that the Code Block Component is used by default</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FrameworkVersion">
+            <summary>
+            This is used to get or set the .NET Framework version used to resolve references to system types
+            (basic .NET Framework, Silverlight, Portable, etc.).
+            </summary>
+            <remarks>If set to null, it will default to the most recent version of the basic .NET Framework
+            installed.  The build engine will adjust this at build time if necessary based on the framework
+            types and versions found in the documentation sources.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.IndentHtml">
+            <summary>
+            This read-only property is used to get whether or not the HTML rendered by <strong>BuildAssembler</strong>
+            is indented.
+            </summary>
+            <value>This is mainly a debugging aid.  Leave it set to false, the default, to produce more compact
+            HTML.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SaveComponentCacheCapacity">
+            <summary>
+            This read-only property is used to get the build assembler Save Component writer task cache capacity
+            </summary>
+            <value>The default is 100 to limit the cache to 100 entries</value>
+            <remarks>Decrease the value to conserve memory, increase it to help with build speed at the expense
+            of memory used.  Set it to zero to allow an unbounded cache for the writer task (best speed at the
+            expense of memory used).</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ComponentConfigurations">
+            <summary>
+            This read-only property is used to get a dictionary of build component configurations
+            </summary>
+            <remarks>This allows you to configure the settings for third party build components if they
+            support it.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.PlugInConfigurations">
+            <summary>
+            This read-only property is used to get a dictionary of build process plug-in configurations
+            </summary>
+            <remarks>This allows you to select and configure the settings for third party build process plug-ins</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ContentPlacement">
+            <summary>
+            This read-only property is used to get the placement of any additional and conceptual content items
+            in the table of contents.
+            </summary>
+            <value>The default is to place additional and conceptual content items above the namespaces</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Preliminary">
+            <summary>
+            This read-only property is used to get whether or not all pages should be marked with a "preliminary
+            documentation" warning in the page header.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.RootNamespaceContainer">
+            <summary>
+            This read-only property is used to get whether or not a root namespace entry is added to the table of
+            contents to act as a container for the namespaces from the documented assemblies.
+            </summary>
+            <value>If true, a root <strong>Namespaces</strong> table of contents entry will be created as the
+            container of the namespaces in the documented assemblies.  If false, the default, the namespaces are
+            listed in the table of contents as root entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.RootNamespaceTitle">
+            <summary>
+            This read-only property is used to get an alternate title for the root namespaces page and the root
+            table of contents container that appears when <see cref="P:SandcastleBuilder.Utils.SandcastleProject.RootNamespaceContainer"/> is set to true.
+            </summary>
+            <value>If left blank (the default), the localized version of the text "Namespaces" will be used</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.NamespaceGrouping">
+            <summary>
+            This read-only property is used to get whether namespace grouping is enabled.  The presentation style
+            must have support for namespace grouping in order for the feature to work.
+            </summary>
+            <value>If <c>true</c>, namespace grouping is enabled. Otherwise, namespace grouping is not enabled</value>
+            <remarks>Namespace groups are determined automatically and may be documented as well</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MaximumGroupParts">
+            <summary>
+            This read-only property is used to get the maximum number of namespace parts to consider when
+            namespace grouping is enabled.
+            </summary>
+            <value>The minimum and default is 2.  A higher value results in more namespace groups</value>
+            <remarks>Namespace groups are determined automatically and may be documented as well</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HelpTitle">
+            <summary>
+            This read-only property is used to get or set the help file's title
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HtmlHelpName">
+            <summary>
+            This read-only property is used to get the name of the compiled help file
+            </summary>
+            <remarks>Do not include a path or the extension.  For MS Help Viewer builds, avoid periods,
+            ampersands, and pound signs as they are not valid in the help file name.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HelpFileVersion">
+            <summary>
+            This read-only property is used to get the version number applied to the help file
+            </summary>
+            <remarks>The default is 1.0.0.0</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Language">
+            <summary>
+            This read-only property is used to get the language option for the help file and to determine which
+            set of presentation resource files to use.
+            </summary>
+            <value>If a matching set of presentation resources cannot be found for the specified language, the
+            US English set will be used.</value>
+            <remarks>The MS Help Viewer 1.0 Catalog ID is composed of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogProductId"/>, the
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogVersion"/>, and the <c>Language</c> code. For example, the English Visual Studio 10
+            catalog is <c>VS_100_EN-US</c>.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightHref">
+            <summary>
+            This read-only property is used to get the URL to use as the link for the copyright notice
+            </summary>
+            <value>If not set, the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightText"/> (if any) is not turned into a clickable link</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightText">
+            <summary>
+            This read-only property is used to get the copyright notice that appears in the footer of each page
+            </summary>
+            <remarks>If not set, no copyright note will appear.  If a <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightHref" /> is specified
+            without copyright text, the URL appears instead.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DecodedCopyrightText">
+            <summary>
+            This read-only property is used to get the copyright notice that appears in the footer of each page
+            with any hex value place holders replaced with their actual character.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailAddress">
+            <summary>
+            This read-only property is used to get the feedback e-mail address that appears in the footer of each
+            page.
+            </summary>
+            <remarks>If not set, no feedback link will appear.  If <see cref="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailLinkText"/> is set,
+            that text will appear as the text for the link.  If not set, the e-mail address is used as the link
+            text.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailLinkText">
+            <summary>
+            This read-only property is used to get the feedback e-mail link text that appears in the feedback
+            e-mail link in the footer of each page.
+            </summary>
+            <remarks>If set, this text will appear as the link text for the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailAddress"/>
+            link.  If not set, the e-mail address is used for the link text.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HeaderText">
+            <summary>
+            This read-only property is used to get additional text that should appear in the header of every page
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FooterText">
+            <summary>
+            This read-only property is used to get additional text that should appear in the footer of every page
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SdkLinkTarget">
+            <summary>
+            This read-only property is used to get the target window for external SDK links
+            </summary>
+            <value>The default is <c>Blank</c> to open the topics in a new window.  This option only has an
+            effect on the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HtmlSdkLinkType"/>, <see cref="P:SandcastleBuilder.Utils.SandcastleProject.MSHelpViewerSdkLinkType"/>, and
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.WebsiteSdkLinkType"/> properties if they are set to <c>Msdn</c>.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.PresentationStyle">
+            <summary>
+            This read-only property is used to get the presentation style for the help topic pages
+            </summary>
+            <value>The default is to use the VS2013 style</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.NamingMethod">
+            <summary>
+            This read-only property is used to get the naming method used to generate the help topic filenames
+            </summary>
+            <value>The default is to use GUID values as the filenames</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SyntaxFilters">
+            <summary>
+            This read-only property is used to get the language filters which determines which languages appear
+            in the <strong>Syntax</strong> section of the help topics.
+            </summary>
+            <value>The default is <strong>Standard</strong> (C#, VB.NET, and C++)</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BinaryTOC">
+            <summary>
+            This read-only property is used to get whether or not to create a binary table of contents in Help 1
+            files.
+            </summary>
+            <remarks>This can significantly reduce the amount of time required to load a very large help file</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HtmlSdkLinkType">
+            <summary>
+            This read-only property is used to get the type of links used to reference other help topics
+            referring to framework (SDK) help topics in HTML Help 1 help files.
+            </summary>
+            <value>The default is to produce links to online content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.IncludeFavorites">
+            <summary>
+            This read-only property is used to get whether or not a Favorites tab will appear in the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MSHelpViewerSdkLinkType">
+            <summary>
+            This read-only property is used to get the type of links used to reference other help topics
+            referring to framework (SDK) help topics in MS Help Viewer help files.
+            </summary>
+            <value>The default is to produce links to online content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CatalogProductId">
+            <summary>
+            This read-only property is used to get the Product ID portion of the MS Help Viewer 1.0 Catalog ID
+            </summary>
+            <value>If not specified, the default is "VS".</value>
+            <remarks><para>The MS Help Viewer Catalog 1.0 ID is composed of the <c>CatalogProductId</c> the
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogVersion"/>, and the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.Language"/> code. For example, the English Visual
+            Studio 10 catalog is <c>VS_100_EN-US</c>.</para>
+            
+            <note type="note">You should typically use the default value</note>
+            </remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CatalogVersion">
+            <summary>
+            This read-only property is used to get the Version portion of the MS Help Viewer 1.0 Catalog ID
+            </summary>
+            <value>If not specified, the default is "100"</value>
+            <remarks><para>The MS Help Viewer 1.0 Catalog ID is composed of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogProductId"/>,
+            the <c>CatalogVersion</c>, and the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.Language"/> code. For example, the English Visual
+            Studio 10 catalog is <c>VS_100_EN-US</c>.</para>
+            
+            <note type="note">You should typically used the default value</note>
+            </remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CatalogName">
+            <summary>
+            This read-only property is used to get a non-standard MS Help Viewer 2.x content catalog name
+            </summary>
+            <value>If not specified, the default will be set based on the Visual Studio version catalog related
+            to the Help Viewer (VisualStudio12 for Visual Studio 2013 for example).</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.VendorName">
+            <summary>
+            This read-only property is used to get the vendor name for the help viewer file
+            </summary>
+            <value>The default if not specified will be "Vendor Name".  The value must not contain the ':',
+            '\', '/', '.', ',', '#', or '&amp;' characters.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ProductTitle">
+            <summary>
+            This read-only property is used to get the product title for the help viewer file
+            </summary>
+            <value>The default if not specified will be the value of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HelpTitle" /> property</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TopicVersion">
+            <summary>
+            This read-only property is used to get the topic version for each topic in the help file
+            </summary>
+            <value>The default is "100" (meaning 10.0)</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId">
+            <summary>
+            This read-only property is used to get the table of contents parent for each root topic in the help
+            file.
+            </summary>
+            <value>The default is "-1" to show the root topics in the root of the main table of content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TocParentVersion">
+            <summary>
+            This read-only property is used to get the topic version of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId" /> topic
+            </summary>
+            <value>The default is "100" meaning "10.0"</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TocOrder">
+            <summary>
+            This read-only property is used to get the sort order for conceptual content so that it appears
+            within its parent in the correct position.
+            </summary>
+            <value>The default is -1 to let the build engine determine the best value to use based on the
+            other project properties.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SearchResultsDisplayVersion">
+            <summary>
+            This is used to get or set the display version shown below entries in the search results pane in the
+            help viewer application.
+            </summary>
+            <value>If not set, a display version will not be shown for topics in the search results pane</value>
+            <remarks>If set, this typically refers to the SDK name and version or the module in which the member
+            resides to help differentiate it from other entries with the same title in the search results.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WebsiteSdkLinkType">
+            <summary>
+            This read-only property is used to get the type of links used to reference other help topics
+            referring to framework (SDK) help topics in HTML Help 1 help files.
+            </summary>
+            <value>The default is to produce links to online content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WebsiteAdContent">
+            <summary>
+            This read-only property is used to get the ad content to place in each page in the website help file
+            format.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.AppendMarkdownFileExtensionsToUrls">
+            <summary>
+            This read-only property is used to get whether or not to append ".md" extensions to topic URLs
+            </summary>
+            <value>The default is to false to leave them off.  This is suitable for GitHib wiki content which
+            does not add the filename extensions.  Adding them causes the wiki to link to the raw file content
+            rather than the rendered topic.  If your site uses them or if you are rendering content to store in
+            source control where they are used, set this property to true.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MissingTags">
+            <summary>
+            This read-only helper property returns the flags to use when looking for missing tags
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingNamespaces">
+            <summary>
+            This read-only property is used to get whether or not missing namespace comments are indicated in the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingSummaries">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;summary&gt; tags are indicated in
+            the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingParams">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;param&gt; tags are indicated in the
+            help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingTypeParams">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;typeparam&gt; tags on generic types
+            and methods are indicated in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingReturns">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;returns&gt; tags are indicated in
+            the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingValues">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;value&gt; tags are indicated in the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingRemarks">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;remarks&gt; tags are indicated in
+            the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.AutoDocumentConstructors">
+            <summary>
+            This read-only property is used to get whether or not constructors are automatically documented if
+            they are missing the &lt;summary&gt; tag and for classes with compiler generated constructors.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.AutoDocumentDisposeMethods">
+            <summary>
+            This read-only property is used to get whether or not dispose methods are automatically documented if
+            they are missing the &lt;summary&gt; tag and for classes with compiler generated dispose methods.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingIncludeTargets">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;include&gt; tag target
+            documentation is indicated in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.VisibleItems">
+            <summary>
+            This read-only helper property returns the flags used to indicate which optional items to document
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentAttributes">
+            <summary>
+            This read-only property is used to get whether or not attributes on types and members are documented
+            in the syntax portion of the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentExplicitInterfaceImplementations">
+            <summary>
+            This read-only property is used to get whether or not explicit interface implementations are
+            documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited members are documented
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedFrameworkMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited framework members are documented
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedFrameworkInternalMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited internal framework members are
+            documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedFrameworkPrivateMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited private framework members are
+            documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInternals">
+            <summary>
+            This read-only property is used to get whether or not internal members are documented in the help
+            file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentPrivates">
+            <summary>
+            This read-only property is used to get whether or not private members are documented in the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentPrivateFields">
+            <summary>
+            This read-only property is used to get or set whether or not private fields are documented in the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentProtected">
+            <summary>
+            This read-only property is used to get whether or not protected members are documented in the help
+            file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentSealedProtected">
+            <summary>
+            This read-only property is used to get whether or not protected members of sealed classes are
+            documented in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentProtectedInternalAsProtected">
+            <summary>
+            This read-only property is used to get whether or not "protected internal" members are documented as
+            "protected" only in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentNoPIATypes">
+            <summary>
+            This read-only property is used to get whether or not no-PIA (Primary Interop Assembly) embedded
+            interop types are documented in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentPublicCompilerGenerated">
+            <summary>
+            This read-only property is used to get whether or not public compiler generated types and members are
+            documented in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentEditorBrowsableNever">
+            <summary>
+            This read-only property is used to get whether or not members marked with an
+            <see cref="T:System.ComponentModel.EditorBrowsableAttribute"/> set to <c>Never</c> are documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentNonBrowsable">
+            <summary>
+            This read-only property is used to get whether or not members marked with a
+            <see cref="T:System.ComponentModel.BrowsableAttribute"/> set to <c>False</c> are documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInternalAndPrivateIfExternal">
+            <summary>
+            This read-only property is used to get whether or not internal members of base types in other
+            assemblies and private members in base types are documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ApiFilter">
+            <summary>
+            This read-only property is used to get the API filter
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BasePath">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ResolvePath(System.String)">
+            <summary>
+            This method resolves any MSBuild environment variables in the path objects
+            </summary>
+            <param name="path">The path to use</param>
+            <returns>A copy of the path after performing any custom resolutions</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ContentFiles(SandcastleBuilder.Utils.BuildAction)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.#ctor">
+            <summary>
+            Private constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.#ctor(System.String,System.Boolean,System.Boolean)">
+            <summary>
+            Load a Sandcastle Builder project from the given filename
+            </summary>
+            <param name="filename">The filename to load</param>
+            <param name="mustExist">Specify true if the file must exist or false if a new project should be
+            created if the file does not exist.</param>
+            <param name="useFinalValues">True to use final evaluated property values, or false to use the
+            unevaluated property values.  For builds, this should always be true.  If loading the project for
+            editing, it should always be false.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if a filename is not specified or if it does not
+            exist and <c>mustExist</c> is true.</exception>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.#ctor(Microsoft.Build.Evaluation.Project)">
+            <summary>
+            This is used to create a Sandcastle Builder project from an existing MSBuild project instance
+            </summary>
+            <param name="existingProject">The existing project instance</param>
+            <remarks>It is assumed that the project has been loaded, the property values are current, and that
+            the configuration and platform have been set in the MSBuild project global properties in order to
+            get the correct final values.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the Sandcastle project if not done
+            explicitly with <see cref="M:SandcastleBuilder.Utils.SandcastleProject.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.Dispose">
+            <summary>
+            This properly disposes of the Sandcastle project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.InitializePropertyCache">
+            <summary>
+            This is used to initialize the local property info and property descriptor caches
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.OnCharacterMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            Replace a \xNN value in the copyright text with its actual character
+            </summary>
+            <param name="match">The match that was found</param>
+            <returns>The string to use as the replacement</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.OnBuildVarMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            Resolve references to MSBuild variables in a path value
+            </summary>
+            <param name="match">The match that was found</param>
+            <returns>The string to use as the replacement</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.LoadProperties">
+            <summary>
+            This is used to load the properties from the project file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.SetLocalProperty(Microsoft.Build.Evaluation.ProjectProperty,System.String)">
+            <summary>
+            This is used to set the local property to the specified value of the MSBuild project property using
+            Reflection.
+            </summary>
+            <param name="msBuildProperty">The MSBuild project property to use</param>
+            <param name="value">The value to which the local property is set</param>
+            <remarks>Property name matching is case insensitive as are the values.  This is used to allow setting
+            of simple project properties (non-collection) from the MSBuild project file.  Unknown properties are
+            ignored.</remarks>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the name parameter is null or an empty
+            string.</exception>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if an error occurs while trying to set the named
+            property.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ConvertOldFrameworkVersion(System.String)">
+            <summary>
+            This is used to convert old SHFB project framework version values to the new framework version values
+            </summary>
+            <param name="oldValue">The old value to convert</param>
+            <returns>The equivalent new value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.DefaultBuildAction(System.String)">
+            <summary>
+            This is used to determine the default build action for a file based on its extension
+            </summary>
+            <param name="filename">The filename to use</param>
+            <returns>The build action based on the extension</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.IsValidUserDefinedPropertyName(System.String)">
+            <summary>
+            This is used to determine whether or not the given name can be used for a user-defined project
+            property.
+            </summary>
+            <param name="name">The name to check</param>
+            <returns>True if it can be used, false if it cannot be used</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.AddFolderToProject(System.String)">
+            <summary>
+            Add a new folder build item to the project
+            </summary>
+            <param name="folder">The folder name</param>
+            <returns>The new <see cref="T:SandcastleBuilder.Utils.FileItem"/>.</returns>
+            <remarks>If the folder does not exist in the project, it is added and created if not already there.
+            If the folder is already part of the project, the existing item is returned.</remarks>
+            <exception cref="T:System.ArgumentException">This is thrown if the path matches the project root path or is
+            not below it.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.AddFileToProject(System.String,System.String)">
+            <summary>
+            Add a new file build item to the project
+            </summary>
+            <param name="sourceFile">The source filename</param>
+            <param name="destFile">The optional destination path.  If empty, null, or it does not start with the
+            project folder, the file is copied to the root folder of the project.</param>
+            <returns>The new <see cref="T:SandcastleBuilder.Utils.FileItem" /></returns>
+            <remarks>If the file does not exist in the project, it is copied to the destination path or project
+            folder if not already there.  The default build action is determined based on the filename's
+            extension.  If the file is already part of the project, the existing item is returned.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.FindFile(System.String)">
+            <summary>
+            This is used to locate a file by name in the project
+            </summary>
+            <param name="fileToFind">The fully qualified file path to find</param>
+            <returns>The file item if found or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.RefreshProjectProperties">
+            <summary>
+            This refreshes the project instance property values by reloading them from the underlying MSBuild
+            project.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.SaveProject(System.String)">
+            <summary>
+            This is used to save the project file
+            </summary>
+            <param name="filename">The filename for the project</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.HasItems(SandcastleBuilder.Utils.BuildAction)">
+            <summary>
+            This returns true if the project contains items using the given build action
+            </summary>
+            <param name="buildAction">The build action for which to check</param>
+            <returns>True if at least one item has the given build action or false if there are no items with
+            the given build action.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ReplacementValueFor(System.String)">
+            <summary>
+            This is used by the replacement tag handler to get simple project property values that require no
+            other modification or simple ones that can be handled here.
+            </summary>
+            <param name="name">The property name for which to get the value</param>
+            <returns>The property value as a string if found or null if not found.  If the property name starts
+            with "HtmlEnc", the return value is HTML encoded.  Boolean values and those ending with "SdkLinkType"
+            are converted to lowercase for use in XML attribute values.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.SdkLinkTarget">
+            <summary>
+            This public enumerated type defines the locations in which a browser window can be opened for the
+            external website links.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Blank">
+            <summary>The URL is loaded into a new unnamed window.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Self">
+            <summary>The current document is replaced with the specified URL.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Parent">
+            <summary>The URL is loaded into the current frame's parent. If the frame has no parent, this value
+            acts like the value <c>Self</c>.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Top">
+            <summary>The URL replaces any frame sets that may be loaded. If there are no frame sets defined, this
+            value acts like the value <c>Self</c>.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Utility">
+            <summary>
+            This class contains utility and extension methods
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Utility.RunsAt(System.Collections.Generic.IEnumerable{SandcastleBuilder.Utils.BuildComponent.ExecutionPoint},SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            This is used to determine if the enumerable list of execution points contains an entry for the
+            specified build step and behavior.
+            </summary>
+            <param name="executionPoints">An enumerable list of execution points to check</param>
+            <param name="step">The build step</param>
+            <param name="behavior">The behavior</param>
+            <returns>True if the enumerable list of execution points contains an entry for the specified build
+            step and behavior or false if it does not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Utility.PriorityFor(System.Collections.Generic.IEnumerable{SandcastleBuilder.Utils.BuildComponent.ExecutionPoint},SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            This is used to obtain the execution priority for a plug-in within the given build step and behavior
+            </summary>
+            <param name="executionPoints">An enumerable list of execution points to search</param>
+            <param name="step">The build step</param>
+            <param name="behavior">The behavior</param>
+            <returns>The execution priority is used to determine the order in which the plug-ins will be
+            executed.  Those with a higher priority value will be executed before those with a lower value.
+            Those with an identical priority may be executed in any order within their group.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Utility.ReadWithEncoding(System.String,System.Text.Encoding@)">
+            <summary>
+            This is used to read in a file using an appropriate encoding method
+            </summary>
+            <param name="filename">The file to load</param>
+            <param name="encoding">Pass the default encoding to use.  On return, it contains the actual encoding
+            for the file.</param>
+            <returns>The contents of the file</returns>
+            <remarks>When reading the file, it uses the default encoding specified but detects the encoding if
+            byte order marks are present.  In addition, if the template is an XML file and it contains an
+            encoding identifier in the XML tag, the file is read using that encoding.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager">
+            <summary>
+            This class is used to interact with the Help Library Manager to install and uninstall Microsoft Help
+            Viewer files.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.LocalStorePath">
+            <summary>
+            This read-only property returns the path to the local store folder.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpViewerInstallPath">
+            <summary>
+            This read-only property returns the path to the MS Help Viewer installation folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpLibraryManagerPath">
+            <summary>
+            This read-only property returns the path to the Help Library Manager executable
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpViewerPath">
+            <summary>
+            This read-only property returns the path to the MS Help Viewer application
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.LocalStoreInitialized">
+            <summary>
+            This read-only property is used to see if the local store has been initialized
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+            <remarks>Help Viewer 1.0 will be used</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.#ctor(System.Version)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="version">The help viewer version to use for all operations</param>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.DefaultCatalogName(System.Version)">
+            <summary>
+            This is used to get the default MS Help Viewer 2.x catalog name based on the help viewer version
+            </summary>
+            <param name="viewerVersion">The help viewer version</param>
+            <returns>The default catalog name for the related help viewer version or null if it could not be
+            determined.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.FindLocaleFor(System.String,System.String)">
+            <summary>
+            This is used to find the installed locale of the specified product version for Help Viewer 1.0
+            </summary>
+            <param name="product">The product for which to get the locale.</param>
+            <param name="version">The version of the product for which to get the locale.</param>
+            <returns>The locale found for the specified product.  If not found, it returns null.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.FindLocaleFor(System.String)">
+            <summary>
+            This is used to find the installed locale of the specified product version for Help Viewer 2.x
+            </summary>
+            <param name="catalogName">The catalogName for which to get the locale</param>
+            <returns>The locale found for the specified catalog.  If not found, it returns null.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpContentFileInstalled(System.String)">
+            <summary>
+            This is used to see if the specified content file is installed
+            </summary>
+            <param name="contentFilename">The filename for which to check</param>
+            <returns>True if the file is installed, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.RunAsNormalUser(System.String,System.Diagnostics.ProcessWindowStyle)">
+            <summary>
+            Run the Help Library Content Manager as a normal user
+            </summary>
+            <param name="arguments">The command line arguments to pass to it</param>
+            <param name="windowStyle">The window style to use</param>
+            <returns>The Help Library Manager exit code</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.RunAsAdministrator(System.String,System.Diagnostics.ProcessWindowStyle)">
+            <summary>
+            Run the Help Library Content Manager as an administrator
+            </summary>
+            <param name="arguments">The command line arguments to pass to it</param>
+            <param name="windowStyle">The window style to use</param>
+            <returns>The Help Library Manager exit code</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.LaunchInteractive(System.String)">
+            <summary>
+            Launch the help content manager for interactive use
+            </summary>
+            <param name="arguments">The command line arguments to pass to it</param>
+            <remarks>This always runs it as an administrator on Vista and above.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException">
+            <summary>
+            This exception class is thrown to report problems with the Help Library Manager operation
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Success">
+            <summary>The operation was successful.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HelpLibraryManagerNotFound">
+            <summary>The Help Library Manager was not found.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HelpLibraryManagerAlreadyRunning">
+            <summary>The Help Library Manager is already running.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.LocalStoreNotInitialized">
+            <summary>The local store is not initialized.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.MissingCommandLineArgument">
+            <summary>A required command line argument is missing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.CatalogNotInstalled">
+            <summary>The catalog is not installed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.UnknownError">
+            <summary>An unknown error occurred in the Help Library Manager launcher.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.InvalidCmdArgs">
+            <summary>One or more command line arguments was missing or invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.MissingOrInvalidAppConfig">
+            <summary>The application configuration file for HLM was missing or invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnMachineLock">
+            <summary>The help content store could not be locked for update.  This error typically
+            occurs when the content is locked for update by another process.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.MissingCatalogInfo">
+            <summary>Files required to install content for a new product were not found.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.InvalidCatalogInfo">
+            <summary>Files required to install content for a new product were invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnSettingLocalStore">
+            <summary>The path specified for the /content switch is invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.InvalidHelpLocation">
+            <summary>The local content store is in an invalid state.  This error occurs when the
+            directory permissions do not allow writing, or a required file is missing from the
+            directory.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.NoBooksToInstall">
+            <summary>The arguments passed to HLM did not result in content being installed or removed.
+            This can occur when the content is already installed or has already been removed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnSilentUninstall">
+            <summary>The removal of content failed.  Detailed information can be found in the event log
+            and in the installation log.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnSilentInstall">
+            <summary>The installation of content failed.  Detailed information can be found in the event
+            log and in the installation log.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.NonAdminSetsLocalStoreOnSilentMode">
+            <summary>A non-admin user is trying to initialize the store using the /silent switch.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailureToElevate">
+            <summary>Failed to elevate with administrative privileges.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HV2InvalidCmdArgs">
+            <summary>One or more command line arguments was missing or invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnFetchingOnlineContent">
+            <summary>Failed while fetching online content.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnFetchingContentFromDisk">
+            <summary>Failed while fetching content from disk.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnFetchingInstalledBooks">
+            <summary>Failed while fetching installed books.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.NoBooksToUninstall">
+            <summary>The arguments passed to HLM did not result in content being removed.  This can occur when
+            the content has already been removed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HV2NoBooksToInstall">
+            <summary>The arguments passed to HLM did not result in content being installed.  This can occur when
+            the content is already installed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnUninstall">
+            <summary>Failed on uninstall operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnInstall">
+            <summary>Failed on install operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnMove">
+            <summary>Failed on move operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnUpdate">
+            <summary>Failed on update operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnRefresh">
+            <summary>Failed on refresh operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Canceled">
+            <summary>The operation was canceled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.ContentManagementDisabled">
+            <summary>Content management has been disabled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.OnlineHelpPreferenceDisabled">
+            <summary>Online help preference has been disabled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.UpdateAlreadyRunning">
+            <summary>Another update is already running.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Others">
+            <summary>An unknown error occurred.</summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Version">
+            <summary>
+            This read-only property returns the help viewer version to which the error code applies
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.ErrorCode">
+            <summary>
+            This read-only property returns the error code
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.#ctor(System.Version,System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="version">The help viewer version to which the error applies</param>
+            <param name="errorCode">The error code associated with the exception</param>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.#ctor(System.Version,System.Int32,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="version">The help viewer version to which the error applies</param>
+            <param name="errorCode">The error code associated with the exception</param>
+            <param name="additionalInfo">Additional information for the error message</param>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.ErrorMessageForCode(System.Version,System.Int32)">
+            <summary>
+            Return a descriptive error message for the specified error code
+            </summary>
+            <param name="version">The help viewer version to which the error code applies</param>
+            <param name="code">The error code</param>
+            <returns>A descriptive error message for the error code</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.MicrosoftHelpViewer.UnsafeNativeMethods">
+            <summary>
+            This internal class is used for access to some Win32 API functions.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.UnsafeNativeMethods.GetRegistryValue(System.String,System.String)">
+            <summary>
+            This is used to try and find the specified registry key value in the 64 bit part
+            of the registry. If not found, an attempt is made to try and find it in the 32 bit
+            part of the registry.
+            </summary>
+            <param name="registryKeyPath">The registry key path to find</param>
+            <param name="valueName">The value name to find</param>
+            <returns>The value in the named registry key value</returns>
+            <remarks>This method uses an API call that is unsupported on Windows 2000.</remarks>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.config
new file mode 100644
index 0000000000000000000000000000000000000000..c7dbab4d643d16785a72b7ffb304f8f7f3163931
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <!-- Language elements.  The "id" attribute refers to the locale ID (LCID).
+       The "codepage" attribute is the code page to use when determining the
+       encoding for the files based on the given locale ID.  The "charset"
+       attribute value will be written to the HTML files in place of the UTF-8
+       value when localizing the files for use with the HTML Help 1 compiler. -->
+  <languages>
+    <language id="1028" codepage="950" charset="big5"/>
+    <language id="1029" codepage="1250" charset="Windows-1250"/>
+    <language id="1031" codepage="1252" charset="Windows-1252"/>
+    <language id="1033" codepage="65001" charset="UTF-8" />
+    <language id="1034" codepage="1252" charset="Windows-1252"/>
+    <language id="1036" codepage="1252" charset="Windows-1252"/>
+    <language id="1038" codepage="1250" charset="Windows-1250"/>
+    <language id="1040" codepage="1252" charset="Windows-1252"/>
+    <language id="1041" codepage="932" charset="shift-jis"/>
+    <language id="1042" codepage="949" charset="ks_c_5601-1987"/>
+    <language id="1045" codepage="1250" charset="Windows-1250"/>
+    <language id="1046" codepage="1252" charset="Windows-1252"/>
+    <language id="1049" codepage="1251" charset="Windows-1251"/>
+    <language id="1055" codepage="1254" charset="Windows-1254"/>
+    <language id="2052" codepage="936" charset="gb2312"/>
+    <language id="3076" codepage="950" charset="big5"/>
+    <language id="3082" codepage="65001" charset="UTF-8" />
+  </languages>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ccb1d5bb000f89b932aa569047a65d669243ce82
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ad7794ea7bc65be1348352c70046a2477db6ea43
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/SandcastleHtmlExtract.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleHtmlExtract</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract">
+            <summary>
+            This is the MSBuild task used to extract title and keyword information from HTML files for use in
+            creating the CHM table of contents and keyword index files.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo">
+            <summary>
+            This is used to hold title information
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.TopicTitle">
+            <summary>The topic title</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.TocTitle">
+            <summary>The TOC title</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.File">
+            <summary>The file in which it occurs</summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="topicTitle">The topic title</param>
+            <param name="tocTitle">The TOC title</param>
+            <param name="filename">The filename</param>
+        </member>
+        <member name="T:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo">
+            <summary>
+            This is used to hold keyword information
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo.MainEntry">
+            <summary>The main entry</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo.SubEntry">
+            <summary>An optional sub-entry</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo.File">
+            <summary>The file in which it occurs</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ProjectName">
+            <summary>
+            This is used to set the project name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.LanguageId">
+            <summary>
+            This is used to set the language ID (LCID)
+            </summary>
+            <value>This is optional.  If not set, it defaults to 1033.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.Help1Folder">
+            <summary>
+            This is used to set the HTML Help 1 file folder name containing the Help 1 files to be processed.
+            </summary>
+            <value>This is optional.  If not set, no HTML help 1 files will be processed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WebsiteFolder">
+            <summary>
+            This is used to set the website file folder name containing the website files to be processed.
+            </summary>
+            <value>This is optional.  If not set, no HTML help 1 files will be processed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.LocalizedFolder">
+            <summary>
+            This is used to set the localized output folder name
+            </summary>
+            <value>This is optional.  If not set, the HTML files will not be localized.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.OutputFolder">
+            <summary>
+            This is used to set the general output folder name
+            </summary>
+            <value>This is optional.  If not set, it defaults to the current working folder.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TocFile">
+            <summary>
+            This is used to set the table of contents XML filename
+            </summary>
+            <value>This is optional.  If not set, it defaults to <b>toc.xml</b>.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.MaxDegreeOfParallelism">
+            <summary>
+            This is used to get or set the maximum degree of parallelism used to process the HTML files
+            </summary>
+            <value>If not set, it defaults to a maximum of 20 threads per processor.  Increase or decrease this
+            value as needed based on your system.  Setting it to a value less than 1 will allow for an unlimited
+            number of threads.  However, this is a largely IO-bound process so allowing an excessive number of
+            threads may slow overall system performance on very large help files.</value>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.Execute">
+            <summary>
+            This is used to execute the task and process the HTML files
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ExtractHtmlInfo">
+            <summary>
+            This extracts the information from the HTML files
+            </summary>
+            <returns>True on success or false on failure</returns>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ParseFiles(System.String,System.String)">
+            <summary>
+            Parse the given set of files to generate title and keyword info
+            and localize the files if necessary.
+            </summary>
+            <param name="fileFolder">The folder containing the files to parse</param>
+            <param name="localizedOutputFolder">The folder in which to store localized
+            output or null for no localized output.</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ProcessFile(System.String,System.String,System.String)">
+            <summary>
+            Parse each file looking for the title and index keywords and remove the unnecessary Help 2 constructs
+            that cause issues in Internet Explorer 10.
+            </summary>
+            <param name="basePath">The base folder path</param>
+            <param name="sourceFile">The file to parse</param>
+            <param name="localizedOutputFolder">The folder in which to store localized output or null for no
+            localized output.</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteHelp1xTableOfContents">
+            <summary>
+            Write out the HTML Help 1 table of contents
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteContentLine(System.IO.TextWriter,System.Int32,System.String)">
+            <summary>
+            Write out a table of contents line with indentation
+            </summary>
+            <param name="writer">The writer to which the line is saved</param>
+            <param name="indentCount">The amount of indent to use</param>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteHelp1xKeywordIndex">
+            <summary>
+            Write out the HTML Help 1 keyword index
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteHelp1IndexEntry(System.String,System.String,System.IO.StreamWriter,System.Int32)">
+            <summary>
+            This is used to write out a Help 1 index entry
+            </summary>
+            <param name="title">The topic title</param>
+            <param name="file">The target filename</param>
+            <param name="writer">The stream writer to use</param>
+            <param name="indent">The indent level</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteWebsiteTableOfContents">
+            <summary>
+            Write out the website table of contents
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteWebsiteKeywordIndex">
+            <summary>
+            Write out the website keyword index
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Buffers.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Buffers.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f2d83c51416e90dbc31154545b16df3b3f7a7909
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Buffers.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.CodeDom.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.CodeDom.dll
new file mode 100644
index 0000000000000000000000000000000000000000..6feab971b68973544aaf6157d1ba612eff5557bb
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.CodeDom.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Collections.Immutable.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Collections.Immutable.dll
new file mode 100644
index 0000000000000000000000000000000000000000..049149f17929322dd246d994780d0399a24cf90f
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Collections.Immutable.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Data.SqlClient.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Data.SqlClient.dll
new file mode 100644
index 0000000000000000000000000000000000000000..9c76bbd16a72fe64e18f21d59a2ed891eddcbc0e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Data.SqlClient.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Drawing.Common.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Drawing.Common.dll
new file mode 100644
index 0000000000000000000000000000000000000000..649e45bcb7681689a0cc9781410812c728d4d150
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Drawing.Common.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Memory.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Memory.dll
new file mode 100644
index 0000000000000000000000000000000000000000..5d1947056f1c1dd2d48561cf721f615bb8dc0d63
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Memory.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Numerics.Vectors.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Numerics.Vectors.dll
new file mode 100644
index 0000000000000000000000000000000000000000..08659724d4f8534ee97a543e93dd6d3c702fcd15
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Numerics.Vectors.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Reflection.Metadata.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Reflection.Metadata.dll
new file mode 100644
index 0000000000000000000000000000000000000000..52082366b0a69847cb0e6351ad4ac3690746f6b5
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Reflection.Metadata.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Runtime.CompilerServices.Unsafe.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000000000000000000000000000000000000..1908d925a3162b60ec13b3f4d54f605dc8d1dc87
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.AccessControl.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.AccessControl.dll
new file mode 100644
index 0000000000000000000000000000000000000000..df8cb50d8ff2169f64f9b5b14d4ff03b38029cb3
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.AccessControl.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.Permissions.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.Permissions.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d326c88e2db074980559d4e689f7195fc34867ab
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.Permissions.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.Principal.Windows.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.Principal.Windows.dll
new file mode 100644
index 0000000000000000000000000000000000000000..54f7829bc3b3fa118827dff731fe461565b09045
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Security.Principal.Windows.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Text.Encodings.Web.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Text.Encodings.Web.dll
new file mode 100644
index 0000000000000000000000000000000000000000..8599b3949ae2f5cf8148f88616d89df35ebad22b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Text.Encodings.Web.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Text.Json.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Text.Json.dll
new file mode 100644
index 0000000000000000000000000000000000000000..8c53363a81844f7177e1b591aa0e89af40901f89
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Text.Json.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Threading.Tasks.Extensions.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000000000000000000000000000000000000..eeec92852705946904d0e2fa0443d454075781f5
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.Threading.Tasks.Extensions.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.ValueTuple.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.ValueTuple.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4ce28fdeac6da139573ed0ff356c2df510692cee
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/net472/System.ValueTuple.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..c167f08c6e0a8ccc9f8c83a3a27986f3e0550aca
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.deps.json
@@ -0,0 +1,1024 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "BuildAssembler/1.0.0": {
+        "dependencies": {
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Build.Utilities.Core": "15.1.548",
+          "System.Data.SqlClient": "4.8.2"
+        },
+        "runtime": {
+          "BuildAssembler.dll": {}
+        }
+      },
+      "Microsoft.Build.Framework/15.1.548": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Thread": "4.0.0"
+        }
+      },
+      "Microsoft.Build.Utilities.Core/15.1.548": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "System.AppContext": "4.1.0",
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Collections.NonGeneric": "4.0.1",
+          "System.Console": "4.0.0",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Process": "4.1.0",
+          "System.Diagnostics.TraceSource": "4.0.0",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Linq": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.Reader": "4.0.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.0.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Runtime.Serialization.Xml": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.Timer": "4.0.1",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "Microsoft.NETCore.Platforms/3.1.0": {},
+      "Microsoft.NETCore.Targets/1.0.1": {},
+      "Microsoft.Win32.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "Microsoft.Win32.Registry/4.7.0": {
+        "dependencies": {
+          "System.Security.AccessControl": "4.7.0",
+          "System.Security.Principal.Windows": "4.7.0"
+        }
+      },
+      "runtime.native.System/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "runtime.native.System.Data.SqlClient.sni/4.7.0": {
+        "dependencies": {
+          "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+          "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+          "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
+        }
+      },
+      "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+        "runtimeTargets": {
+          "runtimes/win-arm64/native/sni.dll": {
+            "rid": "win-arm64",
+            "assetType": "native",
+            "fileVersion": "4.6.25512.1"
+          }
+        }
+      },
+      "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+        "runtimeTargets": {
+          "runtimes/win-x64/native/sni.dll": {
+            "rid": "win-x64",
+            "assetType": "native",
+            "fileVersion": "4.6.25512.1"
+          }
+        }
+      },
+      "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+        "runtimeTargets": {
+          "runtimes/win-x86/native/sni.dll": {
+            "rid": "win-x86",
+            "assetType": "native",
+            "fileVersion": "4.6.25512.1"
+          }
+        }
+      },
+      "System.AppContext/4.1.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Collections/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Collections.Concurrent/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Tracing": "4.1.0",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Collections.NonGeneric/4.0.1": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.ComponentModel.Composition/5.0.0": {
+        "runtime": {
+          "lib/netcoreapp2.0/System.ComponentModel.Composition.dll": {
+            "assemblyVersion": "4.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Console/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Data.SqlClient/4.8.2": {
+        "dependencies": {
+          "Microsoft.Win32.Registry": "4.7.0",
+          "System.Security.Principal.Windows": "4.7.0",
+          "runtime.native.System.Data.SqlClient.sni": "4.7.0"
+        },
+        "runtime": {
+          "lib/netcoreapp2.1/System.Data.SqlClient.dll": {
+            "assemblyVersion": "4.6.1.2",
+            "fileVersion": "4.700.20.37001"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
+            "rid": "unix",
+            "assetType": "runtime",
+            "assemblyVersion": "4.6.1.2",
+            "fileVersion": "4.700.20.37001"
+          },
+          "runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "4.6.1.2",
+            "fileVersion": "4.700.20.37001"
+          }
+        }
+      },
+      "System.Diagnostics.Debug/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Diagnostics.Process/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "Microsoft.Win32.Registry": "4.7.0",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.TraceSource/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.Tracing/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Globalization/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.IO/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.FileSystem/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.FileSystem.Primitives/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Linq/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0"
+        }
+      },
+      "System.ObjectModel/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Private.DataContractSerialization/4.1.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Emit.Lightweight": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1",
+          "System.Xml.XmlSerializer": "4.0.11"
+        }
+      },
+      "System.Reflection/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit/4.0.1": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.ILGeneration/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.Lightweight/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Extensions/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.TypeExtensions/4.1.0": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Resources.Reader/4.0.0": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Resources.ResourceManager/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "System.Runtime.Extensions/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.Handles/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.InteropServices/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Runtime.Serialization.Primitives/4.1.1": {
+        "dependencies": {
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.Serialization.Xml/4.1.1": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Private.DataContractSerialization": "4.1.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Security.AccessControl/4.7.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "System.Security.Principal.Windows": "4.7.0"
+        }
+      },
+      "System.Security.Principal.Windows/4.7.0": {},
+      "System.Text.Encoding/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Text.Encoding.Extensions/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Text.RegularExpressions/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Threading/4.0.11": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Tasks/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.Tasks.Extensions/4.0.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Thread/4.0.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.ThreadPool/4.0.10": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Threading.Timer/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "3.1.0",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Xml.ReaderWriter/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Tasks.Extensions": "4.0.0"
+        }
+      },
+      "System.Xml.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Xml.XmlSerializer/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "EWSoftware.Sandcastle.Core/2021.10.23": {
+        "dependencies": {
+          "System.ComponentModel.Composition": "5.0.0"
+        },
+        "runtime": {
+          "Sandcastle.Core.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "BuildAssembler/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Build.Framework/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-wO17o9zmhAq1YYXdlwXtSsX/LzHgF1mWmKZ/X2CQE8n1WWQnzcm0gqyAa4qpp89emRZ4N0shHwq+43/9IafloA==",
+      "path": "microsoft.build.framework/15.1.548",
+      "hashPath": "microsoft.build.framework.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.Build.Utilities.Core/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gY0QMmhhG9HCDFK7T6xS+XAw/+vTfdumUwq9Sfk0KvWYnHFqrta6rwOYdcDIjDyZ2bKYVFcYH2c40mufjQZIgw==",
+      "path": "microsoft.build.utilities.core/15.1.548",
+      "hashPath": "microsoft.build.utilities.core.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/3.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==",
+      "path": "microsoft.netcore.platforms/3.1.0",
+      "hashPath": "microsoft.netcore.platforms.3.1.0.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Targets/1.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==",
+      "path": "microsoft.netcore.targets/1.0.1",
+      "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==",
+      "path": "microsoft.win32.primitives/4.0.1",
+      "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==",
+      "path": "microsoft.win32.registry/4.7.0",
+      "hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
+    },
+    "runtime.native.System/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==",
+      "path": "runtime.native.system/4.0.0",
+      "hashPath": "runtime.native.system.4.0.0.nupkg.sha512"
+    },
+    "runtime.native.System.Data.SqlClient.sni/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
+      "path": "runtime.native.system.data.sqlclient.sni/4.7.0",
+      "hashPath": "runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512"
+    },
+    "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
+      "path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
+      "hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
+    },
+    "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
+      "path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
+      "hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
+    },
+    "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
+      "path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
+      "hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
+    },
+    "System.AppContext/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==",
+      "path": "system.appcontext/4.1.0",
+      "hashPath": "system.appcontext.4.1.0.nupkg.sha512"
+    },
+    "System.Collections/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==",
+      "path": "system.collections/4.0.11",
+      "hashPath": "system.collections.4.0.11.nupkg.sha512"
+    },
+    "System.Collections.Concurrent/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==",
+      "path": "system.collections.concurrent/4.0.12",
+      "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512"
+    },
+    "System.Collections.NonGeneric/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==",
+      "path": "system.collections.nongeneric/4.0.1",
+      "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512"
+    },
+    "System.ComponentModel.Composition/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YL8iA3VOFxhyomn7FxtBgh3F+8XG5jOfT5UcqYLtkafSa6g6alQfKZuRwlEIWe+tzH6OVnj0Ekg5tn/DmV7SkQ==",
+      "path": "system.componentmodel.composition/5.0.0",
+      "hashPath": "system.componentmodel.composition.5.0.0.nupkg.sha512"
+    },
+    "System.Console/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==",
+      "path": "system.console/4.0.0",
+      "hashPath": "system.console.4.0.0.nupkg.sha512"
+    },
+    "System.Data.SqlClient/4.8.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-80vGtW6uLB4AkyrdVuKTXYUyuXDPAsSKbTVfvjndZaRAYxzFzWhJbvUfeAKrN+128ycWZjLIAl61dFUwWHOOTw==",
+      "path": "system.data.sqlclient/4.8.2",
+      "hashPath": "system.data.sqlclient.4.8.2.nupkg.sha512"
+    },
+    "System.Diagnostics.Debug/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==",
+      "path": "system.diagnostics.debug/4.0.11",
+      "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512"
+    },
+    "System.Diagnostics.Process/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==",
+      "path": "system.diagnostics.process/4.1.0",
+      "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512"
+    },
+    "System.Diagnostics.TraceSource/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==",
+      "path": "system.diagnostics.tracesource/4.0.0",
+      "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Tracing/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==",
+      "path": "system.diagnostics.tracing/4.1.0",
+      "hashPath": "system.diagnostics.tracing.4.1.0.nupkg.sha512"
+    },
+    "System.Globalization/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==",
+      "path": "system.globalization/4.0.11",
+      "hashPath": "system.globalization.4.0.11.nupkg.sha512"
+    },
+    "System.IO/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==",
+      "path": "system.io/4.1.0",
+      "hashPath": "system.io.4.1.0.nupkg.sha512"
+    },
+    "System.IO.FileSystem/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==",
+      "path": "system.io.filesystem/4.0.1",
+      "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512"
+    },
+    "System.IO.FileSystem.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==",
+      "path": "system.io.filesystem.primitives/4.0.1",
+      "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.Linq/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==",
+      "path": "system.linq/4.1.0",
+      "hashPath": "system.linq.4.1.0.nupkg.sha512"
+    },
+    "System.ObjectModel/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==",
+      "path": "system.objectmodel/4.0.12",
+      "hashPath": "system.objectmodel.4.0.12.nupkg.sha512"
+    },
+    "System.Private.DataContractSerialization/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==",
+      "path": "system.private.datacontractserialization/4.1.1",
+      "hashPath": "system.private.datacontractserialization.4.1.1.nupkg.sha512"
+    },
+    "System.Reflection/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==",
+      "path": "system.reflection/4.1.0",
+      "hashPath": "system.reflection.4.1.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==",
+      "path": "system.reflection.emit/4.0.1",
+      "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.ILGeneration/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==",
+      "path": "system.reflection.emit.ilgeneration/4.0.1",
+      "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.Lightweight/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==",
+      "path": "system.reflection.emit.lightweight/4.0.1",
+      "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Extensions/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==",
+      "path": "system.reflection.extensions/4.0.1",
+      "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==",
+      "path": "system.reflection.primitives/4.0.1",
+      "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.TypeExtensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==",
+      "path": "system.reflection.typeextensions/4.1.0",
+      "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512"
+    },
+    "System.Resources.Reader/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VX1iHAoHxgrLZv+nq/9drCZI6Q4SSCzSVyUm1e0U60sqWdj6XhY7wvKmy3RvsSal9h+/vqSWwxxJsm0J4vn/jA==",
+      "path": "system.resources.reader/4.0.0",
+      "hashPath": "system.resources.reader.4.0.0.nupkg.sha512"
+    },
+    "System.Resources.ResourceManager/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==",
+      "path": "system.resources.resourcemanager/4.0.1",
+      "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==",
+      "path": "system.runtime/4.1.0",
+      "hashPath": "system.runtime.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.Extensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==",
+      "path": "system.runtime.extensions/4.1.0",
+      "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.Handles/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==",
+      "path": "system.runtime.handles/4.0.1",
+      "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==",
+      "path": "system.runtime.interopservices/4.1.0",
+      "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==",
+      "path": "system.runtime.interopservices.runtimeinformation/4.0.0",
+      "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Primitives/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==",
+      "path": "system.runtime.serialization.primitives/4.1.1",
+      "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Xml/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==",
+      "path": "system.runtime.serialization.xml/4.1.1",
+      "hashPath": "system.runtime.serialization.xml.4.1.1.nupkg.sha512"
+    },
+    "System.Security.AccessControl/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==",
+      "path": "system.security.accesscontrol/4.7.0",
+      "hashPath": "system.security.accesscontrol.4.7.0.nupkg.sha512"
+    },
+    "System.Security.Principal.Windows/4.7.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==",
+      "path": "system.security.principal.windows/4.7.0",
+      "hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512"
+    },
+    "System.Text.Encoding/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==",
+      "path": "system.text.encoding/4.0.11",
+      "hashPath": "system.text.encoding.4.0.11.nupkg.sha512"
+    },
+    "System.Text.Encoding.Extensions/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==",
+      "path": "system.text.encoding.extensions/4.0.11",
+      "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512"
+    },
+    "System.Text.RegularExpressions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==",
+      "path": "system.text.regularexpressions/4.1.0",
+      "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512"
+    },
+    "System.Threading/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==",
+      "path": "system.threading/4.0.11",
+      "hashPath": "system.threading.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Tasks/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==",
+      "path": "system.threading.tasks/4.0.11",
+      "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Extensions/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==",
+      "path": "system.threading.tasks.extensions/4.0.0",
+      "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.Thread/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==",
+      "path": "system.threading.thread/4.0.0",
+      "hashPath": "system.threading.thread.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.ThreadPool/4.0.10": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==",
+      "path": "system.threading.threadpool/4.0.10",
+      "hashPath": "system.threading.threadpool.4.0.10.nupkg.sha512"
+    },
+    "System.Threading.Timer/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==",
+      "path": "system.threading.timer/4.0.1",
+      "hashPath": "system.threading.timer.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.ReaderWriter/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==",
+      "path": "system.xml.readerwriter/4.0.11",
+      "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512"
+    },
+    "System.Xml.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==",
+      "path": "system.xml.xmldocument/4.0.1",
+      "hashPath": "system.xml.xmldocument.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XmlSerializer/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==",
+      "path": "system.xml.xmlserializer/4.0.11",
+      "hashPath": "system.xml.xmlserializer.4.0.11.nupkg.sha512"
+    },
+    "EWSoftware.Sandcastle.Core/2021.10.23": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.dll
new file mode 100644
index 0000000000000000000000000000000000000000..bb6167f1528d1cbff3e1935b688694370942bef5
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.dll.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.dll.config
new file mode 100644
index 0000000000000000000000000000000000000000..a09c46e55e41179a7adeb4d932453df94c14ffc0
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.dll.config
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<configuration>
+	<!-- If you get an HTTP status 407 or 417 error, try one of the following methods to configure BuildAssember
+			 to work with your proxy server so that it can contact the Microsoft Docs cross-reference service to
+			 resolve framework reference links. -->
+
+	<!-- Method 1 (this works most often so try it first) -->
+	<!--	
+	<system.net>
+		<defaultProxy useDefaultCredentials="true">
+			<proxy usesystemdefault="true"/>
+		</defaultProxy>
+	</system.net>
+	-->
+
+	<!-- Method 2 (update the URL for your proxy) -->
+	<!--
+	<system.net>
+		<defaultProxy enabled="true" useDefaultCredentials="true">
+			<proxy bypassonlocal="true" proxyaddress="http://yourproxy:8080" />
+		</defaultProxy>
+	</system.net>
+	-->
+
+	<!-- Method 3 (update the URL for your proxy) -->
+	<!--
+	<system.net>
+		<defaultProxy useDefaultCredentials="true">
+			<proxy scriptLocation="http://your.server.com/proxy.pac" usesystemdefault="true" />
+		</defaultProxy>
+	</system.net>
+	-->
+
+	<!-- Add this element just after the defaultProxy element in the system.net section above if you get an
+			 HTTP 417 error. -->
+	<!--	
+		<settings>
+			<servicePointManager expect100Continue="false" />
+		</settings>
+	-->
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9876288bff82767eba1f402d66e348a8c7937998
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/BuildAssembler.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>BuildAssembler</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Tools.MSBuild.BuildAssembler">
+            <summary>
+            This task is used to run the BuildAssembler tool from MSBuild
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files are located
+            </summary>
+            <value>If not set, no working folder will be set for the build</value>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.ConfigurationFile">
+            <summary>
+            This is used to pass in the configuration filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.ManifestFile">
+            <summary>
+            This is used to pass in the manifest filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Tools.MSBuild.BuildAssembler.BuildAssemblerInstance">
+            <summary>
+            The build assembler instance
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.Cancel">
+            <summary>
+            Cancel the build
+            </summary>
+            <remarks>The build will terminate as soon as possible after initializing a component or after a
+            topic finishes being generated.</remarks>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.Execute">
+            <summary>
+            This executes the task
+            </summary>
+            <returns>True on success, false on failure</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.BuildTopics">
+            <summary>
+            This builds the topics based on the configuration and manifest
+            </summary>
+            <returns>True on success, false on failure</returns>
+        </member>
+        <member name="M:Sandcastle.Tools.MSBuild.BuildAssembler.WriteMessage(Sandcastle.Core.LogLevel,System.String,System.Object[])">
+            <summary>
+            Write a formatted message to the task log with the given parameters
+            </summary>
+            <param name="level">The log level of the message</param>
+            <param name="format">The message format string</param>
+            <param name="args">The list of arguments to format into the message</param>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.config
new file mode 100644
index 0000000000000000000000000000000000000000..d290a579df5f657b191d1dba0db0eac76391ec5b
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.config
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <!-- The reflection information file to use -->
+  <reflectionInfo file="..\..\..\TestCaseProject\Doc\Help\Working\reflection.org" />
+
+  <!-- The inherited documentation output filename -->
+  <inheritedDocs file="..\..\..\TestCaseProject\Doc\Help\Working\_InheritedDocs_.xml" />
+
+  <!-- This is used to see duplicate comment key warnings. They can usually
+       be ignored.  Comment this element out to suppress them. -->
+  <showDuplicateWarning />
+
+  <!-- The XML comments file list.  The "cacheSize" attribute represents the
+       size of the index cache (the maximum number of XML comments files in
+       memory). -->
+  <commentsFiles cacheSize="100">
+    <!-- The <import> elements represent XML comments files that act as a
+         source for inherited documentation but are not themselves scanned for
+         <inheritdoc /> tags.  The <scan> elements represent files that will
+         be scanned for the tags and can also contain inherited documentation.
+         For both, a "path" and/or "file" attribute can be specified.  The
+         "path" attribute is used to indicate that all XML files in the folder
+         should be included.  An optional "recurse" attribute can be used to
+         indicate whether or not sub-folders are also search for comments
+         files.  Use a "file" attribute to specify an individual comments
+         file or, when used with "path", the wildcard to match. -->
+
+    <!-- Base .NET Framework XML comments files. -->
+    <import path="%ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\" />
+    <import path="%ProgramFiles(x86)%\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\" />
+
+    <!-- Project XML comments files to scan. -->
+    <scan file="..\..\..\TestCaseProject\Doc\Help\Working\ExtraComments.xml" />
+    <scan file="..\..\..\TestCaseProject\Doc\Help\Working\TestDoc.xml" />
+  </commentsFiles>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..a69082ce1d865be24995e5f5863c23863ce1cf84
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.deps.json
@@ -0,0 +1,883 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "GenerateInheritedDocs/1.0.0": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Build.Utilities.Core": "15.1.548"
+        },
+        "runtime": {
+          "GenerateInheritedDocs.dll": {}
+        }
+      },
+      "Microsoft.Build.Framework/15.1.548": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Thread": "4.0.0"
+        }
+      },
+      "Microsoft.Build.Utilities.Core/15.1.548": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "System.AppContext": "4.1.0",
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Collections.NonGeneric": "4.0.1",
+          "System.Console": "4.0.0",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Process": "4.1.0",
+          "System.Diagnostics.TraceSource": "4.0.0",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Linq": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.Reader": "4.0.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.0.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Runtime.Serialization.Xml": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.Timer": "4.0.1",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.0.1": {},
+      "Microsoft.NETCore.Targets/1.0.1": {},
+      "Microsoft.Win32.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "Microsoft.Win32.Registry/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0"
+        }
+      },
+      "runtime.native.System/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "System.AppContext/4.1.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Collections/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Collections.Concurrent/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Tracing": "4.1.0",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Collections.NonGeneric/4.0.1": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Console/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Diagnostics.Debug/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Diagnostics.Process/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "Microsoft.Win32.Registry": "4.0.0",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.TraceSource/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.Tracing/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Globalization/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.IO/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.FileSystem/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.FileSystem.Primitives/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Linq/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0"
+        }
+      },
+      "System.ObjectModel/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Private.DataContractSerialization/4.1.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Emit.Lightweight": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1",
+          "System.Xml.XmlSerializer": "4.0.11"
+        }
+      },
+      "System.Reflection/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit/4.0.1": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.ILGeneration/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.Lightweight/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Extensions/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.TypeExtensions/4.1.0": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Resources.Reader/4.0.0": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Resources.ResourceManager/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "System.Runtime.Extensions/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.Handles/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.InteropServices/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Runtime.Serialization.Primitives/4.1.1": {
+        "dependencies": {
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.Serialization.Xml/4.1.1": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Private.DataContractSerialization": "4.1.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Text.Encoding/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Text.Encoding.Extensions/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Text.RegularExpressions/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Threading/4.0.11": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Tasks/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.Tasks.Extensions/4.0.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Thread/4.0.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.ThreadPool/4.0.10": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Threading.Timer/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Xml.ReaderWriter/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Tasks.Extensions": "4.0.0"
+        }
+      },
+      "System.Xml.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Xml.XmlSerializer/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      }
+    }
+  },
+  "libraries": {
+    "GenerateInheritedDocs/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Build.Framework/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-wO17o9zmhAq1YYXdlwXtSsX/LzHgF1mWmKZ/X2CQE8n1WWQnzcm0gqyAa4qpp89emRZ4N0shHwq+43/9IafloA==",
+      "path": "microsoft.build.framework/15.1.548",
+      "hashPath": "microsoft.build.framework.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.Build.Utilities.Core/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gY0QMmhhG9HCDFK7T6xS+XAw/+vTfdumUwq9Sfk0KvWYnHFqrta6rwOYdcDIjDyZ2bKYVFcYH2c40mufjQZIgw==",
+      "path": "microsoft.build.utilities.core/15.1.548",
+      "hashPath": "microsoft.build.utilities.core.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/1.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==",
+      "path": "microsoft.netcore.platforms/1.0.1",
+      "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Targets/1.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==",
+      "path": "microsoft.netcore.targets/1.0.1",
+      "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==",
+      "path": "microsoft.win32.primitives/4.0.1",
+      "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==",
+      "path": "microsoft.win32.registry/4.0.0",
+      "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
+    },
+    "runtime.native.System/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==",
+      "path": "runtime.native.system/4.0.0",
+      "hashPath": "runtime.native.system.4.0.0.nupkg.sha512"
+    },
+    "System.AppContext/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==",
+      "path": "system.appcontext/4.1.0",
+      "hashPath": "system.appcontext.4.1.0.nupkg.sha512"
+    },
+    "System.Collections/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==",
+      "path": "system.collections/4.0.11",
+      "hashPath": "system.collections.4.0.11.nupkg.sha512"
+    },
+    "System.Collections.Concurrent/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==",
+      "path": "system.collections.concurrent/4.0.12",
+      "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512"
+    },
+    "System.Collections.NonGeneric/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==",
+      "path": "system.collections.nongeneric/4.0.1",
+      "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512"
+    },
+    "System.Console/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==",
+      "path": "system.console/4.0.0",
+      "hashPath": "system.console.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Debug/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==",
+      "path": "system.diagnostics.debug/4.0.11",
+      "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512"
+    },
+    "System.Diagnostics.Process/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==",
+      "path": "system.diagnostics.process/4.1.0",
+      "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512"
+    },
+    "System.Diagnostics.TraceSource/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==",
+      "path": "system.diagnostics.tracesource/4.0.0",
+      "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Tracing/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==",
+      "path": "system.diagnostics.tracing/4.1.0",
+      "hashPath": "system.diagnostics.tracing.4.1.0.nupkg.sha512"
+    },
+    "System.Globalization/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==",
+      "path": "system.globalization/4.0.11",
+      "hashPath": "system.globalization.4.0.11.nupkg.sha512"
+    },
+    "System.IO/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==",
+      "path": "system.io/4.1.0",
+      "hashPath": "system.io.4.1.0.nupkg.sha512"
+    },
+    "System.IO.FileSystem/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==",
+      "path": "system.io.filesystem/4.0.1",
+      "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512"
+    },
+    "System.IO.FileSystem.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==",
+      "path": "system.io.filesystem.primitives/4.0.1",
+      "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.Linq/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==",
+      "path": "system.linq/4.1.0",
+      "hashPath": "system.linq.4.1.0.nupkg.sha512"
+    },
+    "System.ObjectModel/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==",
+      "path": "system.objectmodel/4.0.12",
+      "hashPath": "system.objectmodel.4.0.12.nupkg.sha512"
+    },
+    "System.Private.DataContractSerialization/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==",
+      "path": "system.private.datacontractserialization/4.1.1",
+      "hashPath": "system.private.datacontractserialization.4.1.1.nupkg.sha512"
+    },
+    "System.Reflection/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==",
+      "path": "system.reflection/4.1.0",
+      "hashPath": "system.reflection.4.1.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==",
+      "path": "system.reflection.emit/4.0.1",
+      "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.ILGeneration/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==",
+      "path": "system.reflection.emit.ilgeneration/4.0.1",
+      "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.Lightweight/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==",
+      "path": "system.reflection.emit.lightweight/4.0.1",
+      "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Extensions/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==",
+      "path": "system.reflection.extensions/4.0.1",
+      "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==",
+      "path": "system.reflection.primitives/4.0.1",
+      "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.TypeExtensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==",
+      "path": "system.reflection.typeextensions/4.1.0",
+      "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512"
+    },
+    "System.Resources.Reader/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VX1iHAoHxgrLZv+nq/9drCZI6Q4SSCzSVyUm1e0U60sqWdj6XhY7wvKmy3RvsSal9h+/vqSWwxxJsm0J4vn/jA==",
+      "path": "system.resources.reader/4.0.0",
+      "hashPath": "system.resources.reader.4.0.0.nupkg.sha512"
+    },
+    "System.Resources.ResourceManager/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==",
+      "path": "system.resources.resourcemanager/4.0.1",
+      "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==",
+      "path": "system.runtime/4.1.0",
+      "hashPath": "system.runtime.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.Extensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==",
+      "path": "system.runtime.extensions/4.1.0",
+      "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.Handles/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==",
+      "path": "system.runtime.handles/4.0.1",
+      "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==",
+      "path": "system.runtime.interopservices/4.1.0",
+      "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==",
+      "path": "system.runtime.interopservices.runtimeinformation/4.0.0",
+      "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Primitives/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==",
+      "path": "system.runtime.serialization.primitives/4.1.1",
+      "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Xml/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==",
+      "path": "system.runtime.serialization.xml/4.1.1",
+      "hashPath": "system.runtime.serialization.xml.4.1.1.nupkg.sha512"
+    },
+    "System.Text.Encoding/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==",
+      "path": "system.text.encoding/4.0.11",
+      "hashPath": "system.text.encoding.4.0.11.nupkg.sha512"
+    },
+    "System.Text.Encoding.Extensions/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==",
+      "path": "system.text.encoding.extensions/4.0.11",
+      "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512"
+    },
+    "System.Text.RegularExpressions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==",
+      "path": "system.text.regularexpressions/4.1.0",
+      "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512"
+    },
+    "System.Threading/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==",
+      "path": "system.threading/4.0.11",
+      "hashPath": "system.threading.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Tasks/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==",
+      "path": "system.threading.tasks/4.0.11",
+      "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Extensions/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==",
+      "path": "system.threading.tasks.extensions/4.0.0",
+      "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.Thread/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==",
+      "path": "system.threading.thread/4.0.0",
+      "hashPath": "system.threading.thread.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.ThreadPool/4.0.10": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==",
+      "path": "system.threading.threadpool/4.0.10",
+      "hashPath": "system.threading.threadpool.4.0.10.nupkg.sha512"
+    },
+    "System.Threading.Timer/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==",
+      "path": "system.threading.timer/4.0.1",
+      "hashPath": "system.threading.timer.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.ReaderWriter/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==",
+      "path": "system.xml.readerwriter/4.0.11",
+      "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512"
+    },
+    "System.Xml.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==",
+      "path": "system.xml.xmldocument/4.0.1",
+      "hashPath": "system.xml.xmldocument.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XmlSerializer/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==",
+      "path": "system.xml.xmlserializer/4.0.11",
+      "hashPath": "system.xml.xmlserializer.4.0.11.nupkg.sha512"
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.dll
new file mode 100644
index 0000000000000000000000000000000000000000..c5e71d41b5ff282ce2e3f86e74370a712a4b4f96
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6d0a200f9a64e173c7190d0dc60a273f6d76fc6f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/GenerateInheritedDocs.xml
@@ -0,0 +1,247 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>GenerateInheritedDocs</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs">
+            <summary>
+            This class represents the task that scans XML comments files for <b>&lt;inheritdoc /&gt;</b> tags and
+            produces a new XML comments file containing the inherited documentation for use by Sandcastle.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.ConfigurationFile">
+            <summary>
+            This is used to set the configuration file to use from the MSBuild project file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.Execute">
+            <summary>
+            This is used to execute the task and generate the inherited documentation
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.LoadConfiguration(System.String)">
+            <summary>
+            Load the configuration file
+            </summary>
+            <param name="configFile">The configuration file to load</param>
+            <exception cref="T:System.ArgumentException">This is thrown if the configuration file does not exist or is not valid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.ScanCommentsFiles">
+            <summary>
+            This scans the XML comments files for &lt;inheritdoc /&gt; tags and adds the inherited documentation
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.InheritDocumentation(System.Xml.XmlNode)">
+            <summary>
+            This is used to generate the inherited documentation for the given member.  Only tags at the root
+            level are processed here.
+            </summary>
+            <param name="member">The member for which to inherit documentation</param>
+            <remarks>This will recursively expand documentation if a base member's comments are present in the
+            generation list.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.MergeComments(System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathNavigator,System.String)">
+            <summary>
+            Merge the XML comments from one member into another
+            </summary>
+            <param name="fromMember">The member from which to merge comments</param>
+            <param name="toMember">The member into which the comments merged</param>
+            <param name="filter">The selection filter</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.InheritNestedDocumentation(System.Xml.XmlNode)">
+            <summary>
+            This is used to generate the inherited documentation nested within other documentation elements of
+            the given member.  Only nested tags are processed here.
+            </summary>
+            <param name="member">The member for which to inherit documentation</param>
+            <remarks>Unlike root level elements, if the inherited nested documentation contains <c>inheritdoc</c>
+            tags, they will not be handled recursively.  Note that common elements such as <c>param</c> are
+            inherited automatically at the root level so there's no need to use <c>inheritdoc</c> within them
+            unless you want to include something specific using a filter.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.GenerateInheritedDocs.LocateBaseDocumentation(System.String,System.String)">
+            <summary>
+            Locate and merge the documentation from the base member(s)
+            </summary>
+            <param name="name">The member name</param>
+            <param name="cref">An optional member name from which to inherit
+            the documentation.</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles">
+            <summary>
+            This is used to load one or more reflection data files used to look up API information
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.Count">
+            <summary>
+            This returns the number of reflection files
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.AddReflectionFile(System.String)">
+            <summary>
+            Add a reflection file to use for API information
+            </summary>
+            <param name="filename">The file to add</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.SelectSingleNode(System.String)">
+            <summary>
+            Find the single node that matches the given XPath query
+            </summary>
+            <param name="xpath">The XPath query used to find the node</param>
+            <returns>The node if found or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.ReflectionFiles.Select(System.String)">
+            <summary>
+            Find all nodes that matches the given XPath query
+            </summary>
+            <param name="xpath">The XPath query used to find nodes</param>
+            <returns>An enumerable list of matching nodes</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs">
+            <summary>
+            This is used by the comments cache to report a warning message
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.Message">
+            <summary>
+            The message to report
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="text">The message text</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache">
+            <summary>
+            This is used to cache indexed XML comments files
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile">
+            <summary>
+            This represents an indexed XML comments file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.Item(System.String)">
+            <summary>
+            This read-only property returns the XPath navigator for the specified key
+            </summary>
+            <param name="key">The key to look up</param>
+            <returns>The XPath navigator associated with the key</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.#ctor(SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="cache">The cache with which this indexed document is associated</param>
+            <param name="filename">The name of the XML comments file to index</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCount">
+            <summary>
+            This read-only property returns the number of items indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.FilesIndexed">
+            <summary>
+            This read-only property returns the number of comments files that were indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ShowDuplicatesWarning">
+            <summary>
+            This is used to get or set whether or not duplicate entry warnings are generated
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.AllKeys">
+            <summary>
+            This read-only property returns all keys in the index
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.Item(System.String)">
+            <summary>
+            This read-only property returns the comments for the specified key
+            </summary>
+            <param name="key">The key for which to retrieve comments</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathNavigator"/> for the comments or null if not found.</returns>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning">
+            <summary>
+            This is used by the cache to report duplicate key warnings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.OnReportWarning(SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs)">
+            <summary>
+            This is used to raise the <see cref="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning" /> event
+            </summary>
+            <param name="args">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.#ctor(System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="size">The maximum size of the cache</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.LoadXmlCommentsFile(System.String)">
+            <summary>
+            This loads an XML comments file and handles redirection
+            </summary>
+            <param name="filename">The XML comments file to load</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathDocument"/> instance for the loaded XML comments file or null if it could
+            not be loaded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCommentsFiles(System.String,System.String,System.Boolean,System.Collections.Concurrent.ConcurrentBag{System.Xml.XPath.XPathNavigator})">
+            <summary>
+            Index all comments files found in the specified folder.
+            </summary>
+            <param name="path">The path to search.  If null or empty, the current directory is assumed.</param>
+            <param name="wildcard">The wildcard to use.  If null or empty, "*.xml" is assumed.</param>
+            <param name="recurse">True to recurse subfolders or false to only use the given folder.</param>
+            <param name="commentsFiles">Optional.  If not null, an <see cref="T:System.Xml.XPath.XPathDocument"/> is added to the
+            collection for each file indexed.</param>
+            <remarks>The files are indexed in parallel.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetKeys(System.String)">
+            <summary>
+            This returns an enumerable list of all key values from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key values in the given file</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetValues(System.String)">
+            <summary>
+            This returns an enumerable list of all key/value pairs from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key/value values in the given file</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException">
+            <summary>
+            This exception class is thrown by the application if it encounters an unrecoverable error
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String,System.Exception)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.config
new file mode 100644
index 0000000000000000000000000000000000000000..980e3aa6925e3b8db42293cb8c89283765204cf9
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.config
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+	<dduetools>
+		<!-- This element is used to define the platform type and version information for use in generating
+				 reflection information that is accurate for the selected framework type.  The framework and version
+				 attribute values correspond to one of the framework sets defined in the Frameworks.xml file.  Using
+				 this method allows for automatic referencing of core framework assemblies as well as automatic
+				 binding redirection from older versions to the defined version for all assemblies in the framework's
+				 assembly set (i.e. automatically redirecting the RIA SDK dependencies from the Silverlight 4 versions to
+				 the Silverlight 5 versions when producing information for a Silverlight 5 project that uses the RIA SDK). -->
+		<platform framework=".NETFramework" version="4.7.2" />
+
+		<resolver type="Sandcastle.Tools.Reflection.AssemblyResolver" use-gac="false">
+			<!-- Add an assemblyBinding element to define binding redirects.  The dependentAssembly elements can
+			specify that redirects should be imported from an application or web config file, a redirect for
+			a range of versions, or a redirect for a single version.  Examples are shown below. -->
+			<!--
+			<assemblyBinding>
+				<dependentAssembly importFrom=".\Web.config" />
+
+				<dependentAssembly>
+					<assemblyIdentity name="NationalInstruments.Common" publicKeyToken="4544464cdeaab541" />
+					<bindingRedirect oldVersion="1.0.0.0-8.1.20.168" newVersion="8.1.20.237" />
+				</dependentAssembly>
+
+				<dependentAssembly>
+					<assemblyIdentity name="MyCompany.Util.ComponentFactory" publicKeyToken="E1458197622051B1"
+						culture="neutral"/>
+					<bindingRedirect oldVersion="1.2.3.4" newVersion="2.1.4.3"/>
+				</dependentAssembly>
+			</assemblyBinding>
+			-->
+			<!-- Add this element to ignore assemblies if they cannot be resolved and you do not have a copy of the
+					 assembly (i.e. the Crystal Reports licensing and Visual Studio test playback assemblies. -->
+			<ignoreIfUnresolved>
+				<assemblyIdentity name="BusinessObjects.Licensing.KeycodeDecoder" />
+				<assemblyIdentity name="Microsoft.VisualStudio.TestTools.UITest.Playback" />
+			</ignoreIfUnresolved>
+		</resolver>
+
+		<!--
+		<namer type="Sandcastle.Tools.Reflection.OrcasNamer" />
+		-->
+
+		<!-- Additional component locations (reflection data, etc.)
+		<componentLocations>
+			<location folder="C:\AdditonalReflectionData" />
+		</componentLocations> -->
+
+		<addins>
+			<addin type="Sandcastle.Tools.XamlAttachedMembersAddIn" />
+			<addin type="Sandcastle.Tools.ExtensionMethodAddIn" />
+		</addins>
+
+		<!-- This specifies the base path to the source code.  If set, source code context information (filename and
+				 line number) will be included in the reflection data when possible.  An up-to-date program database
+				 (PDB) file is required.  If the warning option is set to true, missing source context information for
+				 types are reported as warnings rather than as informational messages.
+		<sourceContext basePath="C:\Path\To\Source" warnOnMissingSourceContext="false" /> -->
+
+		<!-- This defines which members to include in the reflection data based on visibility -->
+		<visibility>
+			<!-- Include attributes.  When false, certain required attributes will still be included. -->
+			<attributes expose="true" />
+			<!-- Include explicit interface implementations -->
+			<explicitInterfaceImplementations expose="true" />
+			<!-- Include inherited members -->
+			<inheritedMembers expose="true" />
+			<!-- Include inherited framework members.  For this to work, InheritedMembers must also be enabled. -->
+			<inheritedFrameworkMembers expose="true" />
+			<!-- Include inherited internal framework members.  For this to work Internals and
+					 InheritedFrameworkMembers must also be enabled. -->
+			<inheritedFrameworkInternalMembers expose="false" />
+			<!-- Include inherited private framework members.  For this to work Privates and InheritedFrameworkMembers
+					 must also be enabled. -->
+			<inheritedFrameworkPrivateMembers expose="false" />
+			<!-- Include internal members -->
+			<internals expose="false" />
+			<!-- Include private members -->
+			<privates expose="false" />
+			<!-- Include private fields.  For this to work, Privates must also be enabled. -->
+			<privateFields expose="false" />
+			<!-- Include protected members -->
+			<protected expose="true" />
+			<!-- Include protected members of sealed classes.  For this to work, Protected must also be enabled. -->
+			<sealedProtected expose="false" />
+			<!-- Include "protected internal" members as "protected" only -->
+			<protectedInternalAsProtected expose="true" />
+			<!-- Include "no-PIA" COM types, those marked with CompilerGeneratedAttribute and TypeIdentifierAttribute -->
+			<noPIATypes expose="false" />
+			<!-- Include public compiler generated types/members -->
+			<publicCompilerGenerated expose="false" />
+			<!-- Include types and members marked with an EditorBrowsableAttribute set to Never -->
+			<editorBrowsableNever expose="false" />
+			<!-- Include types and members marked with a BrowsableAttribute set to False -->
+			<nonBrowsable expose="true" />
+			<!-- Internal members from base types in other assemblies and private members from base types -->
+			<internalAndPrivateIfExternal expose="false" />
+		</visibility>
+
+		<!--
+    <apiFilter expose="true">
+      <namespace name="System" expose="true">
+        <type name="Object" expose="false">
+          <member name="ToString" expose="true" />
+        </type>
+      </namespace>
+    </apiFilter>
+    -->
+
+		<attributeFilter expose="true">
+			<!-- All attributes in the System namespace are included by default.  However, we need to indicate that for
+					 these two attributes, they are required and should never be excluded. -->
+			<namespace name="System" expose="true">
+				<!-- This is required to document Flags enumerated types -->
+				<type name="FlagsAttribute" required="true" />
+				<!-- This is required to document obsolete API members -->
+				<type name="ObsoleteAttribute" required="true" />
+				<!-- This one is required to find parameter array parameters on methods -->
+				<type name="ParamArrayAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="SerializableAttribute" required="true"/>
+			</namespace>
+			<!-- Most attributes in System.ComponentModel control designer behavior. Don't show them.
+					 The exceptions are attributes relating to data binding. Do show them. -->
+			<namespace name="System.ComponentModel" expose="false">
+				<type name="BindableAttribute" expose="true"/>
+				<type name="BrowsableAttribute" expose="true"/>
+				<type name="ComplexBindingPropertiesAttribute" expose="true"/>
+				<type name="DataObjectAttribute" expose="true"/>
+				<type name="DefaultBindingPropertyAttribute" expose="true"/>
+				<type name="ListBindableAttribute" expose="true"/>
+				<type name="LookupBindingPropertiesAttribute" expose="true"/>
+				<type name="SettingsBindableAttribute" expose="true"/>
+				<!-- This is required by the XAML usage syntax component  -->
+				<type name="TypeConverterAttribute" required="true"/>
+				<!-- These may provide useful information too -->
+				<type name="DefaultEventAttribute" expose="true"/>
+				<type name="DefaultPropertyAttribute" expose="true"/>
+				<type name="DefaultValueAttribute" expose="true"/>
+				<type name="DesignerSerializationVisibilityAttribute" expose="true"/>
+				<type name="EditorAttribute" expose="true"/>
+				<type name="EditorBrowsableAttribute" expose="true"/>
+				<type name="ExtenderProvidedProperty" expose="true"/>
+				<type name="ProvideProperty" expose="true"/>
+			</namespace>
+			<namespace name="System.ComponentModel.Design" expose="false" />
+			<namespace name="System.ComponentModel.Design.Serialization" expose="false" />
+			<!-- Most attributes in System.Diagnostics control debugger behavior. Don't show them. -->
+			<namespace name="System.Diagnostics" expose="false">
+				<type name="ConditionalAttribute" expose="true"/>
+				<type name="EventLogPermissionAttribute" expose="true"/>
+				<type name="PerformanceCounterPermissionAttribute" expose="true"/>
+			</namespace>
+			<!-- Attributes in System.Diagnostics.CodeAnalysis control interaction with FxCop. Don't show them. -->
+			<namespace name="System.Diagnostics.CodeAnalysis" expose="false" />
+			<!-- Attributes in System.EnterpriseServices control obscure details of COM+ interop. Don't show them. -->
+			<namespace name="System.EnterpriseServices" expose="false" />
+			<namespace name="System.Reflection" expose="true">
+				<!-- The DefaultMember attribute is usually compiler-generated. Users will see it from the member syntax. -->
+				<type name="DefaultMemberAttribute" expose="false" />
+				<!-- These two are required by the document model transformations -->
+				<type name="AssemblyInformationalVersionAttribute" required="true" />
+				<type name="AssemblyFileVersionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime" expose="false" />
+			<!-- Attributes in System.Runtime.CompilerServices control obscure details of compilation but there are a
+					 couple of required attributes and some that may be useful. -->
+			<namespace name="System.Runtime.CompilerServices" expose="false">
+				<!-- This is required to document extension methods -->
+				<type name="ExtensionAttribute" required="true" />
+				<!-- This is required to document fixed buffers -->
+				<type name="FixedBufferAttribute" required="true" />
+				<!-- This is required to document readonly structs -->
+				<type name="IsReadOnlyAttribute" required="true" />
+				<!-- This is required to document ref structs -->
+				<type name="IsByRefLikeAttribute" required="true" />
+				<!-- These may provide useful information -->
+				<type name="CallerFilePathAttribute" expose="true" />
+				<type name="CallerLineNumberAttribute" expose="true" />
+				<type name="CallerMemberNameAttribute" expose="true" />
+				<type name="UnsafeValueTypeAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.ConstrainedExecution control obscure details of compilation. Don't show them. -->
+			<namespace name="System.Runtime.ConstrainedExecution" expose="false" />
+			<!-- Most attributes in System.Runtime.InteropServices control obscure details of COM interop but there are
+					 some that are useful. -->
+			<namespace name="System.Runtime.InteropServices" expose="false">
+				<type name="ClassInterfaceAttribute" expose="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="ComImportAttribute" required="true"/>
+				<type name="ComVisibleAttribute" expose="true"/>
+				<type name="DispIdAttribute" expose="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="DllImportAttribute" required="true"/>
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="FieldOffsetAttribute" required="true"/>
+				<type name="GuidAttribute" expose="true"/>
+				<type name="InterfaceTypeAttribute" expose="true"/>
+				<!-- This is required to document optional parameters -->
+				<type name="OptionalAttribute" required="true" />
+				<!-- This one is converted to method metadata so it cannot be excluded -->
+				<type name="PreserveSigAttribute" required="true"/>
+				<!-- This one is converted to type metadata so it cannot be excluded -->
+				<type name="StructLayoutAttribute" required="true"/>
+				<type name="TypeIdentifierAttribute" expose="true" />
+			</namespace>
+			<!-- Attributes in System.Runtime.Versioning control details of resource loading. Don't show them. -->
+			<namespace name="System.Runtime.Versioning" expose="false" />
+			<!-- Attributes in System.Security might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security" expose="false">
+				<type name="SecurityCriticalAttribute" expose="true" />
+				<type name="SecurityTreatAsSafeAttribute" expose="true" />
+				<!-- This is required by the document model transformations  -->
+				<type name="AllowPartiallyTrustedCallersAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Security.Permissions might hint at security implementation details. Don't show them. -->
+			<namespace name="System.Security.Permissions" expose="false">
+				<!-- This is required by the presentation styles  -->
+				<type name="HostProtectionAttribute" required="true" />
+			</namespace>
+			<!-- Attributes in System.Web.Compilation control interaction with the Expression designer. Don't show them. -->
+			<namespace name="System.Web.Compilation" expose="false" />
+			<!-- The ASP.NET team only wants these attributes exposed from their namespace. -->
+			<namespace name="System.Web.UI" expose="false">
+				<type name="ControlValuePropertyAttribute" expose="true"/>
+				<!-- This is required by the ASP.NET syntax component -->
+				<type name="PersistenceModeAttribute" required="true" />
+				<type name="ValidationPropertyAttribute" expose="true"/>
+				<type name="WebResourceAttribute" expose="true"/>
+				<type name="TemplateContainerAttribute" expose="true"/>
+				<type name="ThemeableAttribute" expose="true"/>
+				<type name="TemplateInstanceAttribute" expose="true"/>
+			</namespace>
+			<!-- Don't show attributes related to XAML serialization details. -->
+			<namespace name="System.Windows.Markup" expose="true">
+				<!-- This is required by the XAML syntax data transformation -->
+				<type name="ContentPropertyAttribute" required="true" />
+				<type name="ConstructorArgumentAttribute" expose="false" />
+				<type name="DependsOnAttribute" expose="false" />
+				<type name="DesignerSerializationOptionsAttribute" expose="false" />
+				<type name="ValueSerializerAttribute" expose="false" />
+				<type name="XmlnsCompatibleWithAttribute" expose="false" />
+				<type name="XmlnsDefinitionAttribute" expose="false" />
+				<type name="XmlnsPrefixAttribute" expose="false" />
+			</namespace>
+			<!-- The GeneratedCodeAttribute is useful only to tools, and should be hidden from end users.-->
+			<namespace name="System.CodeDom.Compiler" expose="true">
+				<type name="GeneratedCodeAttribute" expose="false" />
+			</namespace>
+		</attributeFilter>
+	</dduetools>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..71a70ae409a31d72226cd286067b1522ba27992f
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.deps.json
@@ -0,0 +1,1784 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "MRefBuilder/1.0.0": {
+        "dependencies": {
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Build.Utilities.Core": "15.1.548",
+          "Microsoft.DiaSymReader": "1.3.0",
+          "Microsoft.DiaSymReader.PortablePdb": "1.5.0",
+          "System.CodeDom": "5.0.0",
+          "System.Security.Permissions": "5.0.0"
+        },
+        "runtime": {
+          "MRefBuilder.dll": {}
+        }
+      },
+      "Microsoft.Build.Framework/15.1.548": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Thread": "4.0.0"
+        }
+      },
+      "Microsoft.Build.Utilities.Core/15.1.548": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Win32.Primitives": "4.3.0",
+          "System.AppContext": "4.3.0",
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.3.0",
+          "System.Collections.NonGeneric": "4.0.1",
+          "System.Console": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Process": "4.1.0",
+          "System.Diagnostics.TraceSource": "4.0.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.3.0",
+          "System.Linq": "4.3.0",
+          "System.ObjectModel": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.3.0",
+          "System.Resources.Reader": "4.0.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Runtime.Serialization.Xml": "4.1.1",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.Timer": "4.3.0",
+          "System.Xml.ReaderWriter": "4.3.0",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "Microsoft.DiaSymReader/1.3.0": {
+        "dependencies": {
+          "NETStandard.Library": "1.6.1"
+        },
+        "runtime": {
+          "lib/netstandard1.1/Microsoft.DiaSymReader.dll": {
+            "assemblyVersion": "1.3.0.0",
+            "fileVersion": "1.3.0.63011"
+          }
+        }
+      },
+      "Microsoft.DiaSymReader.PortablePdb/1.5.0": {
+        "dependencies": {
+          "Microsoft.DiaSymReader": "1.3.0",
+          "System.Collections": "4.3.0",
+          "System.Collections.Immutable": "1.5.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Metadata": "1.6.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0"
+        },
+        "runtime": {
+          "lib/netstandard1.1/Microsoft.DiaSymReader.PortablePdb.dll": {
+            "assemblyVersion": "1.5.0.0",
+            "fileVersion": "1.5.0.63011"
+          }
+        }
+      },
+      "Microsoft.NETCore.Platforms/5.0.0": {},
+      "Microsoft.NETCore.Targets/1.1.0": {},
+      "Microsoft.Win32.Primitives/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "Microsoft.Win32.Registry/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0"
+        }
+      },
+      "Microsoft.Win32.SystemEvents/5.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "NETStandard.Library/1.6.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.Win32.Primitives": "4.3.0",
+          "System.AppContext": "4.3.0",
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.3.0",
+          "System.Console": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tools": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Globalization.Calendars": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.Compression": "4.3.0",
+          "System.IO.Compression.ZipFile": "4.3.0",
+          "System.IO.FileSystem": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.3.0",
+          "System.Linq": "4.3.0",
+          "System.Linq.Expressions": "4.3.0",
+          "System.Net.Http": "4.3.0",
+          "System.Net.Primitives": "4.3.0",
+          "System.Net.Sockets": "4.3.0",
+          "System.ObjectModel": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Extensions": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
+          "System.Runtime.Numerics": "4.3.0",
+          "System.Security.Cryptography.Algorithms": "4.3.0",
+          "System.Security.Cryptography.Encoding": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Security.Cryptography.X509Certificates": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Timer": "4.3.0",
+          "System.Xml.ReaderWriter": "4.3.0",
+          "System.Xml.XDocument": "4.3.0"
+        }
+      },
+      "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.native.System/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0"
+        }
+      },
+      "runtime.native.System.IO.Compression/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0"
+        }
+      },
+      "runtime.native.System.Net.Http/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0"
+        }
+      },
+      "runtime.native.System.Security.Cryptography.Apple/4.3.0": {
+        "dependencies": {
+          "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0"
+        }
+      },
+      "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+        "dependencies": {
+          "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
+          "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
+        }
+      },
+      "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {},
+      "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+      "System.AppContext/4.3.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Buffers/4.3.0": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.CodeDom/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.CodeDom.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Collections/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Collections.Concurrent/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Collections.Immutable/1.5.0": {},
+      "System.Collections.NonGeneric/4.0.1": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.ComponentModel.Composition/5.0.0": {
+        "runtime": {
+          "lib/netcoreapp2.0/System.ComponentModel.Composition.dll": {
+            "assemblyVersion": "4.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Console/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Debug/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Diagnostics.DiagnosticSource/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Process/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.Win32.Primitives": "4.3.0",
+          "Microsoft.Win32.Registry": "4.0.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "runtime.native.System": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Tools/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Diagnostics.TraceSource/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "runtime.native.System": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Tracing/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Drawing.Common/5.0.0": {
+        "dependencies": {
+          "Microsoft.Win32.SystemEvents": "5.0.0"
+        },
+        "runtime": {
+          "lib/netcoreapp3.0/System.Drawing.Common.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll": {
+            "rid": "unix",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          },
+          "runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Globalization/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Globalization.Calendars/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Globalization": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Globalization.Extensions/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0"
+        }
+      },
+      "System.IO/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.IO.Compression/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Buffers": "4.3.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "runtime.native.System": "4.3.0",
+          "runtime.native.System.IO.Compression": "4.3.0"
+        }
+      },
+      "System.IO.Compression.ZipFile/4.3.0": {
+        "dependencies": {
+          "System.Buffers": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.Compression": "4.3.0",
+          "System.IO.FileSystem": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Text.Encoding": "4.3.0"
+        }
+      },
+      "System.IO.FileSystem/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.IO.FileSystem.Primitives/4.3.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Linq/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0"
+        }
+      },
+      "System.Linq.Expressions/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.3.0",
+          "System.ObjectModel": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.3.0",
+          "System.Reflection.Emit.Lightweight": "4.3.0",
+          "System.Reflection.Extensions": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Net.Http/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.DiagnosticSource": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Globalization.Extensions": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.3.0",
+          "System.Net.Primitives": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Security.Cryptography.Algorithms": "4.3.0",
+          "System.Security.Cryptography.Encoding": "4.3.0",
+          "System.Security.Cryptography.OpenSsl": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Security.Cryptography.X509Certificates": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "runtime.native.System": "4.3.0",
+          "runtime.native.System.Net.Http": "4.3.0",
+          "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
+        }
+      },
+      "System.Net.Primitives/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0"
+        }
+      },
+      "System.Net.Sockets/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.Net.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.ObjectModel/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Private.DataContractSerialization/4.1.1": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.3.0",
+          "System.Reflection.Emit.Lightweight": "4.3.0",
+          "System.Reflection.Extensions": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Xml.ReaderWriter": "4.3.0",
+          "System.Xml.XmlDocument": "4.0.1",
+          "System.Xml.XmlSerializer": "4.0.11"
+        }
+      },
+      "System.Reflection/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Emit/4.3.0": {
+        "dependencies": {
+          "System.IO": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Emit.ILGeneration/4.3.0": {
+        "dependencies": {
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Emit.Lightweight/4.3.0": {
+        "dependencies": {
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Extensions/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Metadata/1.6.0": {},
+      "System.Reflection.Primitives/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.TypeExtensions/4.3.0": {
+        "dependencies": {
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Resources.Reader/4.0.0": {
+        "dependencies": {
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Resources.ResourceManager/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Globalization": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0"
+        }
+      },
+      "System.Runtime.Extensions/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime.Handles/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime.InteropServices/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0"
+        }
+      },
+      "System.Runtime.InteropServices.RuntimeInformation/4.3.0": {
+        "dependencies": {
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Extensions": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Threading": "4.3.0",
+          "runtime.native.System": "4.3.0"
+        }
+      },
+      "System.Runtime.Numerics/4.3.0": {
+        "dependencies": {
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0"
+        }
+      },
+      "System.Runtime.Serialization.Primitives/4.1.1": {
+        "dependencies": {
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime.Serialization.Xml/4.1.1": {
+        "dependencies": {
+          "System.IO": "4.3.0",
+          "System.Private.DataContractSerialization": "4.1.1",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.3.0",
+          "System.Xml.ReaderWriter": "4.3.0"
+        }
+      },
+      "System.Security.AccessControl/5.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Security.Principal.Windows": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/System.Security.AccessControl.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Security.Cryptography.Algorithms/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Runtime.Numerics": "4.3.0",
+          "System.Security.Cryptography.Encoding": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "runtime.native.System.Security.Cryptography.Apple": "4.3.0",
+          "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
+        }
+      },
+      "System.Security.Cryptography.Cng/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Security.Cryptography.Algorithms": "4.3.0",
+          "System.Security.Cryptography.Encoding": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Text.Encoding": "4.3.0"
+        }
+      },
+      "System.Security.Cryptography.Csp/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.IO": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Security.Cryptography.Algorithms": "4.3.0",
+          "System.Security.Cryptography.Encoding": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Security.Cryptography.Encoding/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.3.0",
+          "System.Linq": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
+        }
+      },
+      "System.Security.Cryptography.OpenSsl/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Runtime.Numerics": "4.3.0",
+          "System.Security.Cryptography.Algorithms": "4.3.0",
+          "System.Security.Cryptography.Encoding": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
+        }
+      },
+      "System.Security.Cryptography.Primitives/4.3.0": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Security.Cryptography.X509Certificates/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Globalization.Calendars": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Runtime.Numerics": "4.3.0",
+          "System.Security.Cryptography.Algorithms": "4.3.0",
+          "System.Security.Cryptography.Cng": "4.3.0",
+          "System.Security.Cryptography.Csp": "4.3.0",
+          "System.Security.Cryptography.Encoding": "4.3.0",
+          "System.Security.Cryptography.OpenSsl": "4.3.0",
+          "System.Security.Cryptography.Primitives": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "runtime.native.System": "4.3.0",
+          "runtime.native.System.Net.Http": "4.3.0",
+          "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
+        }
+      },
+      "System.Security.Permissions/5.0.0": {
+        "dependencies": {
+          "System.Security.AccessControl": "5.0.0",
+          "System.Windows.Extensions": "5.0.0"
+        },
+        "runtime": {
+          "lib/netcoreapp3.0/System.Security.Permissions.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Security.Principal.Windows/5.0.0": {
+        "runtime": {
+          "lib/netstandard2.0/System.Security.Principal.Windows.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": {
+            "rid": "unix",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          },
+          "runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Text.Encoding/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Text.Encoding.Extensions/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0"
+        }
+      },
+      "System.Text.RegularExpressions/4.3.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Threading/4.3.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Threading.Tasks/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Threading.Tasks.Extensions/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Threading.Thread/4.0.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Threading.ThreadPool/4.0.10": {
+        "dependencies": {
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0"
+        }
+      },
+      "System.Threading.Timer/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Windows.Extensions/5.0.0": {
+        "dependencies": {
+          "System.Drawing.Common": "5.0.0"
+        },
+        "runtime": {
+          "lib/netcoreapp3.0/System.Windows.Extensions.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Xml.ReaderWriter/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Tasks.Extensions": "4.3.0"
+        }
+      },
+      "System.Xml.XDocument/4.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tools": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Xml.ReaderWriter": "4.3.0"
+        }
+      },
+      "System.Xml.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Xml.ReaderWriter": "4.3.0"
+        }
+      },
+      "System.Xml.XmlSerializer/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.3.0",
+          "System.Reflection.Extensions": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Text.RegularExpressions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Xml.ReaderWriter": "4.3.0",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "EWSoftware.Sandcastle.Core/2021.10.23": {
+        "dependencies": {
+          "System.ComponentModel.Composition": "5.0.0"
+        },
+        "runtime": {
+          "Sandcastle.Core.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "MRefBuilder/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Build.Framework/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-wO17o9zmhAq1YYXdlwXtSsX/LzHgF1mWmKZ/X2CQE8n1WWQnzcm0gqyAa4qpp89emRZ4N0shHwq+43/9IafloA==",
+      "path": "microsoft.build.framework/15.1.548",
+      "hashPath": "microsoft.build.framework.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.Build.Utilities.Core/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gY0QMmhhG9HCDFK7T6xS+XAw/+vTfdumUwq9Sfk0KvWYnHFqrta6rwOYdcDIjDyZ2bKYVFcYH2c40mufjQZIgw==",
+      "path": "microsoft.build.utilities.core/15.1.548",
+      "hashPath": "microsoft.build.utilities.core.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.DiaSymReader/1.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-/fn1Tfo7j7k/slViPlM8azJuxQmri7FZ8dQ+gTeLbI29leN/1VK0U/BFcRdJNctsRCUgyKJ2q+I0Tjq07Rc1/Q==",
+      "path": "microsoft.diasymreader/1.3.0",
+      "hashPath": "microsoft.diasymreader.1.3.0.nupkg.sha512"
+    },
+    "Microsoft.DiaSymReader.PortablePdb/1.5.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Y2ZFrUIVd57NGSJVeehoansl9cR8vKy21tsdYVxtiNcsLQKFv6P1TChFVHCL095twnMzMyOcHKTeT9GqFLY5ag==",
+      "path": "microsoft.diasymreader.portablepdb/1.5.0",
+      "hashPath": "microsoft.diasymreader.portablepdb.1.5.0.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==",
+      "path": "microsoft.netcore.platforms/5.0.0",
+      "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Targets/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==",
+      "path": "microsoft.netcore.targets/1.1.0",
+      "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.Primitives/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==",
+      "path": "microsoft.win32.primitives/4.3.0",
+      "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==",
+      "path": "microsoft.win32.registry/4.0.0",
+      "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.SystemEvents/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Bh6blKG8VAKvXiLe2L+sEsn62nc1Ij34MrNxepD2OCrS5cpCwQa9MeLyhVQPQ/R4Wlzwuy6wMK8hLb11QPDRsQ==",
+      "path": "microsoft.win32.systemevents/5.0.0",
+      "hashPath": "microsoft.win32.systemevents.5.0.0.nupkg.sha512"
+    },
+    "NETStandard.Library/1.6.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
+      "path": "netstandard.library/1.6.1",
+      "hashPath": "netstandard.library.1.6.1.nupkg.sha512"
+    },
+    "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==",
+      "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==",
+      "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==",
+      "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.native.System/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==",
+      "path": "runtime.native.system/4.3.0",
+      "hashPath": "runtime.native.system.4.3.0.nupkg.sha512"
+    },
+    "runtime.native.System.IO.Compression/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==",
+      "path": "runtime.native.system.io.compression/4.3.0",
+      "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512"
+    },
+    "runtime.native.System.Net.Http/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==",
+      "path": "runtime.native.system.net.http/4.3.0",
+      "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512"
+    },
+    "runtime.native.System.Security.Cryptography.Apple/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==",
+      "path": "runtime.native.system.security.cryptography.apple/4.3.0",
+      "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512"
+    },
+    "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==",
+      "path": "runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==",
+      "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==",
+      "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==",
+      "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0",
+      "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512"
+    },
+    "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==",
+      "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==",
+      "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==",
+      "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==",
+      "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==",
+      "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
+      "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "System.AppContext/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==",
+      "path": "system.appcontext/4.3.0",
+      "hashPath": "system.appcontext.4.3.0.nupkg.sha512"
+    },
+    "System.Buffers/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==",
+      "path": "system.buffers/4.3.0",
+      "hashPath": "system.buffers.4.3.0.nupkg.sha512"
+    },
+    "System.CodeDom/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JPJArwA1kdj8qDAkY2XGjSWoYnqiM7q/3yRNkt6n28Mnn95MuEGkZXUbPBf7qc3IjwrGY5ttQon7yqHZyQJmOQ==",
+      "path": "system.codedom/5.0.0",
+      "hashPath": "system.codedom.5.0.0.nupkg.sha512"
+    },
+    "System.Collections/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==",
+      "path": "system.collections/4.3.0",
+      "hashPath": "system.collections.4.3.0.nupkg.sha512"
+    },
+    "System.Collections.Concurrent/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
+      "path": "system.collections.concurrent/4.3.0",
+      "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512"
+    },
+    "System.Collections.Immutable/1.5.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ==",
+      "path": "system.collections.immutable/1.5.0",
+      "hashPath": "system.collections.immutable.1.5.0.nupkg.sha512"
+    },
+    "System.Collections.NonGeneric/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==",
+      "path": "system.collections.nongeneric/4.0.1",
+      "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512"
+    },
+    "System.ComponentModel.Composition/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YL8iA3VOFxhyomn7FxtBgh3F+8XG5jOfT5UcqYLtkafSa6g6alQfKZuRwlEIWe+tzH6OVnj0Ekg5tn/DmV7SkQ==",
+      "path": "system.componentmodel.composition/5.0.0",
+      "hashPath": "system.componentmodel.composition.5.0.0.nupkg.sha512"
+    },
+    "System.Console/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==",
+      "path": "system.console/4.3.0",
+      "hashPath": "system.console.4.3.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Debug/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==",
+      "path": "system.diagnostics.debug/4.3.0",
+      "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512"
+    },
+    "System.Diagnostics.DiagnosticSource/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==",
+      "path": "system.diagnostics.diagnosticsource/4.3.0",
+      "hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Process/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==",
+      "path": "system.diagnostics.process/4.1.0",
+      "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Tools/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==",
+      "path": "system.diagnostics.tools/4.3.0",
+      "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512"
+    },
+    "System.Diagnostics.TraceSource/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==",
+      "path": "system.diagnostics.tracesource/4.0.0",
+      "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Tracing/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
+      "path": "system.diagnostics.tracing/4.3.0",
+      "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512"
+    },
+    "System.Drawing.Common/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-SztFwAnpfKC8+sEKXAFxCBWhKQaEd97EiOL7oZJZP56zbqnLpmxACWA8aGseaUExciuEAUuR9dY8f7HkTRAdnw==",
+      "path": "system.drawing.common/5.0.0",
+      "hashPath": "system.drawing.common.5.0.0.nupkg.sha512"
+    },
+    "System.Globalization/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
+      "path": "system.globalization/4.3.0",
+      "hashPath": "system.globalization.4.3.0.nupkg.sha512"
+    },
+    "System.Globalization.Calendars/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==",
+      "path": "system.globalization.calendars/4.3.0",
+      "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512"
+    },
+    "System.Globalization.Extensions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==",
+      "path": "system.globalization.extensions/4.3.0",
+      "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512"
+    },
+    "System.IO/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
+      "path": "system.io/4.3.0",
+      "hashPath": "system.io.4.3.0.nupkg.sha512"
+    },
+    "System.IO.Compression/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==",
+      "path": "system.io.compression/4.3.0",
+      "hashPath": "system.io.compression.4.3.0.nupkg.sha512"
+    },
+    "System.IO.Compression.ZipFile/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==",
+      "path": "system.io.compression.zipfile/4.3.0",
+      "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512"
+    },
+    "System.IO.FileSystem/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==",
+      "path": "system.io.filesystem/4.3.0",
+      "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512"
+    },
+    "System.IO.FileSystem.Primitives/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==",
+      "path": "system.io.filesystem.primitives/4.3.0",
+      "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512"
+    },
+    "System.Linq/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==",
+      "path": "system.linq/4.3.0",
+      "hashPath": "system.linq.4.3.0.nupkg.sha512"
+    },
+    "System.Linq.Expressions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==",
+      "path": "system.linq.expressions/4.3.0",
+      "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512"
+    },
+    "System.Net.Http/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==",
+      "path": "system.net.http/4.3.0",
+      "hashPath": "system.net.http.4.3.0.nupkg.sha512"
+    },
+    "System.Net.Primitives/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==",
+      "path": "system.net.primitives/4.3.0",
+      "hashPath": "system.net.primitives.4.3.0.nupkg.sha512"
+    },
+    "System.Net.Sockets/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==",
+      "path": "system.net.sockets/4.3.0",
+      "hashPath": "system.net.sockets.4.3.0.nupkg.sha512"
+    },
+    "System.ObjectModel/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==",
+      "path": "system.objectmodel/4.3.0",
+      "hashPath": "system.objectmodel.4.3.0.nupkg.sha512"
+    },
+    "System.Private.DataContractSerialization/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==",
+      "path": "system.private.datacontractserialization/4.1.1",
+      "hashPath": "system.private.datacontractserialization.4.1.1.nupkg.sha512"
+    },
+    "System.Reflection/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
+      "path": "system.reflection/4.3.0",
+      "hashPath": "system.reflection.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==",
+      "path": "system.reflection.emit/4.3.0",
+      "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit.ILGeneration/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==",
+      "path": "system.reflection.emit.ilgeneration/4.3.0",
+      "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit.Lightweight/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==",
+      "path": "system.reflection.emit.lightweight/4.3.0",
+      "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Extensions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==",
+      "path": "system.reflection.extensions/4.3.0",
+      "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Metadata/1.6.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==",
+      "path": "system.reflection.metadata/1.6.0",
+      "hashPath": "system.reflection.metadata.1.6.0.nupkg.sha512"
+    },
+    "System.Reflection.Primitives/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
+      "path": "system.reflection.primitives/4.3.0",
+      "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.TypeExtensions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==",
+      "path": "system.reflection.typeextensions/4.3.0",
+      "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512"
+    },
+    "System.Resources.Reader/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VX1iHAoHxgrLZv+nq/9drCZI6Q4SSCzSVyUm1e0U60sqWdj6XhY7wvKmy3RvsSal9h+/vqSWwxxJsm0J4vn/jA==",
+      "path": "system.resources.reader/4.0.0",
+      "hashPath": "system.resources.reader.4.0.0.nupkg.sha512"
+    },
+    "System.Resources.ResourceManager/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
+      "path": "system.resources.resourcemanager/4.3.0",
+      "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
+      "path": "system.runtime/4.3.0",
+      "hashPath": "system.runtime.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.Extensions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
+      "path": "system.runtime.extensions/4.3.0",
+      "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.Handles/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
+      "path": "system.runtime.handles/4.3.0",
+      "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
+      "path": "system.runtime.interopservices/4.3.0",
+      "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices.RuntimeInformation/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==",
+      "path": "system.runtime.interopservices.runtimeinformation/4.3.0",
+      "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.Numerics/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==",
+      "path": "system.runtime.numerics/4.3.0",
+      "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Primitives/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==",
+      "path": "system.runtime.serialization.primitives/4.1.1",
+      "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Xml/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==",
+      "path": "system.runtime.serialization.xml/4.1.1",
+      "hashPath": "system.runtime.serialization.xml.4.1.1.nupkg.sha512"
+    },
+    "System.Security.AccessControl/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==",
+      "path": "system.security.accesscontrol/5.0.0",
+      "hashPath": "system.security.accesscontrol.5.0.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.Algorithms/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==",
+      "path": "system.security.cryptography.algorithms/4.3.0",
+      "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.Cng/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==",
+      "path": "system.security.cryptography.cng/4.3.0",
+      "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.Csp/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==",
+      "path": "system.security.cryptography.csp/4.3.0",
+      "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.Encoding/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==",
+      "path": "system.security.cryptography.encoding/4.3.0",
+      "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.OpenSsl/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==",
+      "path": "system.security.cryptography.openssl/4.3.0",
+      "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.Primitives/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==",
+      "path": "system.security.cryptography.primitives/4.3.0",
+      "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.X509Certificates/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==",
+      "path": "system.security.cryptography.x509certificates/4.3.0",
+      "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512"
+    },
+    "System.Security.Permissions/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-uE8juAhEkp7KDBCdjDIE3H9R1HJuEHqeqX8nLX9gmYKWwsqk3T5qZlPx8qle5DPKimC/Fy3AFTdV7HamgCh9qQ==",
+      "path": "system.security.permissions/5.0.0",
+      "hashPath": "system.security.permissions.5.0.0.nupkg.sha512"
+    },
+    "System.Security.Principal.Windows/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==",
+      "path": "system.security.principal.windows/5.0.0",
+      "hashPath": "system.security.principal.windows.5.0.0.nupkg.sha512"
+    },
+    "System.Text.Encoding/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
+      "path": "system.text.encoding/4.3.0",
+      "hashPath": "system.text.encoding.4.3.0.nupkg.sha512"
+    },
+    "System.Text.Encoding.Extensions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==",
+      "path": "system.text.encoding.extensions/4.3.0",
+      "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512"
+    },
+    "System.Text.RegularExpressions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
+      "path": "system.text.regularexpressions/4.3.0",
+      "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512"
+    },
+    "System.Threading/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==",
+      "path": "system.threading/4.3.0",
+      "hashPath": "system.threading.4.3.0.nupkg.sha512"
+    },
+    "System.Threading.Tasks/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
+      "path": "system.threading.tasks/4.3.0",
+      "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Extensions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==",
+      "path": "system.threading.tasks.extensions/4.3.0",
+      "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512"
+    },
+    "System.Threading.Thread/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==",
+      "path": "system.threading.thread/4.0.0",
+      "hashPath": "system.threading.thread.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.ThreadPool/4.0.10": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==",
+      "path": "system.threading.threadpool/4.0.10",
+      "hashPath": "system.threading.threadpool.4.0.10.nupkg.sha512"
+    },
+    "System.Threading.Timer/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==",
+      "path": "system.threading.timer/4.3.0",
+      "hashPath": "system.threading.timer.4.3.0.nupkg.sha512"
+    },
+    "System.Windows.Extensions/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-c1ho9WU9ZxMZawML+ssPKZfdnrg/OjR3pe0m9v8230z3acqphwvPJqzAkH54xRYm5ntZHGG1EPP3sux9H3qSPg==",
+      "path": "system.windows.extensions/5.0.0",
+      "hashPath": "system.windows.extensions.5.0.0.nupkg.sha512"
+    },
+    "System.Xml.ReaderWriter/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==",
+      "path": "system.xml.readerwriter/4.3.0",
+      "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512"
+    },
+    "System.Xml.XDocument/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==",
+      "path": "system.xml.xdocument/4.3.0",
+      "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512"
+    },
+    "System.Xml.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==",
+      "path": "system.xml.xmldocument/4.0.1",
+      "hashPath": "system.xml.xmldocument.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XmlSerializer/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==",
+      "path": "system.xml.xmlserializer/4.0.11",
+      "hashPath": "system.xml.xmlserializer.4.0.11.nupkg.sha512"
+    },
+    "EWSoftware.Sandcastle.Core/2021.10.23": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.dll
new file mode 100644
index 0000000000000000000000000000000000000000..923c2ce377de05e0c0249198d4a2aa14e9ef1566
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/MRefBuilder.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.DiaSymReader.PortablePdb.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.DiaSymReader.PortablePdb.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0d072c74a3a2d3a8d735b76233146c518af430c8
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.DiaSymReader.PortablePdb.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.DiaSymReader.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.DiaSymReader.dll
new file mode 100644
index 0000000000000000000000000000000000000000..7890c1b6d2b460cf78e555b06643fc1dd21df591
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.DiaSymReader.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.Win32.SystemEvents.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.Win32.SystemEvents.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d62f3335bb75e1ac752e8705089fdd11a7d74a07
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Microsoft.Win32.SystemEvents.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Sandcastle.Core.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Sandcastle.Core.dll
new file mode 100644
index 0000000000000000000000000000000000000000..09007d59e815c0577f92d97bfb9056d7bcfced19
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Sandcastle.Core.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Sandcastle.Core.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Sandcastle.Core.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2691f775ca6a09e12f963cffa8d1dd4b62d1215a
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/Sandcastle.Core.xml
@@ -0,0 +1,3589 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Sandcastle.Core</name>
+    </assembly>
+    <members>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildAssemblerCore">
+            <summary>
+            This class contains the build context and the build components
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.BuildComponents">
+            <summary>
+            This read-only property returns the current list of build components
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.VerbosityLevel">
+            <summary>
+            The verbosity level for the message handlers
+            </summary>
+            <value>The value can be set to <c>Info</c>, <c>Warn</c>, or <c>Error</c>.  The default level
+            is <see cref="F:Sandcastle.Core.BuildAssembler.MessageLevel.Info"/> so that all messages are displayed.  Setting it to a higher
+            level will suppress messages below the given level.</value>
+            <remarks>It is up to the message handler to make use of this property</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.#ctor">
+            <summary>
+            Private default constructor to satisfy MEF composition
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.#ctor(System.Action{Sandcastle.Core.LogLevel,System.String})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="messageLogger">The message logger action</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Dispose(System.Boolean)">
+            <summary>
+            Dispose of all components when being disposed
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="E:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ComponentEvent">
+            <summary>
+            This event is raised when a component wants to signal that something of interest has happened
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.OnComponentEvent(System.Object,System.EventArgs)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ComponentEvent"/> event
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments.  This may be <see cref="F:System.EventArgs.Empty"/> or a derived event
+            arguments class containing information for the event handlers.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Cancel">
+            <summary>
+            This is used to cancel the build
+            </summary>
+            <remarks>The build will terminate as soon as possible after initializing a component or after a
+            topic finishes being generated.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Execute(System.String,System.String)">
+            <summary>
+            This is used to execute the build assembler instance using the specified configuration file and
+            manifest file.
+            </summary>
+            <param name="configurationFile">The build assembler configuration file</param>
+            <param name="manifest">The manifest file</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ReadManifest(System.String)">
+            <summary>
+            This is used to read a manifest file to extract topic IDs for processing
+            </summary>
+            <param name="manifest">The manifest file to read</param>
+            <returns>An enumerable list of topic IDs</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Apply(System.String)">
+            <summary>
+            Apply the current set of components to the topics defined in the given manifest file
+            </summary>
+            <param name="manifestFile">The manifest file containing the topics to generate</param>
+            <returns>A count of the number of topics processed</returns>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.Apply(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.ManifestTopic})">
+            <summary>
+            Apply the current set of components to the given list of topics
+            </summary>
+            <param name="topics">The enumerable list of topic IDs</param>
+            <returns>A count of the number of topics processed</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.AddComponents(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Add a set of components based on the given configuration
+            </summary>
+            <param name="configuration">The configuration containing the component definitions</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ClearComponents">
+            <summary>
+            Dispose of all components and clear them from the collection
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.LoadComponents(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to load a set of components in a configuration and return them as an enumerable list
+            </summary>
+            <param name="configuration">The configuration node from which to get the components</param>
+            <returns>An enumerable list of components created based on the configuration information</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.LoadComponent(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create a component based on the given configuration
+            </summary>
+            <param name="configuration">The component configuration</param>
+            <returns>A component created using the given definition</returns>
+            <exception cref="T:System.ArgumentNullException">This is thrown if <paramref name="configuration"/> is null</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.CreateComponentContainer(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to create a composition container filled with the available build components
+            </summary>
+            <param name="componentLocations">The component locations configuration node</param>
+            <remarks>If any component locations are specified, they are searched recursively for component
+            assemblies in the order given.  The custom components and tools folders are added last if not already
+            specified as one of the component locations.  There may be duplicate component IDs across the
+            assemblies found.  Only the first component for a unique ID will be used.  As such, assemblies in a
+            folder that appears earlier in the list can override copies in folders lower in the list.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.AddAssemblyCatalogs(System.ComponentModel.Composition.Hosting.AggregateCatalog,System.String,System.Collections.Generic.HashSet{System.String},System.Boolean)">
+            <summary>
+            This adds assembly catalogs to the given aggregate catalog for the given folder and all of its
+            subfolders recursively.
+            </summary>
+            <param name="catalog">The aggregate catalog to which the assembly catalogs are added.</param>
+            <param name="folder">The root folder to search.  It and all subfolders recursively will be searched
+            for assemblies to add to the aggregate catalog.</param>
+            <param name="searchedFolders">A hash set of folders that have already been searched and added.</param>
+            <param name="includeSubfolders">True to search subfolders recursively, false to only search the given
+            folder.</param>
+            <remarks>It is done this way to prevent a single assembly that would normally be discovered via a
+            directory catalog from preventing all assemblies from loading if it cannot be examined when the parts
+            are composed (i.e. trying to load a Windows Store assembly on Windows 7).</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.LogMessage(Sandcastle.Core.BuildAssembler.MessageLevel,System.String)">
+            <summary>
+            This is a helper method used to create log message tuples
+            </summary>
+            <param name="level">The log level</param>
+            <param name="message">The message</param>
+            <returns>A tuple containing the log level and the message</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.WriteMessage(Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.Object[])">
+            <summary>
+            Write a message to the message log
+            </summary>
+            <param name="level">The message level</param>
+            <param name="message">The message to write</param>
+            <param name="args">An optional list of arguments to format into the message</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.WriteMessage(System.Type,Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.String)">
+            <summary>
+            Write a component message to the message log
+            </summary>
+            <param name="type">The component type making the request</param>
+            <param name="level">The message level</param>
+            <param name="key">An optional topic key related to the message or null if there isn't one</param>
+            <param name="message">The message to write to the console</param>
+            <remarks>If the message level is below the current verbosity level setting, the message is ignored</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponentUtilities">
+            <summary>
+            This class contains a set of utility extension methods that can be used by build components
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.GetExceptionMessage(System.Exception)">
+            <summary>
+            This is used to get the message strings from an exception and any of its inner exceptions
+            </summary>
+            <param name="exception">The exception from which to get the message</param>
+            <returns>The exception message along with any inner exception messages</returns>
+            <remarks><see cref="T:System.Xml.XmlException"/> and <see cref="T:System.Xml.Xsl.XsltException"/> messages will be returned with
+            line number, line position, and source URI information.</remarks>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the <paramref name="exception"/> argument
+            is null</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.GetInnerXml(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This is used to get the inner XML of a node without changing the spacing
+            </summary>
+            <param name="node">The node from which to get the inner XML</param>
+            <returns>The inner XML as a string with its spacing preserved</returns>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the <paramref name="node"/> parameter
+            is null.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.ToArray(System.Xml.XPath.XPathNodeIterator)">
+            <summary>
+            Convert an XPath node iterator to an array
+            </summary>
+            <param name="iterator">The XPath iterator to convert to an array</param>
+            <returns>An array with the cloned nodes from the iterator</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.EvalXPathExpr(System.Xml.XPath.IXPathNavigable,System.Xml.XPath.XPathExpression,Sandcastle.Core.BuildAssembler.CustomContext)">
+            <summary>
+            This is used to get the string result from evaluating an XPath expression against the given
+            document and context.
+            </summary>
+            <param name="document">The document to use</param>
+            <param name="expression">The XPath expression to evaluate</param>
+            <param name="context">The context to use</param>
+            <returns>The evaluated expression result</returns>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.EvalXPathExpr(System.Xml.XPath.IXPathNavigable,System.Xml.XPath.XPathExpression,System.String[])">
+            <summary>
+            This is used to get the string result from evaluating an XPath expression against the given document
+            and a context created from a set of key/value pairs.
+            </summary>
+            <param name="document">The document to use</param>
+            <param name="expression">The XPath expression to evaluate</param>
+            <param name="keyValuePairs">A set of key/value pairs to use when creating the context</param>
+            <returns>The evaluated expression result</returns>
+            <example>
+            <code language="cs">
+            string result = document.EvalXPathExpr("concat($key, '.htm')", "key", "filename");
+            </code>
+            </example>
+            <exception cref="T:System.ArgumentException">This is thrown if the <paramref name="keyValuePairs"/>
+            parameter contains an odd number of parameters.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.GetRelativePath(System.String,System.String)">
+            <summary>
+            This returns the path argument adjusted to be relative to the base path. Absolute path names will
+            be returned unchanged.
+            </summary>
+            <param name="path">The path to adjust including the filename</param>
+            <param name="basePath">The base path to use including the filename</param>
+            <returns>The path argument as a path relative to the given base path</returns>
+            <example>
+            <code language="none" title=" ">
+            path:     "xxx/aaa/target.html"
+            basePath: "xxx/bbb/source.html"
+            result:   "../aaa/target.html"
+            </code>
+            </example>
+            <remarks>This assumes that the path separator is "/" and that both paths include a filename</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponentUtilities.IsLegalXmlText(System.String)">
+            <summary>
+            This is used to confirm that the specified text only contains legal XML characters
+            </summary>
+            <param name="text">The text to check</param>
+            <returns>True if all characters are legal XML characters, false if not</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore">
+            <summary>
+            This is the abstract base class for all build components
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.BuildAssembler">
+            <summary>
+            This read-only property returns a reference to the build assembler instance using the component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Data">
+            <summary>
+            This read-only property returns a static dictionary that can be used to store information shared
+            between build components.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.GroupId">
+            <summary>
+            This is used to set an optional group ID for use with component events
+            </summary>
+            <value>If not overridden, the default group ID is null (no group)</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.#ctor(Sandcastle.Core.BuildAssembler.BuildAssemblerCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildAssembler">A reference to the build assembler</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the build component if not done
+            explicitly with <see cref="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the build component.
+            </summary>
+            <overloads>There are two overloads for this method.</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Dispose(System.Boolean)">
+            <summary>
+            This can be overridden by derived classes to add their own disposal code if necessary.
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed and unmanaged resources or false to just
+            dispose of the unmanaged resources.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Initialize(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            This abstract method must be overridden to initialize the component
+            </summary>
+            <param name="configuration">The component configuration</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This abstract method must be overridden to apply the build component's changes to the specified
+            document.
+            </summary>
+            <param name="document">The document that the build component can modify</param>
+            <param name="key">The key that uniquely identifies the document</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.OnComponentEvent(System.EventArgs)">
+            <summary>
+            This can be used to raise the <see cref="E:Sandcastle.Core.BuildAssembler.BuildAssemblerCore.ComponentEvent"/>
+            event with the specified event arguments.
+            </summary>
+            <param name="e">The event arguments.  This can be <see cref="F:System.EventArgs.Empty"/> or a derived event
+            arguments class containing information to pass to the event handlers.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.WriteMessage(Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.Object[])">
+            <summary>
+            This can be used to report a message
+            </summary>
+            <param name="level">The message level</param>
+            <param name="message">The message to report</param>
+            <param name="args">An optional list of arguments to format into the message</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore.WriteMessage(System.String,Sandcastle.Core.BuildAssembler.MessageLevel,System.String,System.Object[])">
+            <summary>
+            This can be used to report a message for a specific topic ID
+            </summary>
+            <param name="key">The topic key related to the message</param>
+            <param name="level">The message level</param>
+            <param name="message">The message to report</param>
+            <param name="args">An optional list of arguments to format into the message</param>
+            <remarks>This is useful for warning and error messages as the topic ID will be included even when
+            the message level is set to warnings or higher.  In such cases, the informational messages containing
+            the "building topic X" messages are suppressed.</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuildAssembler build components.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the build component ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.IsVisible">
+            <summary>
+            This is used to get or set whether or not the component is visible to configuration tools
+            </summary>
+            <remarks>Configuration tools can use this to exclude components that should not appear for the user
+            to select.  It is false by default.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Version">
+            <summary>
+            This is used to get or set the build component version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required build component ID</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory">
+            <summary>
+            This is an abstract base class that defines the factory method for build components as well as build
+            tool interaction methods.
+            </summary>
+            <remarks>Build components are non-shared and instances are created as needed</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.BuildAssembler">
+            <summary>
+            This is used to import the build assembler instance that is passed to the build component when it
+            is created.
+            </summary>
+            <value>This may be null when used in a configuration tool which only needs access to the
+            configuration methods on the factory class.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.Dependencies">
+            <summary>
+            This read-only property can be overridden to provide a list of build components on which this
+            component depends.
+            </summary>
+            <value>If the indicated components do not exist in the project settings or in the configuration file
+            already, the build tool can use this information to add them automatically with a default
+            configuration.  It returns an empty list by default.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.ReferenceBuildPlacement">
+            <summary>
+            This is used to get or set a placement action for reference content builds
+            </summary>
+            <value>The default is to not place the component.  Components that are exposed to build tools should
+            set this to define a proper placement action.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.ConceptualBuildPlacement">
+            <summary>
+            This is used to get or set a placement action for conceptual content builds
+            </summary>
+            <value>The default is to not place the component.  Components that are exposed to build tools should
+            set this to define a proper placement action.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.DefaultConfiguration">
+            <summary>
+            This read-only property can be overridden to define a default configuration for the build component
+            </summary>
+            <value>It returns an empty string by default</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory.Create">
+            <summary>
+            This is implemented to provide a build component factory
+            </summary>
+            <returns>A new instance of a build component</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement">
+            <summary>
+            This is used to define the placement of a build component within a BuildAssembler configuration file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement">
+            <summary>
+            This read-only property returns the placement action value
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Id">
+            <summary>
+            This read-only property returns the ID of the component related to the <see cref="T:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction"/>
+            if applicable.
+            </summary>
+            <value>This only has meaning for the <c>Before</c>, <c>After</c>, and <c>Replace</c>
+            <see cref="T:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction"/>.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Instance">
+            <summary>
+            This read-only property returns the instance of the component to replace, insert before, or insert
+            after.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.AdjustedInstance">
+            <summary>
+            This property is used to get or set the instance of the component to replace, insert before, or
+            insert after adjusted for other components that have already been processed.
+            </summary>
+            <value>This is a property for use by designers and build tools</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+            <remarks>The <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement"/> is set to <c>None</c></remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction,System.String)">
+            <summary>
+            Constructor.  Indicate the placement action and an optional component ID related to it if needed.
+            </summary>
+            <param name="placement">The placement action to use</param>
+            <param name="id">A build component ID for use with the <c>Before</c>, <c>After</c>, or
+            <c>Replace</c> <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement"/> action.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if <c>Before</c>, <c>After</c>, or <c>Replace</c>
+            is specified without an ID or if one is specified with <c>None</c>, <c>Start</c>, or <c>End</c>.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction,System.String,System.Int32)">
+            <summary>
+            Constructor.  Indicate the placement action, component ID, and instance to act on.
+            </summary>
+            <param name="placement">The placement action to use</param>
+            <param name="id">A build component ID for use with the <c>Before</c>, <c>After</c>, or
+            <c>Replace</c> <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.ComponentPlacement.Placement"/> action.</param>
+            <param name="instance">The instance to use with the placement option</param>
+            <exception cref="T:System.ArgumentException">This is thrown if <c>Before</c>, <c>After</c>, or <c>Replace</c>
+            is specified without an ID or if instance is less than one.</exception>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore">
+            <summary>
+            This abstract class is used to create copy components used in other build components such as
+            <c>CopyFromIndexComponent</c>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.ParentBuildComponent">
+            <summary>
+            This read-only property returns a reference to the parent build component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.#ctor(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="parent">The parent build component</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.Initialize(System.Xml.XPath.XPathNavigator,System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            This abstract method must be overridden to initialize the copy component
+            </summary>
+            <param name="configuration">The copy component configuration</param>
+            <param name="data">A dictionary object with string as key and object as value.</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentCore.Apply(System.Xml.XmlDocument,System.String)">
+            <summary>
+            This abstract method must be overridden to apply the copy component's changes to the specified
+            document.
+            </summary>
+            <param name="document">The document that the build component can modify</param>
+            <param name="key">The key that uniquely identifies the document</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuildAssembler copy components.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the copy component ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Version">
+            <summary>
+            This is used to get or set the copy component version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the copy component
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.CopyComponentExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required copy component ID</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata">
+            <summary>
+            This class defines the metadata for a BuildAssembler build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.IsVisible">
+            <summary>
+            This read-only property returns true if the build component is visible to configuration tools
+            </summary>
+            <remarks>Configuration tools can use this to exclude components that should not appear for the user
+            to select.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Version">
+            <summary>
+            This read-only property returns the version of the build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IBuildComponentMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the build component
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentFactory">
+            <summary>
+            This interface defines the factory method for copy components
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentFactory.Create(Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentCore)">
+            <summary>
+            This is implemented to provide a syntax generator factory
+            </summary>
+            <param name="parent">The parent build component</param>
+            <returns>A new instance of a syntax generator</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata">
+            <summary>
+            This class defines the metadata for a BuildAssembler build component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Version">
+            <summary>
+            This read-only property returns the version of the copy component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.ICopyComponentMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the copy component
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver">
+            <summary>
+            This defines the interface used to resolve an API member ID to an online help website URL
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.Locale">
+            <summary>
+            This is used to get or set the locale for the reference links if applicable to the resolver
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.IsDisposed">
+            <summary>
+            This read-only property can be used to determine whether or not the resolver has been disposed
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.IsDisabled">
+            <summary>
+            This read-only property indicates whether or not the resolver is disabled
+            </summary>
+            <value>If true, reference links cannot be looked up</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.DisabledReason">
+            <summary>
+            This read-only property returns the reason the resolver is disabled if <see cref="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.IsDisabled"/>
+            returns true.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.CachedUrls">
+            <summary>
+            This read-only property returns the URL cache
+            </summary>
+            <remarks>The key is the member ID, the value is the member URL</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.CacheItemsAdded">
+            <summary>
+            This read-only property is used to return the number of items added to the cache during the latest
+            run.
+            </summary>
+            <value>Returns a non-zero number if items were added or zero if no new items were added or errors
+            occurred that invalidate the updates made.  This can be used to determine if the cache should be
+            persisted in some fashion.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.BuildComponent.IMemberIdUrlResolver.ResolveUrlForId(System.String)">
+            <summary>
+            This is used to get the help website URL for the given .NET Framework member ID
+            </summary>
+            <param name="id">The member ID to look up</param>
+            <returns>The URL for the member ID or null if not found or an error occurred looking it up</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction">
+            <summary>
+            This enumeration defines the build component configuration file placement action values
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.None">
+            <summary>The component is not used in this configuration</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.Start">
+            <summary>Insert the component at the start of the configuration file</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.End">
+            <summary>Insert the component at the end of the configuration file</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.Before">
+            <summary>Place the component before the one indicated</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.After">
+            <summary>Place the component after the one indicated</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.BuildComponent.PlacementAction.Replace">
+            <summary>Replace the indicated component configuration with this one</summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.ConfigurationEditorExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuilderAssembler component configuration editors.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.ConfigurationEditorExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the component ID
+            </summary>
+            <value>This must match the ID of the build component for which this will provide a configuration
+            editor.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.ConfigurationEditorExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required component ID</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.CustomContext">
+            <summary>
+            This represents a custom XSLT context used by BuildAssembler
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">
+            <summary>
+            This constructor takes a dictionary containing the namespaces (the key is the prefix, the value is
+            the namespace URI).
+            </summary>
+            <param name="namespaces">A dictionary containing the namespaces to add to the context</param>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomContext.Item(System.String)">
+            <summary>
+            Indexer
+            </summary>
+            <param name="variable">The variable value to get or set</param>
+            <returns>The variable value as a string</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ClearVariable(System.String)">
+            <summary>
+            Clear the named variable
+            </summary>
+            <param name="name">The variable to clear</param>
+            <returns>True if successful, false if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ClearVariables">
+            <summary>
+            Clear all variables
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ResolveVariable(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.ResolveFunction(System.String,System.String,System.Xml.XPath.XPathResultType[])">
+            <summary>
+            This method is not implemented
+            </summary>
+            <param name="prefix">Not used</param>
+            <param name="name">Not used</param>
+            <param name="argumentTypes">Not used</param>
+            <returns>Not implemented</returns>
+            <exception cref="T:System.NotImplementedException">This method is not implemented</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.CompareDocument(System.String,System.String)">
+            <summary>
+            This method is not used
+            </summary>
+            <param name="baseUri">Not used</param>
+            <param name="nextBaseUri">Not used</param>
+            <returns>This implementation always returns zero</returns>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomContext.Whitespace">
+            <inheritdoc />
+            <value>This implementation always returns true</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomContext.PreserveWhitespace(System.Xml.XPath.XPathNavigator)">
+            <inheritdoc />
+            <remarks>This implementation always returns true</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.CustomVariable">
+            <summary>
+            This represents a custom XSLT variable used by a BuildAssembler <see cref="T:Sandcastle.Core.BuildAssembler.CustomContext"/>
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomVariable.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="value">The variable's value</param>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomVariable.IsLocal">
+            <inheritdoc />
+            <value>This implementation always returns false</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomVariable.IsParam">
+            <inheritdoc />
+            <value>This implementation always returns false</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.CustomVariable.VariableType">
+            <inheritdoc />
+            <value>This implementation always returns <see cref="F:System.Xml.XPath.XPathResultType.String"/></value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.CustomVariable.Evaluate(System.Xml.Xsl.XsltContext)">
+            <inheritdoc />
+            <remarks>This always returns the value of the variable assigned in the constructor</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.IConfigurationEditor">
+            <summary>
+            This class defines the interface used to edit a component configuration
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.IConfigurationEditor.EditConfiguration(System.Xml.Linq.XElement,System.ComponentModel.Composition.Hosting.CompositionContainer)">
+            <summary>
+            This method is used to edit a build component configuration
+            </summary>
+            <param name="configuration">An XML element containing the current configuration settings</param>
+            <param name="container">A composition container that holds all of the exported components found
+            by the build tool.  This can be used to locate and work with other components if necessary.</param>
+            <returns>True if the configuration element was updated, false if not</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.IConfigurationEditorMetadata">
+            <summary>
+            This class defines the metadata for a build component configuration editor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.IConfigurationEditorMetadata.Id">
+            <summary>
+            This read-only property returns the ID of the configurable build component
+            </summary>
+            <value>This must match the ID of the build component for which this will provide a configuration editor</value>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.ManifestTopic">
+            <summary>
+            This is used to hold the topic ID and type for a BuildAssembler manifest file entry
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.ManifestTopic.Id">
+            <summary>
+            This read-only property is used to get the topic ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.ManifestTopic.TopicType">
+            <summary>
+            This read-only property is used to get the topic type
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.ManifestTopic.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The topic ID</param>
+            <param name="topicType">The topic type</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.MessageLevel">
+            <summary>
+            This enumerated type defines the message logging levels
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Ignore">
+            <summary>Do not show at all</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Info">
+            <summary>Informational message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Warn">
+            <summary>A warning message (a minor problem)</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Error">
+            <summary>An error message (a major problem that will stop the build)</summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.MessageLevel.Diagnostic">
+            <summary>A diagnostic message, useful for debugging</summary>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorFactory">
+            <summary>
+            This interface defines the factory method for syntax generators
+            </summary>
+            <remarks>Although not required, syntax generators are non-shared and instances are created as needed.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorFactory.ResourceItemFileLocation">
+            <summary>
+            This read-only property is implemented to return the default and localized resource item file
+            location.
+            </summary>
+            <remarks><para>If it returns null or an empty string, it is assumed the syntax generator has no
+            resource item files.  Otherwise, this will return the folder containing the default and localized
+            resource item files for things such as the title to use for syntax sections and code examples,
+            unsupported language feature messages, etc.</para>
+            
+            <para>The resource item files are like those in the presentation styles.  The root folder contains
+            the default (English) resource item file.  Subfolders, if any, named after each supported language
+            contain the localized version of the file.  In all cases, the file is named using the language ID
+            plus a ".xml" extension.</para></remarks>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorFactory.Create">
+            <summary>
+            This is implemented to provide a syntax generator factory
+            </summary>
+            <returns>A new instance of a syntax generator</returns>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata">
+            <summary>
+            This class defines the metadata for a BuildAssembler syntax generator component
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the syntax generator (typically the language name)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.LanguageElementName">
+            <summary>
+            This read-only property is used to get the value used as the XML element name and in resource item
+            IDs used during XSL transformation such as for label text.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.KeywordStyleParameter">
+            <summary>
+            This read-only property is used to get the keyword style parameter value used by the client side
+            script in the topics for language-specific keyword text.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.IsConfigurable">
+            <summary>
+            This read-only property returns true if the syntax generator is configurable or false if it is not
+            </summary>
+            <value>Configuration is handled by the <c>SyntaxComponent</c> build component.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Version">
+            <summary>
+            This read-only property returns the version of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.SortOrder">
+            <summary>
+            This read-only property returns the value that defines the order in which the syntax generators are
+            added the to the configuration file.
+            </summary>
+            <value>The sort order determines the order of the syntax sections in each topic</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.AlternateIds">
+            <summary>
+            This read-only property returns a comma-separated list of alternate language IDs that can be used
+            by designers to translate an alternate ID to the primary <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.Id"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata.DefaultConfiguration">
+            <summary>
+            This read-only property returns a string containing an XML fragment that defines the default
+            syntax generator configuration if supported.
+            </summary>
+            <value>Designers can use this value as a default if they provide configuration editing support</value>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter">
+            <summary>
+            This is used to write out syntax for managed code
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.Position">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.#ctor(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="location">The location in which to write the output</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteStartBlock(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteStartSubBlock(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteEndBlock">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteEndSubBlock">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteLine">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteString(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteStringWithStyle(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteReferenceLink(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteReferenceLink(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ManagedSyntaxWriter.WriteMessage(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore">
+            <summary>
+            This is the abstract base class for syntax generators
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore.Initialize(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Initialize the syntax generator
+            </summary>
+            <param name="configuration">The syntax generator configuration</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorCore.WriteSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            This is implemented to write the syntax
+            </summary>
+            <param name="reflection">The reflection data used to generate the syntax</param>
+            <param name="writer">The writer to which the syntax information is written</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the
+            BuildAssembler syntax generators.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the syntax generator ID (typically the language name)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.LanguageElementName">
+            <summary>
+            This read-only property is used to get the value used as the XML element name and in resource item
+            IDs used during XSL transformation such as for label text.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.KeywordStyleParameter">
+            <summary>
+            This read-only property is used to get the keyword style parameter value used by the client side
+            script in the topics for language specific keyword/separator text.
+            </summary>
+            <value>This will be one of the following: <c>cs</c> (C# or equivalent), <c>vb</c> (VB.NET
+            or equivalent), <c>cpp</c> (C++ or equivalent), <c>fs</c> (F# or equivalent), or a value unique to
+            the language.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.IsConfigurable">
+            <summary>
+            This is used to get or set whether or not the syntax generator is configurable
+            </summary>
+            <value>Configuration is handled by the <c>SyntaxComponent</c> build component.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Version">
+            <summary>
+            This is used to get or set the syntax generator version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the syntax generator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.SortOrder">
+            <summary>
+            This is used to get or set the value that defines the order in which the syntax generators are added
+            the to the configuration file.
+            </summary>
+            <value>The sort order determines the order of the syntax sections in each topic</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.AlternateIds">
+            <summary>
+            This is used to get or set a comma-separated list of alternate language IDs that can be used by
+            designers to translate an alternate ID to the primary <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.Id"/>
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.DefaultConfiguration">
+            <summary>
+            This is used to get or set a string containing an XML fragment that defines the default syntax
+            generator configuration if supported.
+            </summary>
+            <value>Designers can use this value as a default if they provide configuration editing support</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorExportAttribute.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required plug-in ID</param>
+            <param name="languageElementName">The language element name and resource item ID</param>
+            <param name="keywordStyleParameter">The keyword style parameter value for client side script</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate">
+            <summary>
+            This abstract class is used as the base class for syntax generators
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.MaxPosition">
+            <summary>
+            The maximum line width for the generated syntax
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Language">
+            <summary>
+            This is used to get or set the language name
+            </summary>
+            <value>This is used as the code language name added as an attribute to the <c>div</c>element written
+            to the topics.  The presentation style XSL transformations will also use it to name the
+            language-specific resource items.</value>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.StyleId">
+            <summary>
+            This is used to get or set the style ID
+            </summary>
+            <value>This is used as the code style ID added as an attribute to the <c>div</c>element written
+            to the topics.  The presentation style XSL transformations will use it to group common language
+            elements such as language-specific text and code snippets so that they can be shown and hidden
+            together.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteNamespaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write namespace syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteClassSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write class syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteStructureSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write structure syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteInterfaceSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write interface syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteDelegateSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write delegate syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteEnumerationSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write enumeration syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteConstructorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write constructor syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WritePropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write property syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteFieldSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write field syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write event syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Initialize(System.Xml.XPath.XPathNavigator)">
+            <summary>
+            Initialize the syntax generator
+            </summary>
+            <param name="configuration">The syntax generator configuration</param>
+            <remarks>The base implementation just validates that a <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Language"/> and
+            <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.StyleId"/> have been defined.</remarks>
+            <exception cref="T:System.InvalidOperationException">This is thrown if a <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.Language"/> or
+            <see cref="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.StyleId"/> has not been set.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            This is the main syntax writing method
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteTypeSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write type syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteMemberSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write member syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write method syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteNormalMethodSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write normal method syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteOperatorSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write operator syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteCastSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write cast syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteAttachedPropertySyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write attached property syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteAttachedEventSyntax(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write attached event syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedVarargs(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported variable arguments syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedUnsafe(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported unsafe code syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedGeneric(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported generic types syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.IsUnsupportedExplicit(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write unsupported explicit implementation syntax
+            </summary>
+            <param name="reflection">The reflection data used to produce the syntax</param>
+            <param name="writer">The writer to which the syntax is written</param>
+            <returns>True if unsupported, false if it is supported</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteWithLineBreakIfNeeded(Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter,System.String,System.String)">
+            <summary>
+            This is used to write a string followed by an optional line break if needed (the writer position is
+            past the maximum position afterwards).
+            </summary>
+            <param name="writer">The syntax writer to use</param>
+            <param name="text">An optional text string to write before the new line</param>
+            <param name="indent">An optional indent to write after the line break</param>
+            <returns>True if a new line was written, false if not</returns>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteTypeReference(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a type reference
+            </summary>
+            <param name="reference">The type reference to output</param>
+            <param name="writer">The syntax writer to which the type reference is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteNormalTypeReference(System.String,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a normal type reference
+            </summary>
+            <param name="api">The type reference to output</param>
+            <param name="writer">The syntax writer to which the type reference is written</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxGeneratorTemplate.WriteConstantValue(System.Xml.XPath.XPathNavigator,Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter)">
+            <summary>
+            Write out a constant's value
+            </summary>
+            <param name="parent">The parent node</param>
+            <param name="writer">The syntax writer</param>
+        </member>
+        <member name="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter">
+            <summary>
+            This is used as the abstract base class for syntax writers
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.Position">
+            <summary>
+            The current position of the writer
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.RenderReferenceLinks">
+            <summary>
+            This is used to indicate whether or not the syntax writer should render reference links as actual
+            links.
+            </summary>
+            <value>The default is false to render reference link elements as identifiers instead.  If set to
+            true, it will render them as actual clickable links if the target can be resolved.</value>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteStartBlock(System.String,System.String)">
+            <summary>
+            Write a start block
+            </summary>
+            <param name="codeLanguage">The code language of the block</param>
+            <param name="styleId">The style ID of the block</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteStartSubBlock(System.String)">
+            <summary>
+            Write a start sub-block
+            </summary>
+            <param name="classId">The style class ID of the sub-block</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteEndBlock">
+            <summary>
+            Write an end block
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteEndSubBlock">
+            <summary>
+            Write an end sub-block
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteString(System.String)">
+            <summary>
+            Write a string value
+            </summary>
+            <param name="text">The string to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteStringWithStyle(System.String,System.String)">
+            <summary>
+            Write a string value with a style
+            </summary>
+            <param name="text">The string to write</param>
+            <param name="style">The style class ID to use</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteReferenceLink(System.String)">
+            <summary>
+            Write a reference link
+            </summary>
+            <param name="reference">The reference link ID</param>
+            <overloads>There are two overloads for this method</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteReferenceLink(System.String,System.String)">
+            <summary>
+            Write a reference link with inner text
+            </summary>
+            <param name="reference">The reference link ID</param>
+            <param name="text">The inner text of the link</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteMessage(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Write a message include item
+            </summary>
+            <param name="message">The message include item ID</param>
+            <param name="parameters">Optional parameters to add to the message include item</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteLine">
+            <summary>
+            Write out a blank line
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteKeyword(System.String)">
+            <summary>
+            Write out a keyword
+            </summary>
+            <param name="keyword">The keyword to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteParameter(System.String)">
+            <summary>
+            Write out a parameter
+            </summary>
+            <param name="parameter">The parameter to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteIdentifier(System.String)">
+            <summary>
+            Write out an identifier
+            </summary>
+            <param name="identifier">The identifier to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteLiteral(System.String)">
+            <summary>
+            Write out a literal
+            </summary>
+            <param name="literal">The literal to write</param>
+        </member>
+        <member name="M:Sandcastle.Core.BuildAssembler.SyntaxGenerator.SyntaxWriter.WriteMessage(System.String)">
+            <summary>
+            Write out a message
+            </summary>
+            <param name="message">The message include item ID to write</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.BaseOption">
+            <summary>
+            This abstract base class represents a command line option
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.Name">
+            <summary>
+            This read-only property returns the option name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.Description">
+            <summary>
+            This read-only property returns the option description
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.RequiredMessage">
+            <summary>
+            This is used to get or set a message to display if the option is missing
+            </summary>
+            <remarks>The default is null and the parameter is optional.  If set to a non-null, non-empty string
+            value, the parameter is required.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.Value">
+            <summary>
+            This property is used to get or set the option value
+            </summary>
+            <remarks>As written, the value can only be set when initially parsed</remarks>
+            <exception cref="T:System.InvalidOperationException">This is thrown if an attempt is made to retrieve the
+            value before it has been set or if an attempt is made to set the value twice.</exception>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.BaseOption.IsPresent">
+            <summary>
+            This read-only property is used to determine whether or not the option value was present on the
+            command line.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BaseOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The option name</param>
+            <param name="description">The option description</param>
+            <exception cref="T:System.ArgumentException">This is thrown if the <paramref name="name"/> parameter is null
+            or empty or contains non-alphabetic characters.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BaseOption.ParseArgument(System.String)">
+            <summary>
+            This method is overridden to parse the option arguments, if any
+            </summary>
+            <param name="args">The arguments to parse</param>
+            <returns>A <see cref="T:Sandcastle.Core.CommandLine.ParseResult"/> value to indicate the success or failure of the operation</returns>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BaseOption.WriteTemplate(System.IO.TextWriter)">
+            <summary>
+            This method is overridden to show the command line syntax for the option
+            </summary>
+            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to which the syntax string is written</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.BooleanOption">
+            <summary>
+            This defines a Boolean option
+            </summary>
+            <remarks>A Boolean option is one that has a name followed by a '+' for true or a '-' for false</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BooleanOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The Boolean option name</param>
+            <param name="description">The Boolean option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BooleanOption.ParseArgument(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.BooleanOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.ListOption">
+            <summary>
+            This defines a list option
+            </summary>
+            <remarks>A a list option is like a <see cref="T:Sandcastle.Core.CommandLine.StringOption"/> but the value is a comma-separated
+            list of one or more values.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ListOption.Value">
+            <summary>
+            This is overridden to return the value as a string array
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The list option name</param>
+            <param name="description">The list option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The list option name</param>
+            <param name="description">The list option description</param>
+            <param name="template">A template to use when showing the command line syntax</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.ParseArgument(System.String)">
+            <inheritdoc />
+            <remarks>If the option appears multiple times, the values are combined into a single list</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ListOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.OptionCollection">
+            <summary>
+            This collection is used to hold a set of command line option definitions
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.OptionCollection.Item(System.String)">
+            <summary>
+            This read-only property can be used to retrieve an option by name
+            </summary>
+            <param name="name">The name of the option to retrieve</param>
+            <returns></returns>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.InsertItem(System.Int32,Sandcastle.Core.CommandLine.BaseOption)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.ClearItems">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.RemoveItem(System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.SetItem(System.Int32,Sandcastle.Core.CommandLine.BaseOption)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.ParseArguments(System.String[])">
+            <summary>
+            Parse an array of command line option strings into command line option instances
+            </summary>
+            <param name="args">The array of options to parse</param>
+            <returns>The results of parsing the command line option strings</returns>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.WriteOptionSummary(System.IO.TextWriter)">
+            <summary>
+            This is used to write out a summary of the options
+            </summary>
+            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to which the summary is written</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the <paramref name="writer"/> parameter
+            is null.</exception>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.OptionCollection.ParseArguments(System.String[],Sandcastle.Core.CommandLine.ParseArgumentsResult)">
+            <summary>
+            This is used to parse the command line options and return the results
+            </summary>
+            <param name="args">The array of option strings to parse</param>
+            <param name="results">The results of the parsing operation</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.ParseArgumentsResult">
+            <summary>
+            This is used to hold the results of parsing a set of command line option strings
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ParseArgumentsResult.Options">
+            <summary>
+            This read-only property is used to get the option collection related to the results
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ParseArgumentsResult.Success">
+            <summary>
+            This read-only property is used to see if the options were parsed successfully
+            </summary>
+            <value>Returns true if successful, false if not</value>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.ParseArgumentsResult.UnusedArguments">
+            <summary>
+            This read-only property returns a collection of the unused arguments
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.#ctor(Sandcastle.Core.CommandLine.OptionCollection)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="options">The option collection related to the results</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.AddError(System.String,Sandcastle.Core.CommandLine.ParseResult)">
+            <summary>
+            This is used to add a parsing error
+            </summary>
+            <param name="optionName">The option name</param>
+            <param name="error">The error result</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.AddNonOption(System.String)">
+            <summary>
+            This is used to add a non-option
+            </summary>
+            <param name="value">The non-option value</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.ParseArgumentsResult.WriteParseErrors(System.IO.TextWriter)">
+            <summary>
+            This is used to write out a list of all parsing errors
+            </summary>
+            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to which the summary is written</param>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.ParseResult">
+            <summary>
+            This enumerated type defines the command line option parsing results
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.Success">
+            <summary>Success</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.ArgumentNotAllowed">
+            <summary>Argument not allowed</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.MalformedArgument">
+            <summary>Malformed argument</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.MissingOption">
+            <summary>Missing option</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.UnrecognizedOption">
+            <summary>Unrecognized option</summary>
+        </member>
+        <member name="F:Sandcastle.Core.CommandLine.ParseResult.MultipleOccurence">
+            <summary>A single-use option appeared multiple times</summary>
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.StringOption">
+            <summary>
+            This defines a string option
+            </summary>
+            <remarks>A string option is one that has a name/value pair separated by a colon</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.CommandLine.StringOption.Template">
+            <summary>
+            This is used to specify the template used when showing the command line syntax
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The string option name</param>
+            <param name="description">The string option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The string option name</param>
+            <param name="description">The string option description</param>
+            <param name="template">A template to use when showing the command line syntax</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.ParseArgument(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.StringOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.CommandLine.SwitchOption">
+            <summary>
+            This defines a switch option
+            </summary>
+            <remarks>A switch option is one that is only represented by its name</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.SwitchOption.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The switch option name</param>
+            <param name="description">The switch option description</param>
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.SwitchOption.ParseArgument(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.CommandLine.SwitchOption.WriteTemplate(System.IO.TextWriter)">
+            <inheritdoc />
+        </member>
+        <member name="T:Sandcastle.Core.ComponentAssemblyResolver">
+            <summary>
+            This is used to resolve assembly dependencies when loading component assemblies with MEF
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the resolver if not done explicitly
+            with <see cref="M:Sandcastle.Core.ComponentAssemblyResolver.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of the resolver
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.AddFolder(System.String)">
+            <summary>
+            Add a folder to check for dependencies
+            </summary>
+            <param name="folder">The folder to check</param>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentAssemblyResolver.CurrentDomain_AssemblyResolve(System.Object,System.ResolveEventArgs)">
+            <summary>
+            This is handled to resolve dependent assemblies and load them when necessary
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="args">The event arguments</param>
+            <returns>The loaded assembly or null if not found</returns>
+        </member>
+        <member name="T:Sandcastle.Core.ComponentUtilities">
+            <summary>
+            This class contains properties and methods used to locate and work with build components, plug-ins,
+            syntax generators, and presentation styles.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.RootFolder">
+            <summary>
+            This read-only property returns the path to the Sandcastle Help File Builder root folder
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.ToolsFolder">
+            <summary>
+            This read-only property returns the path to the Sandcastle Help File Builder tools folder
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.CoreComponentsFolder">
+             <summary>
+             This read-only property returns the core build components folder
+             </summary>
+            <remarks>These are the common components distributed with the Help File Builder</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.ThirdPartyComponentsFolder">
+             <summary>
+             This read-only property returns the common application data build components folder
+             </summary>
+            <remarks>Third party components should be located in the <strong>EWSoftware\Sandcastle Help File
+             Builder\Components and Plug-Ins</strong> folder or a subfolder beneath it in the common application
+             data folder.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.CoreReflectionDataFolder">
+             <summary>
+             This read-only property returns the core reflection data file folder
+             </summary>
+            <remarks>These are the common reflection data files distributed with the Help File Builder</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.DefaultSyntaxFilter">
+            <summary>
+            This read-only property returns the default syntax filter setting
+            </summary>
+            <value>This returns "Standard" to add the standard C#, VB.NET and C++ syntax filter to each API
+            topic.</value>
+        </member>
+        <member name="P:Sandcastle.Core.ComponentUtilities.SupportedLanguages">
+            <summary>
+            This read-only property returns a list of languages supported by the help file builder presentation
+            styles.
+            </summary>
+            <value>The available language resources are determined by seeing what stop word list translations are
+            available.</value>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.AssemblyFolder(System.Reflection.Assembly)">
+            <summary>
+            This is used to get the physical location of the specified assembly
+            </summary>
+            <param name="assembly">The assembly for which to get the physical location (the currently executing
+            (calling) assembly if null).</param>
+            <returns>This returns the actual location of the assembly, where it was found versus where it is
+            executing from, which may be different if shadow copied.  This is required in order to find
+            supporting files which will not be present in the shadow copied location.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SetPaths">
+            <summary>
+            Set the paths used to find component configuration files and assemblies
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.CreateComponentContainer(System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
+            <summary>
+            This is used to return a composition container filled with the available build components (SHFB
+            plug-ins, presentation styles, BuildAssembler components, and syntax generators).
+            </summary>
+            <param name="folders">An enumerable list of additional folders to search recursively for components.</param>
+            <param name="cancellationToken">An optional cancellation token or null if not supported by the caller.</param>
+            <returns>The a composition container that contains all of the available components</returns>
+            <remarks>The following folders are searched in the following order.  If the given folder has not been
+            specified or does not exist, it is ignored.
+            
+            <list type="number">
+                <item>The enumerable list of additional folders - This is typically the current project's
+            NuGet packages (package tool paths from the <c>SHFBComponentPath</c> item in their properties file),
+            the project's <c>ComponentPath</c> folder, and the current project's folder.  This allows for
+            project-specific build components.  Paths are searched in the order given above if specified.</item>
+                <item>Common application data folder - The help file builder's common application data folder
+            where third-party build components are typically installed.</item>
+                <item><c>SHFBROOT</c> core components folder - The core Sandcastle Help File Builder components
+            folder and its subfolders.  This allows for XCOPY deployments that keep everything together.</item>
+            </list>
+            
+            All folders and their subfolders are search recursively for assemblies (*.dll).  There may be
+            duplicate component IDs across the assemblies found.  Only the first component for a unique
+            ID will be used.  As such, assemblies in a folder with a higher search precedence can override
+            copies in folders lower in the search order.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.AddAssemblyCatalogs(System.ComponentModel.Composition.Hosting.AggregateCatalog,System.String,System.Collections.Generic.HashSet{System.String},System.Boolean,Sandcastle.Core.ComponentAssemblyResolver,System.Threading.CancellationToken)">
+            <summary>
+            This adds assembly catalogs to the given aggregate catalog for the given folder and all of its
+            subfolders recursively.
+            </summary>
+            <param name="catalog">The aggregate catalog to which the assembly catalogs are added.</param>
+            <param name="folder">The root folder to search.  It and all subfolders recursively will be searched
+            for assemblies to add to the aggregate catalog.</param>
+            <param name="searchedFolders">A hash set of folders that have already been searched and added.</param>
+            <param name="includeSubfolders">True to search subfolders recursively, false to only search the given
+            folder.</param>
+            <param name="resolver">A component assembly resolver for finding dependency assemblies</param>
+            <param name="cancellationToken">An optional cancellation token or null if not supported by the caller.</param>
+            <remarks>It is done this way to prevent a single assembly that would normally be discovered via a
+            directory catalog from preventing all assemblies from loading if it cannot be examined when the parts
+            are composed (i.e. trying to load a Windows Store assembly on Windows 7).</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.ToRecognizedSyntaxFilterIds(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This is used to convert the given set of comma-separated syntax filter IDs to a set of recognized
+            filter IDs.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter IDs to convert</param>
+            <returns>The validated and recognized set of syntax filter IDs.  If possible, the value is condensed
+            to one of a set of combination values such as None, All, AllButUsage, or Standard.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxFiltersFrom(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This is used to return a collection of syntax filters based on the comma-separated list of IDs passed
+            to the method.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter ID values.</param>
+            <returns>An enumerable list of <see cref="T:Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata" /> representing the syntax
+            filters found.</returns>
+            <remarks>The following special IDs are also recognized: None = No filters, All = all filters,
+            AllButUsage = All but syntax filters with "Usage" in their ID (i.e. VisualBasicUsage), Standard = C#,
+            VB.NET, and C++ only.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxFilterGeneratorsFrom(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This returns the syntax generator XML elements to insert into a BuildAssembler configuration file for
+            the comma-separated list of syntax filter IDs.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter ID values.</param>
+            <returns>A string containing the generator XML elements for the specified syntax filter IDs.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxFilterLanguagesFrom(System.Collections.Generic.IEnumerable{Sandcastle.Core.BuildAssembler.SyntaxGenerator.ISyntaxGeneratorMetadata},System.String)">
+            <summary>
+            This returns the syntax language XML elements to insert into a BuildAssembler configuration file for
+            the comma-separated list of syntax filter IDs.
+            </summary>
+            <param name="allFilters">The list of all available syntax filter generators</param>
+            <param name="filterIds">A comma-separated list of syntax filter ID values.</param>
+            <returns>A string containing the language XML elements for the specified syntax filter IDs.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.SyntaxGeneratorResourceItemFiles(System.ComponentModel.Composition.Hosting.CompositionContainer,System.Globalization.CultureInfo)">
+            <summary>
+            This returns an enumerable list of resource item files for all defined syntax filters
+            </summary>
+            <param name="componentContainer">The component container from which to get the available syntax
+            filter generators.</param>
+            <param name="language">The language used to find localized versions if they exist</param>
+            <returns>An enumerable list of syntax filter generator resource item files.  If localized versions in
+            the specified language do not exit, the default resource item files (typically English US) will be
+            returned.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.XmlStreamAxis(System.String,System.String)">
+            <summary>
+            This provides a fast and efficient way of querying large XML files for a specific element type
+            </summary>
+            <param name="xmlFile">The XML file to search</param>
+            <param name="elementName">The element name for which to search</param>
+            <returns>An enumerable list of <see cref="T:System.Xml.Linq.XElement"/> instances for each of the found nodes</returns>
+            <remarks>This version only looks for a single element type which cannot contain nested instances of
+            the given element.</remarks>
+            <overloads>
+            <summary>There are two overloads for this method</summary>
+            <remarks>Using these methods to search for specific elements avoids having to load the entire file
+            which can be quite costly in terms of memory when it is extremely large.  It is typically faster as
+            well since it doesn't have to load and parse the whole file before starting the search.</remarks>
+            </overloads>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.XmlStreamAxis(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This provides a fast and efficient way of querying large XML files for specific element types which
+            themselves may contain instances of the given elements.
+            </summary>
+            <param name="xmlFile">The XML file to search</param>
+            <param name="elementNames">An enumerable list of element names for which to search</param>
+            <returns>An enumerable list of <see cref="T:System.Xml.Linq.XElement"/> instances for each of the found nodes including
+            any nested instances of elements with those names.</returns>
+            <remarks>If the element contains nested instances of the elements, the parent is returned first
+            followed by the nested elements (one level deep only).</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.ComponentUtilities.GetHashCodeDeterministic(System.String)">
+            <summary>
+            This returns a deterministic hash code that is the same in the full .NET Framework and in .NET Core
+            in every session given the same string to hash.
+            </summary>
+            <param name="hashString">The string to hash</param>
+            <returns>The deterministic hash code</returns>
+            <remarks>The hashing algorithm differs in .NET Core and returns different hash codes for each session.
+            This was done for security to prevent DoS attacks. For the help file builder, we're just using it to
+            generate a short filenames or other constant IDs.  As such, we need a deterministic hash code to keep
+            generating the same hash code for the same IDs in all sessions regardless of platform so that the
+            filenames and other IDs stay the same for backward compatibility.</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.Constants">
+            <summary>
+            This class holds a set of constants that define various application values such as the application name,
+            common data folder locations, etc.
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.CompanyName">
+            <summary>The company name</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.AppName">
+            <summary>The application name</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.DefaultPresentationStyle">
+            <summary>The default presentation style</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.ProgramDataFolder">
+            <summary>
+            The application folder in which the component and user data files are stored.
+            </summary>
+            <remarks>This folder will be located under the <see cref="T:System.Environment.SpecialFolder">CommonApplicationData</see>
+            or <see cref="T:System.Environment.SpecialFolder">LocalApplicationData</see> folder.</remarks>
+        </member>
+        <member name="F:Sandcastle.Core.Constants.ComponentsAndPlugInsFolder">
+            <summary>
+            This folder is located under the <see cref="T:System.Environment.SpecialFolder">CommonApplicationData</see>
+            folder and contains custom build components that can be added to a project.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.HelpFileFormats">
+            <summary>
+            This public enumerated type defines the type(s) of help file that can be generated
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.HtmlHelp1">
+            <summary>HTML Help 1 (.chm) format built with HHC.EXE</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.MSHelpViewer">
+            <summary>MS Help Viewer (.mshc) format, a ZIP file containing the help content</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.Website">
+            <summary>A website with a basic TOC and search panes</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.OpenXml">
+            <summary>Open XML (.docx) format, compatible with Microsoft Word and Open Office</summary>
+        </member>
+        <member name="F:Sandcastle.Core.HelpFileFormats.Markdown">
+            <summary>Markdown (.md) format, suitable for use in wikis such as those for GitHub projects</summary>
+        </member>
+        <member name="T:Sandcastle.Core.LogLevel">
+            <summary>
+            This enumerated type defines the message logging levels
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Info">
+            <summary>An informational message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Warn">
+            <summary>A warning message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Error">
+            <summary>A error message</summary>
+        </member>
+        <member name="F:Sandcastle.Core.LogLevel.Diagnostic">
+            <summary>A diagnostic message, useful for debugging</summary>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.ContentFiles">
+            <summary>
+            This class is used to contain content files for a presentation style that are to be embedded in the
+            compiled help file.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.HelpFileFormats">
+            <summary>
+            This read-only property returns the help file formats to which these files apply
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.BasePath">
+            <summary>
+            This read-only property returns the base path used for the source path files
+            </summary>
+            <value>If null, the presentation style base path is used</value>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.SourcePathWildcard">
+            <summary>
+            This read-only property returns the source path wildcard used to copy files
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.DestinationFolder">
+            <summary>
+            This read-only property returns the destination folder of the content files in the compiled help file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.ContentFiles.TemplateFileExtensions">
+            <summary>
+            This read-only property returns an enumerable list of file extensions that should be treated as
+            template files that need substitution tags replaced at build time.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.ContentFiles.#ctor(Sandcastle.Core.HelpFileFormats,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="helpFileFormats">The help file formats to which the files apply</param>
+            <param name="sourcePath">The source path</param>
+            <overloads>There are two overloads for the constructor</overloads>
+            <remarks>The files from the source path will be copied to a like named folder in the build output</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.ContentFiles.#ctor(Sandcastle.Core.HelpFileFormats,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="helpFileFormats">The help file formats to which the files apply</param>
+            <param name="sourcePath">The source path</param>
+            <param name="destination">The destination path to use in the build output</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.ContentFiles.#ctor(Sandcastle.Core.HelpFileFormats,System.String,System.String,System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="helpFileFormats">The help file formats to which the files apply</param>
+            <param name="basePath">An alternate base path or null to use the presentation style base path</param>
+            <param name="sourcePath">The source path</param>
+            <param name="destination">The destination path</param>
+            <param name="templateFileExtensions">An enumerable list of file extensions to treat as template files</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.IApiTocGenerator">
+            <summary>
+            This interface is used to implement a table of contents generator for API content
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IApiTocGenerator.ListTopicOrder">
+            <summary>
+            This is used to get or set the list topic order in the table of contents
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.IApiTocGenerator.GenerateApiTocFile(System.String,System.String)">
+            <summary>
+            This is used to generate a table of contents file for API content
+            </summary>
+            <param name="reflectionDataFile">The source reflection data file</param>
+            <param name="tocFile">The table of contents file to generate</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.IApplyDocumentModel">
+            <summary>
+            This interface is used to implement the application of a document model to the reflection information
+            file.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IApplyDocumentModel.RootNamespaceContainerId">
+            <summary>
+            This is used to get or set an optional root namespace container ID
+            </summary>
+            <value>If not set, no root namespace container node will be added.  If set, a root namespace
+            container node (R:) will be added with the given ID.  The build engine will set this based on the
+            root namespace container project properties.</value>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.IApplyDocumentModel.ApplyDocumentModel(System.String,System.String)">
+            <summary>
+            This is used to apply the document model to a reflection information file
+            </summary>
+            <param name="reflectionDataFile">The source reflection data file</param>
+            <param name="docModelReflectionDataFile">The destination reflection data file with the document
+            model applied to it.</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata">
+            <summary>
+            This class defines the metadata for a presentation style plug-in
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Title">
+            <summary>
+            This read-only property returns the title for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Version">
+            <summary>
+            This read-only property returns the version of the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.IPresentationStyleMetadata.IsDeprecated">
+            <summary>
+            This read-only property is used to indicate that the presentation style has been deprecated
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.PlugInDependency">
+            <summary>
+            This class is used to define a plug-in upon which a presentation style depends and the default
+            configuration to use for it.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PlugInDependency.Id">
+            <summary>
+            The ID of the plug-in upon which the presentation style depends
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PlugInDependency.Configuration">
+            <summary>
+            The default configuration to use for the plug-in
+            </summary>
+            <remarks>This can be either an empty <c>configuration</c> element or one filled in with default
+            values for any plug-in configuration parameters.  If the plug-in is visible to the user and has been
+            added to the project, the project configuration will override this one.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PlugInDependency.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The ID of the plug-in depended upon</param>
+            <param name="configuration">The default configuration.  If null or empty, an empty
+            <c>configuration</c> element will be used.</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for presentation
+            style plug-ins.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the presentation style ID
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Title">
+            <summary>
+            This read-only property is used to get the presentation style title
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Version">
+            <summary>
+            This is used to get or set the presentation style version number
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.IsDeprecated">
+            <summary>
+            This read-only property is used to indicate that the presentation style has been deprecated
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleExportAttribute.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required presentation style ID</param>
+            <param name="title">The required presentation style title</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.PresentationStyleSettings">
+            <summary>
+            This abstract base class is used to define the settings and common functionality for a specific
+            presentation style.
+            </summary>
+            <remarks>Presentation styles are singletons by nature.  The composition container will create instances
+            as needed.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.Location">
+            <summary>
+            This is overridden in derived classes to provide the location of the presentation style files
+            </summary>
+            <value>Typically, this will return the path of the executing assembly</value>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.BasePath">
+            <summary>
+            This is used to get or set the presentation style base path used to resolve relative paths within the
+            presentation style.
+            </summary>
+            <value>If null or empty, the <see cref="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.Location"/> path is used as the base path.  If relative, it
+            is considered to be relative to the <see cref="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.Location"/> path.</value>
+            <remarks>This is useful for defining a base path with multiple presentation styles are included
+            such as with the standard presentation styles.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.SupportedFormats">
+            <summary>
+            This is used to get or set the help file formats supported by the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.SupportsNamespaceGrouping">
+            <summary>
+            This is used to get or set whether or not namespace grouping is supported by the presentation style
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.SupportsCodeSnippetGrouping">
+            <summary>
+            This is used to get or set whether or not code snippet grouping is supported by the presentation
+            style.
+            </summary>
+            <remarks>If true, code snippets will be grouped and sorted based on the syntax generators present
+            in the project.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ContentFiles">
+            <summary>
+            This read-only property returns the list of help content file locations
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ResourceItemsPath">
+            <summary>
+            This is used to get or set the path in which BuildAssembler resource item files are stored
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ToolResourceItemsPath">
+            <summary>
+            This is used to get or set the path in which help file builder resource item files are stored
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.DocumentModelApplicator">
+            <summary>
+            This is used to get or set the document model applicator
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ApiTableOfContentsGenerator">
+            <summary>
+            This is used to get or set the table of content generator for API content
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.BuildAssemblerConfiguration">
+            <summary>
+            This is used to get or set the BuildAssembler configuration filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.TransformComponentArguments">
+            <summary>
+            This read-only property returns the transform component arguments if any
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.PlugInDependencies">
+            <summary>
+            This read-only property returns any plug-in dependencies required by the presentation style
+            </summary>
+            <remarks>This is used to ensure that any dependent plug-ins are added to the build.  If any of the
+            plug-ins are visible to the user and have been added to the project, the project configuration will
+            override the default configuration supplied here.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.CheckForErrors">
+            <summary>
+            This is used to check the presentation style for errors
+            </summary>
+            <returns>An enumerable list of problems found or an empty list if everything is okay</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ResolvePath(System.String)">
+            <summary>
+            This is used to resolve a presentation style path
+            </summary>
+            <param name="path">The path to resolve</param>
+            <returns>The resolved path</returns>
+            <remarks>Environment variables in the path will be expanded.  If relative, the path is converted
+            to a full path relative to the presentation style's base path.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.ResolveEnvironmentVariables(System.String)">
+            <summary>
+            This is used to resolve environment variables in a path with the added step of resolving
+            <c>%SHFBROOT%</c> to the path found by the component utilities if it does not resolve automatically.
+            </summary>
+            <param name="path">The path in which to resolve an environment variable</param>
+            <returns>The resolved path value</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.CopyHelpContent(Sandcastle.Core.HelpFileFormats,System.String,System.Action{System.String,System.Object[]},System.Action{System.String,System.String,System.String})">
+            <summary>
+            This is used to copy the presentation style help file content to the given destination folder
+            </summary>
+            <param name="format">The help file format for which to copy files</param>
+            <param name="destinationBasePath">The destination base path to which the files are copied</param>
+            <param name="progressReporter">An optional action delegate used to report progress</param>
+            <param name="transformTemplate">A action delegate used to transform a template file (file, source
+            folder, destination folder)</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.PresentationStyleSettings.RecursiveCopy(System.String,System.String,System.Action{System.String,System.Object[]},System.Collections.Generic.IEnumerable{System.String},System.Action{System.String,System.String,System.String})">
+            <summary>
+            This copies files from the specified source folder to the specified destination folder.  If any
+            subfolders are found below the source folder and the wildcard is "*.*", the subfolders are also
+            copied recursively.
+            </summary>
+            <param name="sourcePath">The source path from which to copy</param>
+            <param name="destPath">The destination path to which to copy</param>
+            <param name="progressReporter">An optional action delegate used to report progress</param>
+            <param name="templateFileExtensions">An enumerable list of file extensions that will be treated like
+            template files and will have substitution tags replaced.</param>
+            <param name="transformTemplate">A action delegate used to transform a template file (file, source
+            folder, destination folder)</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator">
+             <summary>
+             This is used to generate a standard table of contents for API content
+             </summary>
+             <remarks>The generator has the following behaviors:
+            
+             <list type="bullet">
+                 <item>The reflection information is assumed to contain list entries for properties, methods, events,
+             etc.  These are used to generate corresponding list topic entries in the table of contents.</item>
+                 <item>A root namespace container (R:) is supported if present.</item>
+                 <item>Namespace grouping is supported if grouping elements (G:) are present.</item>
+                 <item>Overloads are assumed to have a container topic and each overload has its own subtopic below
+             it.</item>
+                 <item>Namespaces, types, and members are sorted in ascending order by name.  Explicit interface
+             implementations are list ahead of the type's other members sorted by member name.  Overloads are sorted
+             by parameter count and then by the type name of the first parameter.</item>
+                 <item>The default order of the member list topics is properties, methods, events, operators, fields,
+             attached properties, and finally attached events.</item>
+             </list>
+             </remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.ListTopicOrder">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.GenerateApiTocFile(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddNamespaceOrTypeTopic(System.Xml.XmlWriter,System.String)">
+            <summary>
+            Add a namespace, namespace group, or type topic for the given member ID.  Topics are added
+            recursively for each of its children and their children.
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="memberId">The member ID to add</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddMemberListTopics(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Add member list topics for a type (constructors, properties, methods, events, etc.).  The members are
+            added as children of each list topic.
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="apiType">The type member for which to add member list topics</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddMemberListTree(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember,System.String)">
+            <summary>
+            Add a member list topic and its children
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="list">The member list topic to output</param>
+            <param name="declaringTypePrefix">The declaring type's prefix used to filter members</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardApiTocGenerator.AddMember(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember,System.String)">
+            <summary>
+            Add a table of contents entry for a member
+            </summary>
+            <param name="writer">The XML writer to which the output is written</param>
+            <param name="member">The member for which to add TOC entry</param>
+            <param name="declaringTypePrefix">The declaring type's prefix used to filter members</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.StandardDocumentModel">
+             <summary>
+             This is used to add the standard document model elements to the reflection information file
+             </summary>
+             <remarks>The generator has the following behaviors:
+             
+             <list type="bullet">
+                 <item>If a root namespace container ID is specified, a root namespace container API entry (R:) is
+             added with a list of the namespaces.  If not specified, it is omitted.</item>
+                 <item>A <c>topicdata</c> element is added to each API entry to identify the topic group.  For
+             enumeration members (the fields), a <c>notopic</c> attribute is added to indicate that it should not
+             get a separate topic.  For explicitly implemented members, an <c>eiiname</c> attribute is added to
+             identify the explicitly implemented type and member name.</item>
+                 <item><c>library</c> elements are updated with the assembly version and, for type members, a
+             <c>NoAptca</c> element is added if the assembly does not allow partially trusted callers.</item>
+                 <item>Elements for overloaded methods are grouped into Overload elements within their type's API
+             entry.  Extension methods are not grouped if overloaded but do get an <c>overload</c> attribute.</item>
+                 <item>The API entries for overloaded members have an <c>overload</c> attribute added to their
+             <c>memberdata</c> element to identify the overload topic ID.</item>
+                 <item>For all types except enumerations, member list topic API entries are created for methods,
+             operators, properties, events, fields, attached properties, attached events, and overloaded members.</item>
+             </list>
+            </remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.StandardDocumentModel.RootNamespaceContainerId">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.ApplyDocumentModel(System.String,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddRootNamespaceContainer(System.Xml.XmlWriter)">
+            <summary>
+            This adds a root namespace container element
+            </summary>
+            <param name="writer">The XML writer to which the element is added</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateTypeApiNode(Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            This adds documentation model elements to a type node
+            </summary>
+            <param name="typeNode">The type node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateGeneralApiNode(Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            This adds documentation model elements to a general node
+            </summary>
+            <param name="memberNode">The member node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddMemberListApiElement(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMemberGroup,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Add a member list topic of the specified type for the given type node
+            </summary>
+            <param name="writer">The XML writer to which the element is added</param>
+            <param name="listType">The list type to add</param>
+            <param name="typeNode">The type node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddOverloadListApiElements(System.Xml.XmlWriter,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Add overload list topics for each overloaded member in the type
+            </summary>
+            <param name="writer">The XML writer to which the element is added</param>
+            <param name="typeNode">The type node to update</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateMemberListElements(Sandcastle.Core.Reflection.ApiMember,System.Collections.Generic.IEnumerable{Sandcastle.Core.Reflection.ApiMember})">
+            <summary>
+            Update the member list elements with overload set entries
+            </summary>
+            <returns>An enumerable list of <c>element</c> elements for the member list</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.DetermineOverloadId(Sandcastle.Core.Reflection.ApiMember,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            This is used to determine the ID of an overloads member entry
+            </summary>
+            <param name="typeNode">The type node to use</param>
+            <param name="member">The member to use</param>
+            <returns>The ID for the overloads member entry</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.UpdateElementNode(Sandcastle.Core.Reflection.ApiMember,Sandcastle.Core.Reflection.ApiMember)">
+            <summary>
+            Update an element node
+            </summary>
+            <param name="typeNode">The type node</param>
+            <param name="member">The member for which to update the element node</param>
+            <returns>The node itself if it is an <c>element</c> element or the original <c>element</c> node
+            from the containing type if not.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.StandardDocumentModel.AddLibraryAssemblyData(System.Xml.Linq.XElement,System.Boolean)">
+            <summary>
+            Add library assembly information to a library element
+            </summary>
+            <param name="library">The library element to which the information is added</param>
+            <param name="addNoAptca">True to add a <c>noAptca</c> element if partially trusted callers are not
+            allowed, false to skip it.</param>
+        </member>
+        <member name="T:Sandcastle.Core.PresentationStyle.TransformComponentArgument">
+            <summary>
+            This class is used to contain transform component argument values
+            </summary>
+            <remarks>These are inserted into the BuildAssembler configuration file for the <c>TransformComponent</c>
+            to use at build time.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Key">
+            <summary>
+            This read-only property returns the argument key
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.IsForConceptualBuild">
+            <summary>
+            This read-only property returns whether or not the argument applies to conceptual builds
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.IsForReferenceBuild">
+            <summary>
+            This read-only property returns whether or not the argument applies to reference builds
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Description">
+            <summary>
+            This read-only property returns a description of the argument
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Value">
+            <summary>
+            This is used to get or set the argument's value for simple arguments
+            </summary>
+            <remarks>If set to a non-null value, the value of the <see cref="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Content"/> property is ignored.
+            This property will take precedence if both are set.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Content">
+            <summary>
+            This is used to get or set the argument's content for complex arguments
+            </summary>
+            <remarks>If set to a non-null value, the value of the <see cref="P:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Value"/> property is ignored.  The
+            <value>Value</value> property takes precedence if both are set.  The root element name is not
+            relevant.  Only the content is significant and will be used.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(Sandcastle.Core.PresentationStyle.TransformComponentArgument)">
+            <summary>
+            Private copy constructor
+            </summary>
+            <param name="clone">The transform component argument to clone</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(System.String,System.Boolean,System.Boolean,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="key">The transform argument key name</param>
+            <param name="isForConceptualBuild">True if used in conceptual builds, false if not</param>
+            <param name="isForReferenceBuild">True if used in reference builds, false if not</param>
+            <param name="value">The default value of the argument</param>
+            <param name="description">A description of the transform argument</param>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(System.String,System.Boolean,System.Boolean,System.String,System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="key">The transform argument key name</param>
+            <param name="isForConceptualBuild">True if used in conceptual builds, false if not</param>
+            <param name="isForReferenceBuild">True if used in reference builds, false if not</param>
+            <param name="description">A description of the transform argument</param>
+            <param name="content">The default content of the argument</param>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="argument">The XML element containing the transform component argument settings</param>
+            <remarks>This is used by designers to create arguments from serialized project settings</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.Clone">
+            <summary>
+            This is used to clone a transform component argument
+            </summary>
+            <returns>A clone of the current transform component argument</returns>
+        </member>
+        <member name="M:Sandcastle.Core.PresentationStyle.TransformComponentArgument.ToXml">
+            <summary>
+            This is used to convert the transform component argument to an XML element for storing in a project
+            </summary>
+            <returns>The transform component argument as an XML element</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ApiAssemblyProperties">
+            <summary>
+            This is used to contain information about an API assembly entry in a reflection information file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiAssemblyProperties.AssemblyName">
+            <summary>
+            This read-only property returns the assembly name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiAssemblyProperties.Version">
+            <summary>
+            This read-only property returns the assembly version
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiAssemblyProperties.AllowsPartiallyTrustedCallers">
+            <summary>
+            This read-only property returns whether or not the assembly allows partially trusted callers
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ApiAssemblyProperties.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="assemblyInfo">The XML element containing the assembly properties</param>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ApiMember">
+            <summary>
+            This is used to contain information about an API member entry in a reflection information file
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.MemberId">
+            <summary>
+            This read-only property returns the full API member ID including its prefix
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.MemberIdWithoutPrefix">
+            <summary>
+            This read-only property returns the API member ID excluding the leading prefix
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.MemberIdWithoutParameters">
+            <summary>
+            This read-only property returns the API member ID excluding the parameters (methods only)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Name">
+            <summary>
+            This read-only property returns the member name without the namespace or parameters
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Group">
+            <summary>
+            This read-only property returns the member's group
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Subgroup">
+            <summary>
+            This read-only property returns the member's subgroup
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.SubSubgroup">
+            <summary>
+            This read-only property returns the member's sub-subgroup
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicName">
+            <summary>
+            This read-only property returns the member's topic name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicEiiName">
+            <summary>
+            This read-only property returns the member's topic name for explicit interface implementations
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicGroup">
+            <summary>
+            This read-only property returns the member's topic group
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicSubgroup">
+            <summary>
+            This read-only property returns the member's topic subgroup
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TypeTopicId">
+            <summary>
+            This read-only property returns the member's type topic ID
+            </summary>
+            <remarks>This appears on member list topics</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.TopicFilename">
+            <summary>
+            This read-only property returns the topic filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.ParameterCount">
+            <summary>
+            This read-only property is used to get the parameter count for methods
+            </summary>
+            <remarks>This is used for sorting overload sets</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.FirstParameterTypeName">
+            <summary>
+            This read-only property is used to get the type of the first parameter
+            </summary>
+            <remarks>This is used for sorting overload sets</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.IsExplicitlyImplemented">
+            <summary>
+            This read-only property returns whether or not the member is an explicit interface member implementation
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.ImplementedType">
+            <summary>
+            This read-only property is used to get the type of the member if explicitly implemented
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.ChildElements">
+            <summary>
+            This read-only property returns an enumerable list of child element IDs for those topics that have them
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ApiMember.Node">
+            <summary>
+            The raw XML for the API entry
+            </summary>
+            <remarks>This is only used when updating the document model</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ApiMember.#ctor(System.Xml.Linq.XElement)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="apiMember">The XML element containing the reflection information for the API member</param>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ApiMemberGroup">
+            <summary>
+            This enumerated type represents the groups and subgroups to which an API member can belong
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.None">
+            <summary>
+            Not specified
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Unknown">
+            <summary>
+            An unknown value was encountered
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Root">
+            <summary>
+            Root namespace container (R:)
+            </summary>
+            <remarks>There will only be one of these if present</remarks>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.RootGroup">
+            <summary>
+            Root group namespace container (G:)
+            </summary>
+            <remarks>There will only be one of these if present</remarks>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Namespace">
+            <summary>
+            A namespace (N:NamespaceName)
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.NamespaceGroup">
+            <summary>
+            A namespace group (G:NamespaceGroupName)
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Type">
+            <summary>
+            A type
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Member">
+            <summary>
+            A type member
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Class">
+            <summary>
+            A class
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Structure">
+            <summary>
+            A structure
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Interface">
+            <summary>
+            An interface
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Enumeration">
+            <summary>
+            An enumeration
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Constructor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Property">
+            <summary>
+            A property
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Method">
+            <summary>
+            A method
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Event">
+            <summary>
+            An event
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Delegate">
+            <summary>
+            A delegate
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Field">
+            <summary>
+            A field
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Operator">
+            <summary>
+            An operator
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Extension">
+            <summary>
+            An extension method
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedProperty">
+            <summary>
+            An attached property
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedEvent">
+            <summary>
+            An attached event
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.List">
+            <summary>
+            A member list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Api">
+            <summary>
+            An API member
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Properties">
+            <summary>
+            A properties list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Methods">
+            <summary>
+            A methods list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Overload">
+            <summary>
+            An overloads list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Operators">
+            <summary>
+            An operators list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Events">
+            <summary>
+            An events list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.Fields">
+            <summary>
+            A fields list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedProperties">
+            <summary>
+            An attached properties list topic
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.ApiMemberGroup.AttachedEvents">
+            <summary>
+            An attached events list topic
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.AssemblyDetails">
+            <summary>
+            This class is used to hold the details for an assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Filename">
+            <summary>
+            This read-only property returns the assembly filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Name">
+            <summary>
+            This read-only property returns the assembly name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Version">
+            <summary>
+            This read-only property is used to get the version for the assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Culture">
+            <summary>
+            This read-only property is used to get the culture for the assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.PublicKeyToken">
+            <summary>
+            This read-only property returns the public key token for the assembly
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.IsIncluded">
+            <summary>
+            This is used to get or set whether or not to include the assembly
+            </summary>
+            <remarks>Certain assemblies cannot be parsed or do not contain any useful information.  This can
+            be set to false to exclude them from being processed.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyDetails.Description">
+            <summary>
+            This read-only property returns the assembly description which is a combination of the name,
+            version, culture, and public key token.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.#ctor">
+            <summary>
+            Private constructor
+            </summary>
+        </member>
+        <member name="E:Sandcastle.Core.Reflection.AssemblyDetails.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.Reflection.AssemblyDetails.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.FromAssemblyName(System.Reflection.AssemblyName)">
+            <summary>
+            This is used to create an assembly details instance from an assembly name
+            </summary>
+            <param name="name">The assembly name information</param>
+            <returns>The new assembly details item</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.FromXml(System.String,System.Xml.Linq.XElement)">
+            <summary>
+            This is used to create an assembly details instance from an XML element
+            </summary>
+            <param name="path">The path to the assembly</param>
+            <param name="details">The XML element containing the details</param>
+            <returns>The new assembly details item</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.ToXml(System.String)">
+            <summary>
+            This is used to convert the assembly detail to an XML element
+            </summary>
+            <param name="basePath">The base path for the assembly</param>
+            <returns>The assembly details as an XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.ToString">
+            <summary>
+            This is overridden to convert the assembly details to a string in the strong name format
+            </summary>
+            <returns>The assembly details as a strong name string</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.GetHashCode">
+            <summary>
+            This is used to return a hash code for the assembly details in string format
+            </summary>
+            <returns>The hash code for the assembly details</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyDetails.Equals(System.Object)">
+            <summary>
+            This is overridden to allow proper comparison of assembly detail objects
+            </summary>
+            <param name="obj">The object to which this instance is compared</param>
+            <returns>Returns true if the object equals this instance, false if it does not</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.AssemblyLocation">
+            <summary>
+            This class defines the settings for a specific assembly location
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.StoredPath">
+            <summary>
+            This is used to get or set the path to the assembly location
+            </summary>
+            <value>The path may contain environment variable references</value>
+            <remarks>When the stored path is changed, the set of assemblies in it is updated as well</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.Path">
+            <summary>
+            This read-only property returns the actual path to the assembly location
+            </summary>
+            <remarks>This returns the path with any environment variable references replaced with the actual
+            path elements.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.IsCoreLocation">
+            <summary>
+            This read-only property is used to determine if this entry represents a core framework location
+            </summary>
+            <value>True if it is the core location, false if not</value>
+            <remarks>The core location is determined by searching for <c>mscorlib</c> in the assembly set</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.AllAssemblies">
+            <summary>
+            This read-only property returns a bindable list of all assembly details for this location
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.AssemblyLocation.IncludedAssemblies">
+            <summary>
+            This read-only property returns an enumerable list of only the included assembly details for this
+            location.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.#ctor(System.String)">
+            <summary>
+            Private constructor
+            </summary>
+            <param name="storedPath">The stored path to use</param>
+        </member>
+        <member name="E:Sandcastle.Core.Reflection.AssemblyLocation.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.Reflection.AssemblyLocation.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            This is used to load the settings for an assembly location from an XML element
+            </summary>
+            <param name="location">The XML element containing the settings</param>
+            <returns>The new assembly location item</returns>
+            <remarks>If the location element is empty, the assembly details will be created by scanning the
+            location for assemblies.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.ToXml">
+            <summary>
+            This is used to convert the assembly location to an XML element
+            </summary>
+            <returns>The assembly location as an XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.AssemblyLocation.DetermineAssemblyDetails(System.Boolean)">
+            <summary>
+            This can be used to load an empty location with information about the assemblies it contains
+            </summary>
+            <param name="clearAndRefresh">True to clear and refresh all file information or false to only remove
+            assemblies that no longer exist and add new assemblies.</param>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.PlatformType">
+            <summary>
+            This class holds a set of constants used to define the various .NET platform types
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNet">
+            <summary>.NET 5.0 or later</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetCore">
+            <summary>.NET Core (Windows Store Apps) Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetCoreApp">
+            <summary>.NET Core Application</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetFramework">
+            <summary>.NET Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetMicroFramework">
+            <summary>.NET Micro Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetPortable">
+            <summary>.NET Portable Library Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.DotNetStandard">
+            <summary>.NET Standard Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.Silverlight">
+            <summary>Silverlight Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.WindowsPhone">
+            <summary>Windows Phone Framework</summary>
+        </member>
+        <member name="F:Sandcastle.Core.Reflection.PlatformType.WindowsPhoneApp">
+            <summary>Windows Phone Store Apps Framework</summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.PlatformType.PlatformTypes">
+            <summary>
+            This read-only property returns an enumerable list of the valid platform types
+            </summary>
+            <remarks>.NETCoreApp is not returned.  It will be redirected to one of the other types.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.PlatformType.PlatformsAreCompatible(System.Collections.Generic.IEnumerable{System.ValueTuple{System.String,System.Version}})">
+            <summary>
+            This can be used to determine if the given set of platform types are compatible with each other for
+            documentation purposes.
+            </summary>
+            <param name="platforms">An enumerable list of platform types</param>
+            <returns>True if they are compatible, false if not</returns>
+            <remarks>In general, platforms that have all of their types in mscorlib or netstandard are compatible
+            but you can't mix both.  All platforms that redirect their types to System.Runtime and other
+            assemblies are also typically compatible.  Mixing the sets or any combination of other frameworks
+            is not compatible.</remarks>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSet">
+            <summary>
+            This class contains information used to obtain reflection data and comments for a specific set of
+            assemblies.
+            </summary>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper">
+            <summary>
+            This is used to create a bindable, editable list of string values
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper.Value">
+            <summary>
+            The string value
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper.op_Implicit(Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper)~System.String">
+            <summary>
+            This is used to handle an implicit conversion from a <see cref="T:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper"/> object to a string
+            </summary>
+            <param name="wrapper">The <see cref="T:Sandcastle.Core.Reflection.ReflectionDataSet.StringWrapper"/> to convert</param>
+            <returns>The value of the given wrapper as a string</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection">
+            <summary>
+            This class is used to edit binding redirection settings
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.Name">
+            <summary>
+            The assembly name
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.Culture">
+            <summary>
+            The assembly culture (optional)
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.PublicKeyToken">
+            <summary>
+            The public key token
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.OldVersion">
+            <summary>
+            The old version
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.NewVersion">
+            <summary>
+            The new version
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            Create an instance from an XML element
+            </summary>
+            <param name="redirection">The binding redirection settings</param>
+            <returns>The binding redirection settings created from the XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.ToXml">
+            <summary>
+            This is used to convert the binding redirection to an XML element
+            </summary>
+            <returns>The binding redirection as an XML element</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirection.ToBindingRedirectionElement">
+            <summary>
+            This is used to convert the binding redirection entry to an MRefBuilder configuration file
+            assembly binding redirection element.
+            </summary>
+            <returns>The binding redirection as an MRefBuilder configuration element</returns>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Filename">
+            <summary>
+            This is used to get or set the filename
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Platform">
+            <summary>
+            This is used to get or set the platform associated with the reflection data set
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Version">
+            <summary>
+            This is used to get or set the version number associated with the reflection data set if applicable
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Title">
+            <summary>
+            This is used to get or set the reflection data set title
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.Notes">
+            <summary>
+            This is used to get or set notes about this reflection data set
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.AllSystemTypesRedirected">
+            <summary>
+            This is used to get or set whether or not all <c>System</c> types are redirected to other assemblies
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IsCoreFramework">
+            <summary>
+            This read-only property is used to determine if this entry represents a core framework
+            </summary>
+            <value>True if it is the core framework, false if not</value>
+            <remarks>The core location is determined by searching for <c>mscorlib</c>, <c>netstandard</c>, or
+            <c>System.Runtime</c> in the assembly set.  If the platform type is .NET Standard it is automatically
+            considered to be a core framework for backward compatibility with the data set that did not contain
+            any assembly information.</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.CoreFrameworkLocation">
+            <summary>
+            This read-only property is used to get the core framework location if there is one
+            </summary>
+            <value>The core framework location or null if there isn't one</value>
+            <remarks>The core location is determined by searching for <c>mscorlib</c> in the assembly set</remarks>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.AssemblyLocations">
+            <summary>
+            This read-only property returns a bindable list of assembly locations
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoredNamespaces">
+            <summary>
+            This read-only property returns a bindable list of ignored namespaces used for building the
+            reflection data.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoredUnresolved">
+            <summary>
+            This read-only property returns a bindable list of ignored unresolved assembly identities used for
+            building the reflection data.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirections">
+            <summary>
+            This read-only property returns a bindable list of binding redirections used for building the
+            reflection data.
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IsPresent">
+            <summary>
+            This read-only property can be used to determine if the reflection data set's core assemblies are
+            present on the current system
+            </summary>
+            <returns>True if the core assembly folder exists and contains the first assembly, false if not.  If
+            the first assembly is present, it is assumed that all of them are.</returns>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSet.IncludedAssemblies">
+            <summary>
+            This read-only property returns an enumerable list of all included assemblies in the reflection data
+            set.
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.#ctor(System.String)">
+            <summary>
+            File constructor
+            </summary>
+            <param name="filename">The filename from which to load the reflection data set information</param>
+        </member>
+        <member name="E:Sandcastle.Core.Reflection.ReflectionDataSet.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:Sandcastle.Core.Reflection.ReflectionDataSet.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.Save">
+            <summary>
+            This is used to save the reflection data set information to an XML file
+            </summary>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoreIfUnresolvedConfiguration">
+            <summary>
+            This is used to return the <c>ignoreIfUnresolved</c> configuration entries for the MRefBuilder
+            configuration file.
+            </summary>
+            <returns>The configuration entries</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.BindingRedirectionConfiguration">
+            <summary>
+            This is used to return the <c>assemblyBinding</c> configuration entries for the MRefBuilder
+            configuration file.
+            </summary>
+            <returns>The configuration entries</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.IgnoredNamespacesConfiguration">
+            <summary>
+            This is used to return the API filter <c>namespace</c> configuration entries for the MRefBuilder
+            configuration file.
+            </summary>
+            <returns>The configuration entries</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.CommentsFileLocations(System.Globalization.CultureInfo)">
+            <summary>
+            This is used to return an enumerable list of comments file locations
+            </summary>
+            <param name="language">An optional language to use when searching for XML comments files, or
+            null to use the current language.</param>
+            <returns>An enumerable list of file paths to search for XML comments files</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.CultureSpecificCommentsFileFolder(Sandcastle.Core.Reflection.AssemblyLocation,System.Globalization.CultureInfo)">
+            <summary>
+            This is used to see if any comments files exist in a culture-specific framework location folder
+            </summary>
+            <param name="location">The framework location</param>
+            <param name="language">The language used to check for a culture-specific folder</param>
+            <returns>True if files were</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.ContainsAssembly(System.String)">
+            <summary>
+            This is used to see if the framework contains an assembly that uses the specified name
+            </summary>
+            <param name="assemblyName">The assembly name without a path or extension or a strong name value.
+            If a strong name value is specified, a "starts with" comparison on the description is used to see if
+            the assembly is present in the framework.  This allows for matches on strong names with processor
+            architecture specified which we don't have.  If only a name is given, just the name is compared.
+            Comparisons are case-insensitive.</param>
+            <returns>True if the framework contains the named assembly, false if not.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.FindAssembly(System.String)">
+            <summary>
+            This is used to find an assembly by name
+            </summary>
+            <param name="assemblyName">The assembly name without a path or extension or a strong name value.
+            If a strong name value is specified, a "starts with" comparison on the description is used to see if
+            the assembly is present in the framework.  This allows for matches on strong names with processor
+            architecture specified which we don't have.  If only a name is given, just the name is compared.
+            Comparisons are case-insensitive.</param>
+            <returns>The assembly if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.KeepReferenceAssembly(System.String)">
+            <summary>
+            This is used to see if a reference assembly should be kept when building reflection data
+            </summary>
+            <param name="assemblyName">The assembly name without a path or extension or a strong name value.
+            If a strong name value is specified, a "starts with" comparison on the description is used to see if
+            the assembly is present in the framework.  This allows for matches on strong names with processor
+            architecture specified which we don't have.  If only a name is given, just the name is compared.
+            Comparisons are case-insensitive.</param>
+            <returns>True if the reference assembly should be kept, false if not.</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSet.GetReferencedNamespaces(System.Globalization.CultureInfo,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces referenced in the XML comments files of
+            the given set of namespaces.
+            </summary>
+            <param name="language">The language to use when locating the XML comments files</param>
+            <param name="searchNamespaces">An enumerable list of namespaces to search</param>
+            <param name="validNamespaces">An enumerable list of valid namespaces</param>
+            <returns>An enumerable list of unique namespaces in the related XML comments files</returns>
+        </member>
+        <member name="T:Sandcastle.Core.Reflection.ReflectionDataSetDictionary">
+            <summary>
+            This dictionary contains reflection data settings for the various .NET Framework platforms and versions
+            </summary>
+        </member>
+        <member name="P:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.DefaultFrameworkTitle">
+            <summary>
+            This read-only property is used to get the title of the default framework version to use
+            </summary>
+            <remarks>The default is the .NET Framework 4.7.2</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.#ctor(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Constructor
+            </summary>
+            <param name="componentLocations">An optional enumerable list of additional component locations to
+            search for reflection data set files.</param>
+            <remarks>Keys are case-insensitive</remarks>
+            <remarks>The following folders are searched in the following order.  If the given folder has not been
+            specified or does not exist, it is ignored.
+            
+            <list type="number">
+                <item><c>SHFBROOT</c> - The root Sandcastle Help File Builder installation folder and its
+            subfolders.  This allows for XCOPY deployments that keep everything together.</item>
+                <item>Common application data folder - The help file builder's common application data folder
+            where third-party build components are typically installed.</item>
+                <item>The enumerable list of additional folders - This is typically the current project's
+            <c>ComponentPath</c> folder and the current project's folder.  This allows for project-specific
+            reflection data files.  If the project's <c>ComponentPath</c> property is set, that folder is
+            searched first and then the project's folder is searched.</item>
+            </list>
+            
+            All folders and their subfolders are search recursively for reflection data files (*.reflection).
+            There may be duplicate titles across the files found.  If duplicates are found, the last one seen is
+            used.  As such, reflection data files in a folder with a later search precedence can override
+            copies in folders earlier in the search order.</remarks>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.CoreFrameworkByTitle(System.String,System.Boolean)">
+            <summary>
+            This is used to find the first core framework matching the specified title or the next highest
+            version if found but not installed if redirection is requested.
+            </summary>
+            <param name="title">The title to find</param>
+            <param name="withRedirect">True to redirect to the next highest version that is installed if the
+            requested title is not installed or false to return the exact match even if not present.</param>
+            <returns>The framework settings if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.CoreFrameworkMatching(System.String,System.Version,System.Boolean)">
+            <summary>
+            This is used to find the first core framework matching the specified platform and version or the next
+            highest version if not found and redirection is requested.
+            </summary>
+            <param name="platform">The platform to find.</param>
+            <param name="version">The version to find.  This can be a partial version number if redirection is
+            requested.</param>
+            <param name="withRedirect">True to redirect to the next highest version that is installed or false to
+            return the exact match even if not present.</param>
+            <returns>The framework settings if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.CoreFrameworkMostRecent(System.String)">
+            <summary>
+            This is used to find the most recent core framework matching the specified platform
+            </summary>
+            <param name="platform">The platform to find</param>
+            <returns>The framework settings if found or null if not found</returns>
+        </member>
+        <member name="M:Sandcastle.Core.Reflection.ReflectionDataSetDictionary.BestMatchFor(System.Collections.Generic.IEnumerable{System.ValueTuple{System.String,System.String}})">
+            <summary>
+            This is used to find the best match for the given set of framework identifiers
+            </summary>
+            <param name="frameworks">An enumerable list of platform ID/version pairs</param>
+            <returns>The best matching reflection data set or null if one could not be found</returns>
+        </member>
+        <member name="T:Sandcastle.Core.VisibleItems">
+            <summary>
+            This public enumerated type defines the optional visible items to include in the help file
+            </summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.None">
+            <summary>None of the optional items are documented.  Only public types and members will be documented.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Attributes">
+            <summary>Document attributes.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.ExplicitInterfaceImplementations">
+            <summary>Document explicit interface implementations.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedMembers">
+            <summary>Document inherited members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedFrameworkMembers">
+            <summary>Document inherited framework members.  For this to work, <c>InheritedMembers</c> must also
+            be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedFrameworkInternalMembers">
+            <summary>Document inherited internal framework members.  For this to work <c>InheritedFrameworkMembers</c>
+            must also be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InheritedFrameworkPrivateMembers">
+            <summary>Document inherited private framework members.  For this to work <c>InheritedFrameworkMembers</c>
+            must also be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Internals">
+            <summary>Document internal members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Privates">
+            <summary>Document private members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.PrivateFields">
+            <summary>Document private fields.  For this to work, <c>Privates</c> must also be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.Protected">
+            <summary>Document protected members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.SealedProtected">
+            <summary>Document protected members of sealed classes.  For this to work, <c>Protected</c> must also
+            be enabled.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.ProtectedInternalAsProtected">
+            <summary>Document "protected internal" members as "protected" only.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.NoPIATypes">
+            <summary>Document no-PIA (Primary Interop Assembly) embedded COM types.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.PublicCompilerGenerated">
+            <summary>Include public compiler generated types/members.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.EditorBrowsableNever">
+            <summary>Document members marked with an <see cref="T:System.ComponentModel.EditorBrowsableAttribute"/>
+            set to <c>Never</c>.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.NonBrowsable">
+            <summary>Document members marked with a <see cref="T:System.ComponentModel.BrowsableAttribute"/>
+            set to <c>False</c>.</summary>
+        </member>
+        <member name="F:Sandcastle.Core.VisibleItems.InternalAndPrivateIfExternal">
+            <summary>Include internal members from other assemblies and private members from base types.  For
+            this to work, the internal and/or private member options must also be enabled.  Inherited internal
+            and private framework members are not affected by this as they are controlled by the other related
+            options.</summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..ff204c95936fd6ccde0a844922019e312ce57a2d
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.deps.json
@@ -0,0 +1,1469 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "SandcastleBuilder.MSBuild/1.0.0": {
+        "dependencies": {
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "EWSoftware.SandcastleBuilder.Utils": "2021.10.23",
+          "Microsoft.Build": "15.1.548",
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Build.Utilities.Core": "15.1.548",
+          "System.ComponentModel.Composition": "5.0.0",
+          "System.IO.Compression": "4.3.0"
+        },
+        "runtime": {
+          "SandcastleBuilder.MSBuild.dll": {}
+        }
+      },
+      "Microsoft.Build/15.1.548": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "System.AppContext": "4.1.0",
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Collections.Immutable": "1.2.0",
+          "System.Collections.NonGeneric": "4.0.1",
+          "System.Console": "4.0.0",
+          "System.Diagnostics.Contracts": "4.0.1",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.FileVersionInfo": "4.0.0",
+          "System.Diagnostics.Process": "4.1.0",
+          "System.Diagnostics.TraceSource": "4.0.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.Compression": "4.3.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.IO.Pipes": "4.0.0",
+          "System.Linq": "4.1.0",
+          "System.Linq.Parallel": "4.0.1",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Metadata": "1.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.0.0",
+          "System.Runtime.Loader": "4.0.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Tasks.Dataflow": "4.6.0",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XPath.XmlDocument": "4.0.1",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "Microsoft.Build.Framework/15.1.548": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Thread": "4.0.0"
+        }
+      },
+      "Microsoft.Build.Utilities.Core/15.1.548": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "System.AppContext": "4.1.0",
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Collections.NonGeneric": "4.0.1",
+          "System.Console": "4.0.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Process": "4.1.0",
+          "System.Diagnostics.TraceSource": "4.0.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Linq": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.Reader": "4.0.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.0.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Runtime.Serialization.Xml": "4.1.1",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.Timer": "4.0.1",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "Microsoft.NETCore.Platforms/5.0.0": {},
+      "Microsoft.NETCore.Targets/1.1.0": {},
+      "Microsoft.Win32.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "Microsoft.Win32.Registry/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0"
+        }
+      },
+      "Microsoft.Win32.SystemEvents/5.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0"
+        },
+        "runtime": {
+          "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "runtime.native.System/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0"
+        }
+      },
+      "runtime.native.System.IO.Compression/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0"
+        }
+      },
+      "System.AppContext/4.1.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Buffers/4.3.0": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Collections/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Collections.Concurrent/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Collections.Immutable/1.2.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Linq": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Collections.NonGeneric/4.0.1": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.ComponentModel.Composition/5.0.0": {
+        "runtime": {
+          "lib/netcoreapp2.0/System.ComponentModel.Composition.dll": {
+            "assemblyVersion": "4.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Console/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Contracts/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Debug/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Diagnostics.FileVersionInfo/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Reflection.Metadata": "1.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Process/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "Microsoft.Win32.Registry": "4.0.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "runtime.native.System": "4.3.0"
+        }
+      },
+      "System.Diagnostics.TraceSource/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "runtime.native.System": "4.3.0"
+        }
+      },
+      "System.Diagnostics.Tracing/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Drawing.Common/5.0.2": {
+        "dependencies": {
+          "Microsoft.Win32.SystemEvents": "5.0.0"
+        },
+        "runtime": {
+          "lib/netcoreapp3.0/System.Drawing.Common.dll": {
+            "assemblyVersion": "5.0.0.2",
+            "fileVersion": "5.0.421.11614"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll": {
+            "rid": "unix",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.2",
+            "fileVersion": "5.0.421.11614"
+          },
+          "runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "5.0.0.2",
+            "fileVersion": "5.0.421.11614"
+          }
+        }
+      },
+      "System.Dynamic.Runtime/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Linq": "4.1.0",
+          "System.Linq.Expressions": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Globalization/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.IO/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.IO.Compression/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Buffers": "4.3.0",
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "runtime.native.System": "4.3.0",
+          "runtime.native.System.IO.Compression": "4.3.0"
+        }
+      },
+      "System.IO.FileSystem/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.IO.FileSystem.Primitives/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.IO.Pipes/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Net.Primitives": "4.0.11",
+          "System.Net.Sockets": "4.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Handles": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Security.Principal": "4.0.1",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Overlapped": "4.0.1",
+          "System.Threading.Tasks": "4.3.0",
+          "runtime.native.System": "4.3.0"
+        }
+      },
+      "System.Linq/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0"
+        }
+      },
+      "System.Linq.Expressions/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Emit.Lightweight": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Linq.Parallel/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Linq": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Net.Primitives/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0"
+        }
+      },
+      "System.Net.Sockets/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.Net.Primitives": "4.0.11",
+          "System.Runtime": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.ObjectModel/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Private.DataContractSerialization/4.1.1": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Emit.Lightweight": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1",
+          "System.Xml.XmlSerializer": "4.0.11"
+        }
+      },
+      "System.Reflection/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.IO": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Emit/4.0.1": {
+        "dependencies": {
+          "System.IO": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Emit.ILGeneration/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Emit.Lightweight/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Extensions/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.Metadata/1.3.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Collections.Immutable": "1.2.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Reflection.Primitives/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Reflection.TypeExtensions/4.1.0": {
+        "dependencies": {
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Resources.Reader/4.0.0": {
+        "dependencies": {
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Resources.ResourceManager/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Globalization": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0"
+        }
+      },
+      "System.Runtime.CompilerServices.Unsafe/5.0.0": {
+        "runtime": {
+          "lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.20.51904"
+          }
+        }
+      },
+      "System.Runtime.Extensions/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime.Handles/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime.InteropServices/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0"
+        }
+      },
+      "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Reflection": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Threading": "4.3.0",
+          "runtime.native.System": "4.3.0"
+        }
+      },
+      "System.Runtime.Loader/4.0.0": {
+        "dependencies": {
+          "System.IO": "4.3.0",
+          "System.Reflection": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime.Serialization.Primitives/4.1.1": {
+        "dependencies": {
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Runtime.Serialization.Xml/4.1.1": {
+        "dependencies": {
+          "System.IO": "4.3.0",
+          "System.Private.DataContractSerialization": "4.1.1",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.3.0",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Security.Principal/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Text.Encoding/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Text.Encoding.Extensions/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0",
+          "System.Text.Encoding": "4.3.0"
+        }
+      },
+      "System.Text.Encodings.Web/5.0.1": {
+        "runtime": {
+          "lib/netcoreapp3.0/System.Text.Encodings.Web.dll": {
+            "assemblyVersion": "5.0.0.1",
+            "fileVersion": "5.0.421.11614"
+          }
+        }
+      },
+      "System.Text.Json/5.0.2": {
+        "dependencies": {
+          "System.Runtime.CompilerServices.Unsafe": "5.0.0",
+          "System.Text.Encodings.Web": "5.0.1"
+        },
+        "runtime": {
+          "lib/netcoreapp3.0/System.Text.Json.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.0.521.16609"
+          }
+        }
+      },
+      "System.Text.RegularExpressions/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0"
+        }
+      },
+      "System.Threading/4.3.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Threading.Overlapped/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0"
+        }
+      },
+      "System.Threading.Tasks/4.3.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Threading.Tasks.Dataflow/4.6.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Diagnostics.Tracing": "4.3.0",
+          "System.Dynamic.Runtime": "4.0.11",
+          "System.Linq": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Threading.Tasks.Extensions/4.0.0": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Threading.Tasks": "4.3.0"
+        }
+      },
+      "System.Threading.Thread/4.0.0": {
+        "dependencies": {
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Threading.ThreadPool/4.0.10": {
+        "dependencies": {
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Handles": "4.3.0"
+        }
+      },
+      "System.Threading.Timer/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "5.0.0",
+          "Microsoft.NETCore.Targets": "1.1.0",
+          "System.Runtime": "4.3.0"
+        }
+      },
+      "System.Xml.ReaderWriter/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Runtime.InteropServices": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading.Tasks": "4.3.0",
+          "System.Threading.Tasks.Extensions": "4.0.0"
+        }
+      },
+      "System.Xml.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Text.Encoding": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Xml.XmlSerializer/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.3.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.3.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.3.0",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "System.Xml.XPath/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Diagnostics.Debug": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Xml.XPath.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.3.0",
+          "System.Globalization": "4.3.0",
+          "System.IO": "4.3.0",
+          "System.Resources.ResourceManager": "4.3.0",
+          "System.Runtime": "4.3.0",
+          "System.Runtime.Extensions": "4.3.0",
+          "System.Threading": "4.3.0",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XPath": "4.0.1",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "EWSoftware.Sandcastle.Core/2021.10.23": {
+        "dependencies": {
+          "System.ComponentModel.Composition": "5.0.0"
+        },
+        "runtime": {
+          "Sandcastle.Core.dll": {}
+        }
+      },
+      "EWSoftware.SandcastleBuilder.Utils/2021.10.23": {
+        "dependencies": {
+          "EWSoftware.Sandcastle.Core": "2021.10.23",
+          "Microsoft.Build": "15.1.548",
+          "Microsoft.Build.Framework": "15.1.548",
+          "System.ComponentModel.Composition": "5.0.0",
+          "System.Drawing.Common": "5.0.2",
+          "System.Text.Json": "5.0.2"
+        },
+        "runtime": {
+          "SandcastleBuilder.Utils.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "SandcastleBuilder.MSBuild/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Build/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-zEUfO7xITUxDeFE3a20D25RCKX7IFU3SUigv9qj50Adn1ZTw5QMz59LM84tyC+MNgxDl2djxlhMkNdKz/ytMBg==",
+      "path": "microsoft.build/15.1.548",
+      "hashPath": "microsoft.build.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.Build.Framework/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-wO17o9zmhAq1YYXdlwXtSsX/LzHgF1mWmKZ/X2CQE8n1WWQnzcm0gqyAa4qpp89emRZ4N0shHwq+43/9IafloA==",
+      "path": "microsoft.build.framework/15.1.548",
+      "hashPath": "microsoft.build.framework.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.Build.Utilities.Core/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gY0QMmhhG9HCDFK7T6xS+XAw/+vTfdumUwq9Sfk0KvWYnHFqrta6rwOYdcDIjDyZ2bKYVFcYH2c40mufjQZIgw==",
+      "path": "microsoft.build.utilities.core/15.1.548",
+      "hashPath": "microsoft.build.utilities.core.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==",
+      "path": "microsoft.netcore.platforms/5.0.0",
+      "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Targets/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==",
+      "path": "microsoft.netcore.targets/1.1.0",
+      "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==",
+      "path": "microsoft.win32.primitives/4.0.1",
+      "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==",
+      "path": "microsoft.win32.registry/4.0.0",
+      "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.SystemEvents/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Bh6blKG8VAKvXiLe2L+sEsn62nc1Ij34MrNxepD2OCrS5cpCwQa9MeLyhVQPQ/R4Wlzwuy6wMK8hLb11QPDRsQ==",
+      "path": "microsoft.win32.systemevents/5.0.0",
+      "hashPath": "microsoft.win32.systemevents.5.0.0.nupkg.sha512"
+    },
+    "runtime.native.System/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==",
+      "path": "runtime.native.system/4.3.0",
+      "hashPath": "runtime.native.system.4.3.0.nupkg.sha512"
+    },
+    "runtime.native.System.IO.Compression/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==",
+      "path": "runtime.native.system.io.compression/4.3.0",
+      "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512"
+    },
+    "System.AppContext/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==",
+      "path": "system.appcontext/4.1.0",
+      "hashPath": "system.appcontext.4.1.0.nupkg.sha512"
+    },
+    "System.Buffers/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==",
+      "path": "system.buffers/4.3.0",
+      "hashPath": "system.buffers.4.3.0.nupkg.sha512"
+    },
+    "System.Collections/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==",
+      "path": "system.collections/4.3.0",
+      "hashPath": "system.collections.4.3.0.nupkg.sha512"
+    },
+    "System.Collections.Concurrent/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==",
+      "path": "system.collections.concurrent/4.0.12",
+      "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512"
+    },
+    "System.Collections.Immutable/1.2.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Cma8cBW6di16ZLibL8LYQ+cLjGzoKxpOTu/faZfDcx94ZjAGq6Nv5RO7+T1YZXqEXTZP9rt1wLVEONVpURtUqw==",
+      "path": "system.collections.immutable/1.2.0",
+      "hashPath": "system.collections.immutable.1.2.0.nupkg.sha512"
+    },
+    "System.Collections.NonGeneric/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==",
+      "path": "system.collections.nongeneric/4.0.1",
+      "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512"
+    },
+    "System.ComponentModel.Composition/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YL8iA3VOFxhyomn7FxtBgh3F+8XG5jOfT5UcqYLtkafSa6g6alQfKZuRwlEIWe+tzH6OVnj0Ekg5tn/DmV7SkQ==",
+      "path": "system.componentmodel.composition/5.0.0",
+      "hashPath": "system.componentmodel.composition.5.0.0.nupkg.sha512"
+    },
+    "System.Console/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==",
+      "path": "system.console/4.0.0",
+      "hashPath": "system.console.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Contracts/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HvQQjy712vnlpPxaloZYkuE78Gn353L0SJLJVeLcNASeg9c4qla2a1Xq8I7B3jZoDzKPtHTkyVO7AZ5tpeQGuA==",
+      "path": "system.diagnostics.contracts/4.0.1",
+      "hashPath": "system.diagnostics.contracts.4.0.1.nupkg.sha512"
+    },
+    "System.Diagnostics.Debug/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==",
+      "path": "system.diagnostics.debug/4.3.0",
+      "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512"
+    },
+    "System.Diagnostics.FileVersionInfo/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qjF74OTAU+mRhLaL4YSfiWy3vj6T3AOz8AW37l5zCwfbBfj0k7E94XnEsRaf2TnhE/7QaV6Hvqakoy2LoV8MVg==",
+      "path": "system.diagnostics.fileversioninfo/4.0.0",
+      "hashPath": "system.diagnostics.fileversioninfo.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Process/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==",
+      "path": "system.diagnostics.process/4.1.0",
+      "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512"
+    },
+    "System.Diagnostics.TraceSource/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==",
+      "path": "system.diagnostics.tracesource/4.0.0",
+      "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Tracing/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
+      "path": "system.diagnostics.tracing/4.3.0",
+      "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512"
+    },
+    "System.Drawing.Common/5.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rvr/M1WPf24ljpvvrVd74+NdjRUJu1bBkspkZcnzSZnmAUQWSvanlQ0k/hVHk+cHufZbZfu7vOh/vYc0q5Uu/A==",
+      "path": "system.drawing.common/5.0.2",
+      "hashPath": "system.drawing.common.5.0.2.nupkg.sha512"
+    },
+    "System.Dynamic.Runtime/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==",
+      "path": "system.dynamic.runtime/4.0.11",
+      "hashPath": "system.dynamic.runtime.4.0.11.nupkg.sha512"
+    },
+    "System.Globalization/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
+      "path": "system.globalization/4.3.0",
+      "hashPath": "system.globalization.4.3.0.nupkg.sha512"
+    },
+    "System.IO/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
+      "path": "system.io/4.3.0",
+      "hashPath": "system.io.4.3.0.nupkg.sha512"
+    },
+    "System.IO.Compression/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==",
+      "path": "system.io.compression/4.3.0",
+      "hashPath": "system.io.compression.4.3.0.nupkg.sha512"
+    },
+    "System.IO.FileSystem/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==",
+      "path": "system.io.filesystem/4.0.1",
+      "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512"
+    },
+    "System.IO.FileSystem.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==",
+      "path": "system.io.filesystem.primitives/4.0.1",
+      "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.IO.Pipes/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-L9QVhk8hIEix5KNA0kW58Ha+Y1dNGqqqIhAaJkhcGCWeQzUmN0njzI7SG/XAazpMecboOdFFlH3pH/qbwXLJAg==",
+      "path": "system.io.pipes/4.0.0",
+      "hashPath": "system.io.pipes.4.0.0.nupkg.sha512"
+    },
+    "System.Linq/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==",
+      "path": "system.linq/4.1.0",
+      "hashPath": "system.linq.4.1.0.nupkg.sha512"
+    },
+    "System.Linq.Expressions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==",
+      "path": "system.linq.expressions/4.1.0",
+      "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512"
+    },
+    "System.Linq.Parallel/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-J7XCa7n2cFn32uLbtceXfBFhgCk5M++50lylHKNbqTiJkw5y4Tglpi6amuJNPCvj9bLzNSI7rs1fi4joLMNRgg==",
+      "path": "system.linq.parallel/4.0.1",
+      "hashPath": "system.linq.parallel.4.0.1.nupkg.sha512"
+    },
+    "System.Net.Primitives/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hVvfl4405DRjA2408luZekbPhplJK03j2Y2lSfMlny7GHXlkByw1iLnc9mgKW0GdQn73vvMcWrWewAhylXA4Nw==",
+      "path": "system.net.primitives/4.0.11",
+      "hashPath": "system.net.primitives.4.0.11.nupkg.sha512"
+    },
+    "System.Net.Sockets/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-xAz0N3dAV/aR/9g8r0Y5oEqU1JRsz29F5EGb/WVHmX3jVSLqi2/92M5hTad2aNWovruXrJpJtgZ9fccPMG9uSw==",
+      "path": "system.net.sockets/4.1.0",
+      "hashPath": "system.net.sockets.4.1.0.nupkg.sha512"
+    },
+    "System.ObjectModel/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==",
+      "path": "system.objectmodel/4.0.12",
+      "hashPath": "system.objectmodel.4.0.12.nupkg.sha512"
+    },
+    "System.Private.DataContractSerialization/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==",
+      "path": "system.private.datacontractserialization/4.1.1",
+      "hashPath": "system.private.datacontractserialization.4.1.1.nupkg.sha512"
+    },
+    "System.Reflection/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
+      "path": "system.reflection/4.3.0",
+      "hashPath": "system.reflection.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==",
+      "path": "system.reflection.emit/4.0.1",
+      "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.ILGeneration/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==",
+      "path": "system.reflection.emit.ilgeneration/4.0.1",
+      "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.Lightweight/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==",
+      "path": "system.reflection.emit.lightweight/4.0.1",
+      "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Extensions/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==",
+      "path": "system.reflection.extensions/4.0.1",
+      "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Metadata/1.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-jMSCxA4LSyKBGRDm/WtfkO03FkcgRzHxwvQRib1bm2GZ8ifKM1MX1al6breGCEQK280mdl9uQS7JNPXRYk90jw==",
+      "path": "system.reflection.metadata/1.3.0",
+      "hashPath": "system.reflection.metadata.1.3.0.nupkg.sha512"
+    },
+    "System.Reflection.Primitives/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
+      "path": "system.reflection.primitives/4.3.0",
+      "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512"
+    },
+    "System.Reflection.TypeExtensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==",
+      "path": "system.reflection.typeextensions/4.1.0",
+      "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512"
+    },
+    "System.Resources.Reader/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VX1iHAoHxgrLZv+nq/9drCZI6Q4SSCzSVyUm1e0U60sqWdj6XhY7wvKmy3RvsSal9h+/vqSWwxxJsm0J4vn/jA==",
+      "path": "system.resources.reader/4.0.0",
+      "hashPath": "system.resources.reader.4.0.0.nupkg.sha512"
+    },
+    "System.Resources.ResourceManager/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
+      "path": "system.resources.resourcemanager/4.3.0",
+      "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
+      "path": "system.runtime/4.3.0",
+      "hashPath": "system.runtime.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.CompilerServices.Unsafe/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA==",
+      "path": "system.runtime.compilerservices.unsafe/5.0.0",
+      "hashPath": "system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Extensions/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
+      "path": "system.runtime.extensions/4.3.0",
+      "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.Handles/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
+      "path": "system.runtime.handles/4.3.0",
+      "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
+      "path": "system.runtime.interopservices/4.3.0",
+      "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==",
+      "path": "system.runtime.interopservices.runtimeinformation/4.0.0",
+      "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Loader/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==",
+      "path": "system.runtime.loader/4.0.0",
+      "hashPath": "system.runtime.loader.4.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Primitives/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==",
+      "path": "system.runtime.serialization.primitives/4.1.1",
+      "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Xml/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==",
+      "path": "system.runtime.serialization.xml/4.1.1",
+      "hashPath": "system.runtime.serialization.xml.4.1.1.nupkg.sha512"
+    },
+    "System.Security.Principal/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-On+SKhXY5rzxh/S8wlH1Rm0ogBlu7zyHNxeNBiXauNrhHRXAe9EuX8Yl5IOzLPGU5Z4kLWHMvORDOCG8iu9hww==",
+      "path": "system.security.principal/4.0.1",
+      "hashPath": "system.security.principal.4.0.1.nupkg.sha512"
+    },
+    "System.Text.Encoding/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
+      "path": "system.text.encoding/4.3.0",
+      "hashPath": "system.text.encoding.4.3.0.nupkg.sha512"
+    },
+    "System.Text.Encoding.Extensions/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==",
+      "path": "system.text.encoding.extensions/4.0.11",
+      "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512"
+    },
+    "System.Text.Encodings.Web/5.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-KmJ+CJXizDofbq6mpqDoRRLcxgOd2z9X3XoFNULSbvbqVRZkFX3istvr+MUjL6Zw1RT+RNdoI4GYidIINtgvqQ==",
+      "path": "system.text.encodings.web/5.0.1",
+      "hashPath": "system.text.encodings.web.5.0.1.nupkg.sha512"
+    },
+    "System.Text.Json/5.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-I47dVIGiV6SfAyppphxqupertT/5oZkYLDCX6vC3HpOI4ZLjyoKAreUoem2ie6G0RbRuFrlqz/PcTQjfb2DOfQ==",
+      "path": "system.text.json/5.0.2",
+      "hashPath": "system.text.json.5.0.2.nupkg.sha512"
+    },
+    "System.Text.RegularExpressions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==",
+      "path": "system.text.regularexpressions/4.1.0",
+      "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512"
+    },
+    "System.Threading/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==",
+      "path": "system.threading/4.3.0",
+      "hashPath": "system.threading.4.3.0.nupkg.sha512"
+    },
+    "System.Threading.Overlapped/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-f7aLuLkBoCQM2kng7zqLFBXz9Gk48gDK8lk1ih9rH/1arJJzZK9gJwNvPDhL6Ps/l6rwOr8jw+4FCHL0KKWiEg==",
+      "path": "system.threading.overlapped/4.0.1",
+      "hashPath": "system.threading.overlapped.4.0.1.nupkg.sha512"
+    },
+    "System.Threading.Tasks/4.3.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
+      "path": "system.threading.tasks/4.3.0",
+      "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Dataflow/4.6.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2hRjGu2r2jxRZ55wmcHO/WbdX+YAOz9x6FE8xqkHZgPaoFMKQZRe9dk8xTZIas8fRjxRmzawnTEWIrhlM+Un7w==",
+      "path": "system.threading.tasks.dataflow/4.6.0",
+      "hashPath": "system.threading.tasks.dataflow.4.6.0.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Extensions/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==",
+      "path": "system.threading.tasks.extensions/4.0.0",
+      "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.Thread/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==",
+      "path": "system.threading.thread/4.0.0",
+      "hashPath": "system.threading.thread.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.ThreadPool/4.0.10": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==",
+      "path": "system.threading.threadpool/4.0.10",
+      "hashPath": "system.threading.threadpool.4.0.10.nupkg.sha512"
+    },
+    "System.Threading.Timer/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==",
+      "path": "system.threading.timer/4.0.1",
+      "hashPath": "system.threading.timer.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.ReaderWriter/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==",
+      "path": "system.xml.readerwriter/4.0.11",
+      "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512"
+    },
+    "System.Xml.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==",
+      "path": "system.xml.xmldocument/4.0.1",
+      "hashPath": "system.xml.xmldocument.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XmlSerializer/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==",
+      "path": "system.xml.xmlserializer/4.0.11",
+      "hashPath": "system.xml.xmlserializer.4.0.11.nupkg.sha512"
+    },
+    "System.Xml.XPath/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==",
+      "path": "system.xml.xpath/4.0.1",
+      "hashPath": "system.xml.xpath.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XPath.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Zm2BdeanuncYs3NhCj4c9e1x3EXFzFBVv2wPEc/Dj4ZbI9R8ecLSR5frAsx4zJCPBtKQreQ7Q/KxJEohJZbfzA==",
+      "path": "system.xml.xpath.xmldocument/4.0.1",
+      "hashPath": "system.xml.xpath.xmldocument.4.0.1.nupkg.sha512"
+    },
+    "EWSoftware.Sandcastle.Core/2021.10.23": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "EWSoftware.SandcastleBuilder.Utils/2021.10.23": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.dll
new file mode 100644
index 0000000000000000000000000000000000000000..29aec1bf96191b7f8459a02c2dd97173241f80be
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c3fd89c158d0b3c06cc3fc62a1b436ffa74a8122
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.MSBuild.xml
@@ -0,0 +1,626 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleBuilder.MSBuild</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.MSBuild.Build1xHelpFile">
+            <summary>
+            This task is used to run HHC.EXE which is used to compile a Help 1 (CHM) help file
+            </summary>
+            <remarks>Support is provided for wrapping the tool in a call to an application such as SBAppLocale.exe to
+            workaround encoding issues with the Help 1 compiler.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.ToolName">
+            <summary>
+            This read-only property returns the tool name (HHC.EXE or the value of <see cref="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp" /> if
+            specified).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.StandardErrorLoggingImportance">
+            <summary>
+            This is overridden to force all standard error info to be logged
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.StandardOutputLoggingImportance">
+            <summary>
+            This is overridden to force all standard output info to be logged
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.HelpCompilerFolder">
+            <summary>
+            This is used to pass in the path to the help compiler
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.HelpProjectName">
+            <summary>
+            This is used to pass in the help project filename
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp">
+            <summary>
+            This is used to pass in the name of the application to use as the localization wrapper
+            </summary>
+            <remarks>This is optional.  If specified, it will be used to run the help compiler to work around
+            encoding issues.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LanguageId">
+            <summary>
+            This is used to get or set the language ID for the localization tool (<see cref="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp" />)
+            </summary>
+            <remarks>This is optional.  If not specified, it defaults to 1033.  It is ignored if
+            <see cref="P:SandcastleBuilder.MSBuild.Build1xHelpFile.LocalizeApp" /> is not set.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.ValidateParameters">
+            <summary>
+            Validate the parameters
+            </summary>
+            <returns>True if the parameters are valid, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.GenerateFullPathToTool">
+            <summary>
+            This returns the full path to the tool
+            </summary>
+            <returns>The full path to the tool</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.GenerateCommandLineCommands">
+            <summary>
+            Generate the command line parameters
+            </summary>
+            <returns>The command line parameters</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.Execute">
+            <summary>
+            This is overridden to set the working folder before executing the task and to invert the result
+            returned from the help compiler.
+            </summary>
+            <returns>True if successful or false on failure</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.Build1xHelpFile.HandleTaskExecutionErrors">
+            <summary>
+            This is overridden to invert the result of the HHC exit code
+            </summary>
+            <returns>True on success, false on failure.  HHC is backwards and returns 0 on failures and 1 on
+            success.  We invert the result to be consistent with other tasks.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.BuildHelp">
+            <summary>
+            This task is used to build help file output using the Sandcastle Help File Builder.
+            </summary>
+            <remarks>All messages from this task are logged with a high priority since it will run for a long time
+            and we need to see the progress messages to know it's doing something.  If set to Normal and ran from
+            within Visual Studio, it won't show the progress messages when the logging options are set to Minimal.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile">
+            <summary>
+            This is used to pass in the project filename
+            </summary>
+            <remarks>Since <see cref="T:SandcastleBuilder.Utils.SandcastleProject" /> already wraps the MSBuild project, it seemed
+            redundant to define each and every property on this task and map them to the project properties.  As
+            such, this task will attempt to use the executing project to create the Sandcastle project instance.
+            If that fails or <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.AlwaysLoadProject" /> is true, this file will be loaded instead.  The
+            downside is that property overrides on the command line will be ignored.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Configuration">
+            <summary>
+            This is used to pass in the configuration to use for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Platform">
+            <summary>
+            This is used to pass in the platform to use for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.OutDir">
+            <summary>
+            This is used to specify the output directory containing the build output for solution and project
+            documentation sources when using Team Build.
+            </summary>
+            <value>This property is optional.  If not specified, the default output path in project file
+            documentation sources will be used.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Verbose">
+            <summary>
+            This is used to set or get the output logging verbosity flag
+            </summary>
+            <value>This property is optional.  If set to false (the default), only build steps are written to the
+            task log.  If set to true, all output from the build process is written to the task log.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.DumpLogOnFailure">
+            <summary>
+            This is used to set or get whether the log file is dumped to the task log if the help file project
+            build fails.
+            </summary>
+            <value>This property is optional.  If set to false (the default), the log is not dumped if the build
+            fails.  If set to true, all output from the build process is written to the task log if the build
+            fails.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.AlwaysLoadProject">
+            <summary>
+            This is used to specify whether or not to load the specified <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile" /> rather than
+            use the executing project.
+            </summary>
+            <value>This property is optional.  If set to false, the default, the executing project is used as the
+            Sandcastle project to build.  If set to true, the specified <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile" /> is loaded.
+            In such cases, command line property overrides are ignored.</value>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Properties">
+            <summary>
+            <para>Optional String parameter.</para>
+            <para>A semicolon-delimited list of property name/value pairs that override properties read from the
+            <see cref="P:SandcastleBuilder.MSBuild.BuildHelp.ProjectFile" />.</para>
+            </summary>
+            <remarks>
+            <para>Use this to provide dynamic properties, that are created during build. When building inside
+            Visual Studio, only static properties are available.</para>
+            <para>This could for example be used if there are custom MSBuild targets that initialize properties
+            with version information.</para>
+            </remarks>
+            <example>Properties="Version=$(SemVersion);Optimize=$(Optimize)"</example>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.Help1Files">
+            <summary>
+            This is used to return a list of the HTML Help 1 (chm) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.HelpViewerFiles">
+            <summary>
+            This is used to return a list of the MS Help Viewer (mshc) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.WebsiteFiles">
+            <summary>
+            This is used to return a list of the website files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.OpenXmlFiles">
+            <summary>
+            This is used to return a list of the Open XML (docx) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.MarkdownFiles">
+            <summary>
+            This is used to return a list of the Markdown (md) files that resulted from the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelp.AllHelpFiles">
+            <summary>
+            This is used to return a list of all files that resulted from the build (all help formats)
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.GetCurrentProjectInstance">
+            <summary>
+            This is used to obtain project instance for the project that is currently being built
+            </summary>
+            <returns>The project instance for the current project if possible or null if it could not be
+            obtained.</returns>
+            <remarks>When you run MSBuild.exe, it does not store the projects in the global project collection.
+            We could build the project without it but we lose the ability to use command line overrides and
+            changes to user-defined properties.  As such we need to resort to reflection to get the current
+            project information.  This is easier than in past MSBuild versions though.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.Cancel">
+            <summary>
+            Cancel the build
+            </summary>
+            <remarks>The build will be cancelled as soon as the next message arrives from the build process</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelp.Report(SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs)">
+            <summary>
+            This is called by the build process to report build progress
+            </summary>
+            <param name="value">The event arguments</param>
+            <remarks>Since the build is synchronous in this task, we need to implement the interface and report
+            progress synchronously as well or the final few messages can get lost and it looks like the build
+            failed.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.BuildHelpViewerFile">
+            <summary>
+            This task is used to compress the help content into a Microsoft Help Container (a ZIP file with a .mshc
+            extension).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelpViewerFile.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files to compress are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelpViewerFile.OutputFolder">
+            <summary>
+            This is used to pass in the output folder where the compressed output file is stored
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildHelpViewerFile.HtmlHelpName">
+            <summary>
+            This is used to pass in the name of the help file (no path or extension)
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelpViewerFile.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelpViewerFile.CompressFiles">
+            <summary>
+            This is used to handle file compression as a background task
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildHelpViewerFile.ReportProgress(System.Int32)">
+            <summary>
+            Report progress as the content is compressed
+            </summary>
+            <param name="value">The number of files added to the archive so far</param>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.BuildOpenXmlFile">
+            <summary>
+            This task is used to finish up creation of the Open XML file parts and compress the help content into an
+            Open XML document (a ZIP file with a .docx extension).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files to compress are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.OutputFolder">
+            <summary>
+            This is used to pass in the output folder where the compressed output file is stored
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.HelpFilename">
+            <summary>
+            This is used to pass in the name of the help file document (no path or extension)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.BuildOpenXmlFile.IndentXml">
+            <summary>
+            This is used for debugging.  Set it to true to indent the XML, false to not indent it
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.WriteTopic(System.Xml.XmlWriter,System.Xml.XmlReader)">
+            <summary>
+            This is used to write out the body content of a topic to the main document part
+            </summary>
+            <param name="writer">The writer for the main document part</param>
+            <param name="reader">The reader for the topic body content</param>
+            <remarks>Using a reader prevents unnecessary namespaces from appearing on the body content elements
+            which happens if we convert the XElement content to a string and write it out as raw content.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ApplyChanges(System.Xml.Linq.XDocument,System.String)">
+            <summary>
+            Apply the clean up tasks to the given document
+            </summary>
+            <param name="document">The document to clean up</param>
+            <param name="key">The topic key</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.SaveRelationships">
+            <summary>
+            Save the external link and image relationship information
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.SaveNumberingStyles">
+            <summary>
+            Save list numbering styles
+            </summary>
+            <remarks>Numbering styles are rather complex.  To keep it as simple as possible, we use one common
+            abstract definition and use separate numbering definitions with level overrides to apply "ordered"
+            or "no bullet" styles to the lists that use the same style at the same level.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.AddContainingParagraphs(System.Xml.Linq.XDocument)">
+            <summary>
+            Add containing paragraphs for run elements that don't have one
+            </summary>
+            <param name="document">The document in which to add containing paragraphs</param>
+            <remarks>MAML and XML comments may not be well formed such that all text runs end up inside a
+            paragraph.  While HTML is very forgiving in that respect, Open XML is not and it will cause the
+            document to appear to be corrupted.  This attempts to fix up such ill-formed content.  It is not
+            perfect so there may still be issues.  Additional fix ups can be added as they are found but this is
+            no substitute for using well-formed content in the first place.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CheckForContainingParagraph(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
+            <summary>
+            Check for a containing paragraph on each of the given elements
+            </summary>
+            <param name="elements">An enumerable list of elements to check</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.AddBlankCellParagraphs(System.Xml.Linq.XDocument)">
+            <summary>
+            Add empty paragraphs to empty cells
+            </summary>
+            <param name="document">The document in which to add paragraphs to empty cells</param>
+            <remarks>Table cells must contain a paragraph element</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlLineBreaks(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert HTML line breaks to Open XML line breaks
+            </summary>
+            <param name="document">The document in which to apply the fix-ups</param>
+            <remarks>HTML line breaks can appear in content items and the transformations where it may not be
+            convenient or possible to insert the containing run element.  This fixes them up so that they are
+            correct.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.WrapStrayElementNodes(System.Xml.Linq.XDocument)">
+            <summary>
+            Wrap stray text nodes in text elements and, when necessary, run elements
+            </summary>
+            <param name="document">The document in which to wrap stray text nodes</param>
+            <remarks>Stray text nodes can occur when resolving shared content items.  We need to ensure that
+            all text nodes are within a text element within a run to ensure that the document does not appear to
+            be corrupted.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CleanupTables(System.Xml.Linq.XDocument)">
+            <summary>
+            This cleans up table elements so that they include the correct w:tblGrid
+            element and that they are not wrapped within a w:p element.
+            </summary>
+            <param name="document">The document in which to clean up any tables</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.InsertLineBreaks(System.Xml.Linq.XDocument)">
+            <summary>
+            Insert line break elements where needed to preserve text formatting
+            </summary>
+            <param name="document">The document in which to insert line breaks</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.RemoveInvalidSpans(System.Xml.Linq.XDocument)">
+            <summary>
+            Remove spans without a class attribute that cannot be used for formatting
+            </summary>
+            <param name="document">The document in which to remove invalid spans</param>
+            <remarks>The XSL transformation could do this but it wouldn't necessarily cover third party build
+            components which could introduce invalid spans so we'll take care of them all here.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertStyleSpans(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert style spans to Open XML run formatting
+            </summary>
+            <param name="document">The document in which to convert the style spans</param>
+            <remarks>Nested spans result in run formatting that is accumulated in each run in the nested set of
+            spans.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ApplySpanFormatting(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
+            <summary>
+            Apply the formatting from a span including all nested spans to each run contained within it
+            </summary>
+            <param name="span">The root span from which to start applying formatting</param>
+            <param name="runProps">The run properties in which to accumulate formatting</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ReorderChildren(System.Xml.Linq.XElement,System.Collections.Generic.IList{System.String})">
+            <summary>
+            Reorders an elements' children by a specific ordering.
+            </summary>
+            <param name="element">Element whose children should be in a specific order</param>
+            <param name="orderings">The specific order of child element, by local name</param>
+            <returns><paramref name="element" /> with its children reordered.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ReformatBookmarkNames(System.Xml.Linq.XDocument,System.String)">
+            <summary>
+            Reformat the bookmark names to prefix them with the topic key so that they are unique and do not
+            contain any invalid characters.
+            </summary>
+            <param name="document">The document in which to reformat the bookmark names</param>
+            <param name="key">The document key</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlAnchors(System.Xml.Linq.XDocument,System.String)">
+            <summary>
+            Convert HTML anchor elements to Open XML hyperlink elements
+            </summary>
+            <param name="document">The document in which to convert the HTML anchor elements</param>
+            <param name="key">The document key</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlImages(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert HTML image elements to Open XML drawing elements
+            </summary>
+            <param name="document">The document in which to convert the image elements</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.DetermineImageSize(System.String,System.Int64@,System.Int64@)">
+            <summary>
+            This is used to determine the image size in English Metric Units
+            </summary>
+            <param name="imageFilename">The image filename</param>
+            <param name="cx">On return, this will contain the width of the image in English Metric Units</param>
+            <param name="cy">On return, this will contain the height of the image in English Metric Units</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ConvertHtmlLists(System.Xml.Linq.XDocument)">
+            <summary>
+            Convert HTML list elements to Open XML list formatting elements and track each unique list style
+            </summary>
+            <param name="document">The document in which to convert the HTML anchor elements</param>
+            <remarks>Open XML lists are not like HTML lists.  The list items have formatting applied that refers
+            to a numbering properties element stored in a separate part.  The numbering properties refer to
+            an abstract numbering definition which can be shared amongst many numbering properties elements which
+            may override levels within the abstract definition.  Also Open XML only supports up to nine levels
+            of nested lists.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ApplyListFormatting(System.Xml.Linq.XElement,System.Int32)">
+            <summary>
+            This applies formatting to each nested list and list item
+            </summary>
+            <param name="list">The list to process</param>
+            <param name="level">The level of this list</param>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.GenerateFileList">
+            <summary>
+            This is used to generate the list of files needed for the document.  It also updates the content
+            types file with any missing content types.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CompressHelpContent">
+            <summary>
+            This is used to compress the help content into the Open XML document file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.CompressFiles">
+            <summary>
+            This is used to handle file compression as a background task
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.BuildOpenXmlFile.ReportProgress(System.Int32)">
+            <summary>
+            Report progress as the content is compressed
+            </summary>
+            <param name="value">The number of files added to the archive so far</param>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.CleanHelp">
+            <summary>
+            This task is used to clean (remove) help file output from the last
+            build.
+            </summary>
+            <remarks>All messages from this task are logged with a high priority.  If set to Normal and ran from
+            within Visual Studio, it won't show the progress messages when the logging options are set to Minimal.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.ProjectFile">
+            <summary>
+            This is used to pass in the project filename
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.OutputPath">
+            <summary>
+            This is used to pass in the output path that needs to be cleaned
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.WorkingPath">
+            <summary>
+            This is used to pass in the optional working path that needs to be
+            cleaned.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.CleanHelp.LogFileLocation">
+            <summary>
+            This is used to pass in the optional log filename that needs
+            to be cleaned.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.CleanHelp.Execute">
+            <summary>
+            This is used to execute the task and clean the output folder
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.GenerateMarkdownContent">
+            <summary>
+            This task is used to finish up creation of the markdown content and copy it to the output folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.WorkingFolder">
+            <summary>
+            This is used to pass in the working folder where the files to parse are located
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.OutputFolder">
+            <summary>
+            This is used to pass in the output folder where the generated content is stored
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.DefaultTopic">
+            <summary>
+            This is used to pass in the default topic name.  If no Home.md file is found and a value is
+            specified, this file will be copied to create Home.md.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.GenerateMarkdownContent.AppendMarkdownFileExtensionsToUrls">
+            <summary>
+            This is used to pass in whether or not to append extensions to the sidebar topic links
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.GenerateMarkdownContent.Execute">
+            <summary>
+            This is used to execute the task and perform the build
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.GenerateMarkdownContent.ApplyChanges(System.String,System.Xml.Linq.XDocument)">
+            <summary>
+            This applies the changes needed to convert the XML to a markdown topic file
+            </summary>
+            <param name="key">The topic key</param>
+            <param name="topic">The topic to which the changes are applied</param>
+            <returns>The page title if one could be found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MSBuild.GenerateMarkdownContent.RecursiveCopy(System.String,System.String,System.Int32@)">
+            <summary>
+            This copies files from the specified source folder to the specified destination folder.  If any
+            subfolders are found below the source folder, the subfolders are also copied recursively.
+            </summary>
+            <param name="sourcePath">The source path from which to copy</param>
+            <param name="destPath">The destination path to which to copy</param>
+            <param name="fileCount">The file count used for logging progress</param>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.NumberingStyle">
+            <summary>
+            This is used to track the custom numbering styles found during the step that converts the list elements
+            to Open XML lists.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Id">
+            <summary>
+            The ID for the numbering style
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Style">
+            <summary>
+            The numbering style
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Level">
+            <summary>
+            The numbering level to override
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.NumberingStyle.Start">
+            <summary>
+            The starting number for ordered lists
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.MSBuild.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MSBuild.Properties.Resources.MimeTypes">
+             <summary>
+               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
+            &lt;!-- Run the following script in LINQPad to regenerate the content below:
+            XElement root = new XElement(&quot;mimeTypes&quot;);
+            
+            foreach (string key in Registry.ClassesRoot.GetSubKeyNames().Where(k =&gt; k[0] == &apos;.&apos;))
+            {
+            	using (RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(key))
+            	{
+            		string mimeType = regKey.GetValue(&quot;Content Type&quot;)?.ToString();
+            		
+            		if (!String.IsNullOrWhiteSpace(mimeType))
+            			root.Add(new XElement(&quot;mimeType&quot;, new XAttribute(&quot;extension&quot;, key), ne [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.Utils.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.Utils.dll
new file mode 100644
index 0000000000000000000000000000000000000000..56ebc330cb789bcbd00ff072b6c932ba47ef96ee
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.Utils.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.Utils.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.Utils.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4c32809a05c50475bf643e91b943d2f4d42ac9c2
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleBuilder.Utils.xml
@@ -0,0 +1,6634 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleBuilder.Utils</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.Utils.ApiEntryType">
+            <summary>
+            This public enumerated type defines the API entry types that can be removed from the reflection
+            information file.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.None">
+            <summary>An unknown entry</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Namespace">
+            <summary>A namespace</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Class">
+            <summary>A class</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Structure">
+            <summary>An interface</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Interface">
+            <summary>An interface</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Enumeration">
+            <summary>An enumeration</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Delegate">
+            <summary>A delegate</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Constructor">
+            <summary>A constructor</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Method">
+            <summary>A method</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Operator">
+            <summary>An operator</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Property">
+            <summary>A property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Event">
+            <summary>An event</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ApiEntryType.Field">
+            <summary>A field</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ApiFilter">
+            <summary>
+            This represents an API entry that is to be removed from the reflection information using MRefBuilder's
+            namespace ripping feature.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.EntryType">
+            <summary>
+            This is used to get or set the API entry type
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.FullName">
+            <summary>
+            This is used to get the fully qualified name of the API entry
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.FilterName">
+            <summary>
+            This is used to get the API filter name
+            </summary>
+            <value>For API entry types other than namespaces, this is the name without the namespace and, for
+            methods properties, etc. the type.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.IsExposed">
+            <summary>
+            This is used to get or set whether or not the entry is exposed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.IsProjectExclude">
+            <summary>
+            This is used to get or set whether or not the entry is excluded via the project (i.e. via the SHFB
+            Namespaces option or an <c>&lt;exclude /&gt;</c> tag.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilter.Children">
+            <summary>
+            This returns the child API filter collection for this entry
+            </summary>
+            <value>For namespaces and types, if there are children, they represent the specific entries within
+            the namespace or type to hide or expose.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.CompareTo(SandcastleBuilder.Utils.ApiFilter)">
+            <summary>
+            Compares this instance to another instance and returns an indication of their relative values
+            </summary>
+            <param name="other">An ApiFilter object to compare</param>
+            <returns>Returns -1 if this instance is less than the value, 0 if they are equal, or 1 if this
+            instance is greater than the value or the value is null.</returns>
+            <remarks>Entries are sorted by API entry type and full name</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.#ctor(SandcastleBuilder.Utils.ApiEntryType,System.String,System.Boolean)">
+            <summary>
+            Constructor.  This takes the API type and the full name.
+            </summary>
+            <param name="apiType">The API entry type</param>
+            <param name="name">The fully qualified name</param>
+            <param name="exposed">True to expose it, false to hide it</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.ConvertToString(System.Text.StringBuilder)">
+            <summary>
+            This is used to convert the entry and its children to a string ready for use in the MRefBuilder
+            configuration file.
+            </summary>
+            <param name="sb">The string builder to which the information is appended.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.FromXml(System.Xml.XmlTextReader)">
+            <summary>
+            This is used to load the API filter information from the project file
+            </summary>
+            <param name="xr">The XML text reader from which the information is loaded</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.ToXml(System.Xml.XmlTextWriter)">
+            <summary>
+            This is used to save the content item information to the project file
+            </summary>
+            <param name="xw">The XML text writer to which the information is written</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilter.ApiEntryTypeFromLetter(System.Char)">
+            <summary>
+            This is used to convert an API type letter to an <see cref="T:SandcastleBuilder.Utils.ApiEntryType"/> enumerated value.
+            </summary>
+            <param name="apiType">The letter to convert</param>
+            <returns>The <b>ApiEntryType</b> represented by the letter</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ApiFilterCollection">
+            <summary>
+            This collection class is used to hold the API filter entries for MRefBuilder to remove
+            </summary>
+            <remarks><note type="note">Unlike other collections in the project, this one is cleared and rebuilt if it
+            changes.  As such, the contained items do not notify the project when they change as they are created
+            anew each time the collection is rebuilt.</note></remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ApiFilterCollection.Project">
+            <summary>
+            This is used to get or set a reference to the project that owns the collection
+            </summary>
+            <remarks>This is used by collection editors to get a reference to the owning project.  Child
+            collections do not contain a reference to the project file.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.FromXml(System.String)">
+            <summary>
+            This is used to load existing API filter items from the project file
+            </summary>
+            <param name="apiFilter">The API filter items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.ToXml">
+            <summary>
+            This is used to write the API filter info to an XML fragment ready for storing in the project file
+            </summary>
+            <returns>The XML fragment containing the API filter information</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.MergeExclusionEntry(SandcastleBuilder.Utils.ApiEntryType,System.String)">
+            <summary>
+            This is used to merge an exclusion entry with the filter collection
+            </summary>
+            <param name="entryType">The entry type</param>
+            <param name="fullName">The member's full name</param>
+            <returns>True if merged without conflict or false if the merged member conflicted with an existing
+            entry.  The existing entry will take precedence.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.AddNamespaceChild(System.String,System.String,System.String,System.String)">
+            <summary>
+            Add a new type entry to this namespace collection
+            </summary>
+            <param name="fullName">The full name of the entry</param>
+            <param name="nameSpace">The namespace</param>
+            <param name="typeName">The type name</param>
+            <param name="memberName">The member</param>
+            <returns>True if merged without conflict or false if the merged member conflicted with an existing
+            entry.  The existing entry will take precedence.</returns>
+            <remarks>Entries added by this method are exclusions based on namespace comment or &lt;exclude/&gt;
+            tag exclusions.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.AddTypeChild(System.String,System.String,System.String)">
+            <summary>
+            Add a new member entry to this type collection
+            </summary>
+            <param name="fullName">The full name of the entry</param>
+            <param name="typeName">The type name</param>
+            <param name="memberName">The member</param>
+            <returns>True if merged without conflict or false if the merged member conflicted with an existing
+            entry.  The existing entry will take precedence.</returns>
+            <remarks>Entries added by this method are exclusions based on namespace comment or &lt;exclude/&gt;
+            tag exclusions.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiFilterCollection.ToString">
+            <summary>
+            Convert the API filter entry and its children to a string
+            </summary>
+            <returns>The entries in the MRefBuilder API filter XML format</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ApiTopicNamer">
+            <summary>
+            This is used to generate topic filenames for API members based on the selected naming method
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProcess">The build process using the topic namer</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the instance if not done explicitly
+            with <see cref="M:SandcastleBuilder.Utils.ApiTopicNamer.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToTopicFileName(System.String)">
+            <summary>
+            This is used to get an API topic filename for the given API member ID
+            </summary>
+            <param name="memberId">The member ID for which to get a topic filename</param>
+            <returns>The topic filename for the member ID based on the specified naming method</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToMd5Hash(System.String)">
+            <summary>
+            This generates an MD5 hash of the member ID and returns it in GUID form
+            </summary>
+            <param name="memberId">The member ID</param>
+            <returns>The MD5 hash of the member ID in GUID form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToMemberName(System.String)">
+            <summary>
+            This modifies the member ID so that it can be used as a filename
+            </summary>
+            <param name="memberId">The member ID</param>
+            <returns>The member ID in a form suitable for use as a filename.  If a duplicate is found, the name
+            is made unique by adding a numeric suffix.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ApiTopicNamer.ToHashedMemberName(System.String)">
+            <summary>
+            This returns the hash for the member ID to use as a filename.  Hash codes can be used to shorten
+            extremely long type and member names.
+            </summary>
+            <param name="memberId">The member ID</param>
+            <returns>The hash for the member ID.  If a duplicate is found, the name is made unique by adding a
+            numeric suffix.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildAction">
+            <summary>
+            This defines the build action (item name) for build items in a project
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.None">
+            <summary>No action, the item is ignored</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Image">
+            <summary>Conceptual content image file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.CodeSnippets">
+            <summary>Conceptual content code snippets file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Tokens">
+            <summary>Conceptual content token file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.ContentLayout">
+            <summary>Conceptual content layout file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.SiteMap">
+            <summary>Additional content site map file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Content">
+            <summary>General content file (HTML, style sheet, images not  related to conceptual content, etc.)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.ResourceItems">
+            <summary>Resource items file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.XamlConfiguration">
+            <summary>XAML configuration file (for BuildAssembler)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Folder">
+            <summary>A folder (project explorer designation only, not a build
+            action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.Project">
+            <summary>The project (project explorer designation only, not a
+            build action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.DocumentationSource">
+            <summary>A documentation source (project explorer designation only,
+            not a build action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.ReferenceItem">
+            <summary>A reference item (project explorer designation only, not a
+            build action)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAction.PackageReferenceItem">
+            <summary>A package reference item (project explorer designation only, not a
+            build action)</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildAssemblerVerbosity">
+            <summary>
+            This public enumerated type defines the build assembler tool verbosity levels
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAssemblerVerbosity.AllMessages">
+            <summary>Report all messages (the default)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAssemblerVerbosity.OnlyWarningsAndErrors">
+            <summary>Only warning and error messages</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildAssemblerVerbosity.OnlyErrors">
+            <summary>Only error messages</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration">
+            <summary>
+            This class is used to contain a build component's configuration and enabled state
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration.Enabled">
+            <summary>
+            This is used to get or set the build component's enabled state
+            </summary>
+            <value>If set to false, the component will not be used in the build</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration.Configuration">
+            <summary>
+            This is used to get or set the component's configuration information
+            </summary>
+            <value>This should be an XML fragment.  The root node should be named <c>component</c> with an
+            <c>id</c> attribute that names the component</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration.#ctor(System.Boolean,System.String)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="enabled">The enabled state</param>
+            <param name="configuration">The configuration</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary">
+            <summary>
+            This dictionary class is used to hold the third party build component configuration properties for a
+            project such as the Code Block Component.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary.FromXml(System.String)">
+            <summary>
+            This is used to load existing component configuration items from the project file
+            </summary>
+            <param name="components">The component items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary.ToXml">
+            <summary>
+            This is used to write the component configuration info to an XML fragment ready for storing in the
+            project file.
+            </summary>
+            <returns>The XML fragment containing the component configuration info.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ComponentConfigurationDictionary.Add(System.String,System.Boolean,System.String)">
+            <summary>
+            Add a new item to the dictionary
+            </summary>
+            <param name="id">The component ID</param>
+            <param name="enabled">True for enabled, false for disabled</param>
+            <param name="config">The component configuration</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.BuildComponent.BuildComponentConfiguration" /> added to the project.  If the ID already
+            exists in the collection, the existing item is returned.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors">
+            <summary>
+            This public enumerated type defines the execution behavior of a build process plug-in
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.Before">
+            <summary>Execute before the help file builder's normal processing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.After">
+            <summary>Execute after the help file builder's normal processing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.BeforeAndAfter">
+            <summary>Execute both before and after the help file builder's normal processing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.InsteadOf">
+            <summary>Execute instead of the help file builder's normal processing.  If this flag is set,
+            <c>Before</c> and <c>After</c> are ignored.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ExecutionContext">
+            <summary>
+            This class defines the execution context in which the plug-in is being called during the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.BuildStep">
+            <summary>
+            This read-only property returns the current build step
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.Behavior">
+            <summary>
+            This read-only property returns the execution behavior for the plug-in within the current context
+            </summary>
+            <value><c>Before</c> indicates that it is being called before the normal help file builder
+            processing.  <c>After</c> indicates that it is being called after the normal help file builder
+            processing.  <c>InsteadOf</c> indicates that it is being called instead of the normal help file
+            builder processing.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.Executed">
+            <summary>
+            This property is used to set or get whether or not the plug-in actually executed
+            </summary>
+            <value>It is true by default.  Set it to false if the plug-in did not execute.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ExecutionContext.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildStep">The current build step.</param>
+            <param name="behavior">The behavior of the plug-in for the current context.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if an attempt is made to specify more than one
+            behavior type.</exception>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint">
+            <summary>
+            This class defines when a plug-in gets executed during the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.BuildStep">
+            <summary>
+            This read-only property returns the build step in which the plug-in will run.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.Behavior">
+            <summary>
+            This read-only property returns the execution behavior of the plug-in.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.Priority">
+            <summary>
+            This read-only property returns the execution priority of the plug-in.
+            </summary>
+            <value>Plug-ins with a higher priority value will execute before those with a lower priority value.
+            If not specified, the default is 1,000.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildStep">The step in which the plug-in should run.</param>
+            <param name="behavior">The behavior of the plug-in when it is ran.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if an attempt is made to set the Before or After
+            behavior with the InsteadOf behavior.  It is also thrown for invalid combinations of build step and
+            behavior, i.e. Initializing with Before or InsteadOf.  See the help file for a full list.</exception>
+            <overloads>There are two overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ExecutionPoint.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors,System.Int32)">
+            <summary>
+            This constructor is used to set a specific execution priority.
+            </summary>
+            <param name="buildStep">The step in which the plug-in should run.</param>
+            <param name="behavior">The behavior of the plug-in when it is ran.</param>
+            <param name="priority">The execution priority for the plug-in.</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the help file
+            builder plug-ins.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the plug-in ID
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.IsHidden">
+            <summary>
+            This is used to indicate whether or not the plug-in is hidden in the project plug-in property page
+            </summary>
+            <value>If set to true, the plug-in is hidden in the project plug-in property page and cannot
+            be added to the project.  If false, the default, it can be added to projects.  This is useful for
+            presentation style dependency plug-ins that have no configurable elements and thus do not need to be
+            manually added to the project to override settings.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.RunsInPartialBuild">
+            <summary>
+            This is used to get or set whether or not the plug-in runs in partial builds
+            </summary>
+            <value>If not specified, the default is false</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Description">
+            <summary>
+            This is used to get or set a brief description of the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Version">
+            <summary>
+            This is used to get or set the plug-in version number
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.Copyright">
+            <summary>
+            This is used to get or set copyright information for the plug-in
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.HelpFileBuilderPlugInExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required plug-in ID</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugIn">
+            <summary>
+            This interface defines the methods required to implement a Sandcastle Help File Builder build process
+            plug-in.
+            </summary>
+            <remarks>Derived classes must also implement the <see cref="T:System.IDisposable"/> interface.  Plug-ins are
+            singletons in nature.  The composition container will create instances as needed and will dispose of them
+            when the container is disposed of.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugIn.ExecutionPoints">
+            <summary>
+            This read-only property returns an enumerable list of execution points that define when the plug-in
+            should be invoked during the build process.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.IPlugIn.Initialize(SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to initialize the plug-in at the start of the build process
+            </summary>
+            <param name="buildProcess">A reference to the current build process</param>
+            <param name="configuration">The configuration data that the plug-in should use to initialize itself</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.IPlugIn.Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext)">
+            <summary>
+            This method is used to execute the plug-in during the build process
+            </summary>
+            <param name="context">The current execution context</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditor">
+            <summary>
+            This class defines the interface used to edit a plug-in configuration
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditor.EditConfiguration(SandcastleBuilder.Utils.SandcastleProject,System.Xml.Linq.XElement)">
+            <summary>
+            This method is used to edit a plug-in configuration
+            </summary>
+            <param name="project">A reference to the active project</param>
+            <param name="configuration">An XML element containing the current configuration settings</param>
+            <returns>True if the configuration element was updated, false if not</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditorMetadata">
+            <summary>
+            This class defines the metadata for a plug-in configuration editor
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInConfigurationEditorMetadata.Id">
+            <summary>
+            This read-only property returns the ID of the configurable plug-in
+            </summary>
+            <value>This must match the ID of the plug-in for which this will provide a configuration editor</value>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata">
+            <summary>
+            This class defines the metadata for a Sandcastle Help File Builder build process plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Id">
+            <summary>
+            This read-only property returns the ID for the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.IsHidden">
+            <summary>
+            This read-only property returns true if the plug-in is hidden in the project plug-in property page
+            </summary>
+            <value>If this returns true, the plug-in is hidden in the project plug-in property page and cannot
+            be added to the project.  If false, the default, it can be added to projects.  This is useful for
+            presentation style dependency plug-ins that have no configurable elements and thus do not need to be
+            manually added to the project to override settings.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.RunsInPartialBuild">
+            <summary>
+            This read-only property returns true if the plug-in should run in a partial build or false if it
+            should not.
+            </summary>
+            <value>If this returns false, the plug-in will not be loaded when a partial build is performed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Description">
+            <summary>
+            This read-only property returns a brief description of the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Version">
+            <summary>
+            This read-only property returns the version of the plug-in
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.IPlugInMetadata.Copyright">
+            <summary>
+            This read-only property returns the copyright information for the plug-in
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration">
+            <summary>
+            This class is used to contain a plug-in's configuration and enabled state
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration.Enabled">
+            <summary>
+            This is used to get or set the plug-in's enabled state
+            </summary>
+            <value>If set to false, the plug-in will not be used in the build</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration.Configuration">
+            <summary>
+            This is used to get or set the plug-in's configuration information
+            </summary>
+            <value>This should be an XML fragment.  The root node should be named <c>configuration</c></value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration.#ctor(System.Boolean,System.String)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="enabled">The enabled state</param>
+            <param name="configuration">The configuration</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary">
+            <summary>
+            This dictionary class is used to hold the configurations for third party build process plug-ins such as
+            the Additional Content Only plug-in.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary.FromXml(System.String)">
+            <summary>
+            This is used to load existing plug-in configuration items from the project file
+            </summary>
+            <param name="plugIns">The plug-in items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary.ToXml">
+            <summary>
+            This is used to write the plug-in configuration info to an XML fragment ready for storing in the
+            project file.
+            </summary>
+            <returns>The XML fragment containing the plug-in configuration info.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationDictionary.Add(System.String,System.Boolean,System.String)">
+            <summary>
+            Add a new item to the dictionary
+            </summary>
+            <param name="id">The plug-in ID</param>
+            <param name="enabled">True for enabled, false for disabled</param>
+            <param name="config">The plug-in configuration</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfiguration" /> added to the project.  If the ID already exists in
+            the collection, the existing item is returned.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationEditorExportAttribute">
+            <summary>
+            This is a custom version of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> that contains metadata for the help file
+            builder plug-in configuration editors.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationEditorExportAttribute.Id">
+            <summary>
+            This read-only property is used to get the component ID
+            </summary>
+            <value>This must match the ID of the component or plug-in for which this will provide a configuration
+            editor.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.PlugInConfigurationEditorExportAttribute.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The required component ID</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials">
+            <summary>
+            This class is used to specify credentials for a proxy server.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.UseProxyServer">
+            <summary>
+            This is used to set or get the flag indicating whether or not to use the proxy server
+            </summary>
+            <value>By default, this is false and <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.ProxyServer"/> and <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.Credentials"/> will be
+            ignored.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.ProxyServer">
+            <summary>
+            Get or set the proxy server name
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.UseProxyServer"/> is false, this will be ignored</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.Credentials">
+            <summary>
+            Get the user credentials
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.UseProxyServer"/> is false, this will be ignored</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are two overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.#ctor(System.Boolean,System.Uri,SandcastleBuilder.Utils.BuildComponent.UserCredentials)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="useProxy">True to use default the proxy server, false to not use it</param>
+            <param name="server">The server name to use</param>
+            <param name="proxyUser">The user credentials to use for the proxy server</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            Create a proxy credentials instance from an XML element
+            </summary>
+            <param name="configuration">The XML element from which to obtain the settings</param>
+            <returns>A <see cref="T:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials"/> object containing the settings from the XPath navigator</returns>
+            <remarks>It should contain an element called <b>proxyCredentials</b> with two attributes
+            (<c>useProxy</c> and <c>proxyServer</c>) and a nested <c>userCredentials</c> element.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.ProxyCredentials.ToXml">
+            <summary>
+            Converts the proxy credentials to an XML element
+            </summary>
+            <returns>The proxy credentials settings in an XML element</returns>
+            <remarks>The credentials are stored in an element called <c>proxyCredentials</c> with two attributes
+            (<c>useProxy</c> and <c>proxyServer</c>) and a nested <c>userCredentials</c> element.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildComponent.UserCredentials">
+            <summary>
+            This class is used to specify user credentials.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UseDefaultCredentials">
+            <summary>
+            This is used to set or get the flag indicating whether or not to use default credentials
+            </summary>
+            <value>By default, this is true and <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UserName"/> and <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.Password"/> will be ignored</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UserName">
+            <summary>
+            Get or set the user name
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UseDefaultCredentials"/> is true, this will be ignored</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.Password">
+            <summary>
+            Get or set the password
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.BuildComponent.UserCredentials.UseDefaultCredentials"/> is true, this will be ignored</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <overloads>There are three overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.#ctor(System.Boolean,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="useDefault">True to use default credentials, false to use the supplied user name and
+            password.</param>
+            <param name="userName">The user name to use.</param>
+            <param name="password">The password to use.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.FromXml(System.Xml.Linq.XElement)">
+            <summary>
+            Create a user credentials instance from an XML element
+            </summary>
+            <param name="configuration">The XML element from which to obtain the settings</param>
+            <returns>A <see cref="T:SandcastleBuilder.Utils.BuildComponent.UserCredentials"/> object containing the settings from the XPath navigator</returns>
+            <remarks>It should contain an element called <c>userCredentials</c> with three attributes:
+            <c>useDefault</c>, <c>userName</c>, and <c>password</c>.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildComponent.UserCredentials.ToXml">
+            <summary>
+            Converts the user credentials to an XML element
+            </summary>
+            <returns>The user credentials settings in an XML element</returns>
+            <remarks>The credentials are stored in an element called <c>userCredentials</c> with three
+            attributes: <c>useDefault</c>, <c>userName</c>, and <c>password</c>.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.BuildProcess">
+            <summary>
+            This class is used to handle all aspects of the build process in a separate thread
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateApiFilter">
+            <summary>
+            This is used to generate the API filter collection used by MRefBuilder to exclude items from the
+            reflection information file.
+            </summary>
+            <remarks>Namespaces and members with an <c>&lt;exclude /&gt;</c> tag in their comments are removed
+            using the ripping feature as it is more efficient than searching for and removing them from the
+            reflection file after it has been generated especially on large projects.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeComponentConfigurations">
+            <summary>
+            This is used to merge the component configurations from the project with the
+            <strong>sandcastle.config</strong> file.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeConfigurations(System.Xml.XmlDocument,System.Boolean)">
+            <summary>
+            This handles merging the build component configurations into the given configuration file
+            </summary>
+            <param name="config">The configuration file into which the configurations are merged</param>
+            <param name="isConceptualConfig">True for a conceptual configuration file, false for a reference
+            configuration file.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeComponent(System.String,Sandcastle.Core.BuildAssembler.BuildComponent.BuildComponentFactory,System.Xml.XmlNode,System.Xml.XmlNode,System.Boolean,System.Collections.Generic.Stack{System.String})">
+            <summary>
+            This handles merging of the custom component configurations into the configuration file including
+            dependencies.
+            </summary>
+            <param name="id">The ID of the component to merge</param>
+            <param name="factory">The build component factory</param>
+            <param name="rootNode">The root container node</param>
+            <param name="configNode">The configuration node to merge</param>
+            <param name="isConceptualConfig">True if this is a conceptual content configuration file or false if
+            it is a reference build configuration file.</param>
+            <param name="mergeStack">A stack used to check for circular build component dependencies.  Pass null
+            on the first non-recursive call.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateApiTopicManifest">
+            <summary>
+            This is used to generate the API topic manifest
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ProgressReportProvider">
+            <summary>
+            This is used to get or set the progress report provider
+            </summary>
+            <remarks>If not set, no progress will be reported by the build</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CancellationToken">
+            <summary>
+            This is used to get or set the cancellation token for the build if running as a task
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CurrentBuildStep">
+            <summary>
+            This read-only property is used to get the current build step
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.BuildStart">
+            <summary>
+            This read-only property returns the build start time
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.TemplateFolder">
+            <summary>
+            This returns the location of the help file builder template folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ProjectFolder">
+            <summary>
+            This returns the project folder name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ProjectFilename">
+            <summary>
+            This returns the project filename without the folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.OutputFolder">
+            <summary>
+            This returns the output folder where the log file and help file can be found after the build process
+            has finished.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.WorkingFolder">
+            <summary>
+            This returns the name of the working files folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Help1CompilerFolder">
+            <summary>
+            This returns the name of the HTML Help 1 compiler folder determined by the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FrameworkReflectionDataFolder">
+            <summary>
+            This returns the name of the folder that contains the reflection data for the selected framework
+            platform and version (.NETFramework 4.5, .NETCore 4.5, Silverlight 5.0, etc.).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Language">
+            <summary>
+            This read-only property returns the language used for resource items, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LanguageFolder">
+            <summary>
+            This read-only property returns the resource item file language folder name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PresentationStyle">
+            <summary>
+            This returns the presentation instance being used by the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PresentationStyleFolder">
+            <summary>
+            This returns the name of the main Sandcastle presentation style folder determined by the build
+            process.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PresentationStyleResourceItemsFolder">
+            <summary>
+            This returns the name of the presentation style resource items folder determined by the build
+            process.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.HelpFormatOutputFolders">
+            <summary>
+            This read-only property returns a collection of the output folders specific to each help file format
+            produced by the build.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LogFilename">
+            <summary>
+            This returns the name of the log file used for saving the build progress messages
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReflectionInfoFilename">
+            <summary>
+            This returns the name of the reflection information file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReflectionDataSetDictionary">
+            <summary>
+            This read-only property returns the framework reflection data dictionary used by the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FrameworkReflectionData">
+            <summary>
+            This read-only property returns the framework reflection data settings used by the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CurrentProject">
+            <summary>
+            This returns the current project being used for the build
+            </summary>
+            <remarks>Although there is nothing stopping it, project options should not be modified during a
+            build.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CurrentFormat">
+            <summary>
+            This returns the current help file format being generated
+            </summary>
+            <remarks>The <strong>GenerateHelpProject</strong>, and <strong>CompilingHelpFile</strong>
+            steps will run once for each help file format selected.  This property allows a plug-in to determine
+            which files it may need to work with during those steps or to skip processing if it is not relevant.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.PartialBuildType">
+            <summary>
+            This read-only property is used to get the partial build type
+            </summary>
+            <remarks>Partial builds occur when editing the namespace summaries, editing the API filter, and as
+            part of some plug-ins that do not require all build options.  In a partial build, build steps after
+            the point indicated by this property are not executed and the build stops.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ConceptualContent">
+            <summary>
+            This is used to get the conceptual content settings in effect for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Help1Files">
+            <summary>
+            This returns a list of the HTML Help 1 (CHM) files that were built
+            </summary>
+            <remarks>If the HTML Help 1 format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.HelpViewerFiles">
+            <summary>
+            This returns a list of the MS Help Viewer (MSHC) files that were built
+            </summary>
+            <remarks>If the MS Help Viewer format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.WebsiteFiles">
+            <summary>
+            This returns a list of the website files that were built
+            </summary>
+            <remarks>If the website format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.OpenXmlFiles">
+            <summary>
+            This returns a list of the Open XML files that were built
+            </summary>
+            <remarks>If the Open XML format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MarkdownFiles">
+            <summary>
+            This returns a list of the Markdown files that were built
+            </summary>
+            <remarks>If the Markdown format was not built, this returns an empty collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.TaskRunner">
+            <summary>
+            This returns the task runner instance
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.SubstitutionTags">
+            <summary>
+            This returns the substitution tag replacement handler instance
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.SuppressApiFilter">
+            <summary>
+            This controls whether or not the API filter is suppressed
+            </summary>
+            <value>By default, it is not suppressed and the API filter will be applied.  The API Filter designer
+            uses this to suppress the filter so that all members are obtained.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ApiTocParentId">
+            <summary>
+            This is used to get or set the table of contents parent for the API content
+            </summary>
+            <remarks>If not set, <see cref="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.RootContentContainerId" /> is used if it is set.  If it is not,
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId" /> is used.  If this property is set, the value should be
+            the ID of a topic in the project's conceptual content.  The topic must appear in a content layout
+            file and must have its <c>Visible</c> property set to True in the layout file.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ApiTocOrder">
+            <summary>
+            This is used to get or set the sort order for API content so that it appears within its parent in the
+            correct position.
+            </summary>
+            <remarks>The default is -1 to let the build engine determine the best value to use based on the other
+            project properties.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.RootContentContainerId">
+            <summary>
+            This is used to get or set the topic ID to use for the root content container node
+            </summary>
+            <remarks>If not set, all content will appear at the root level in the
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId" />.  If set, the value should be the ID of a topic in the
+            project's conceptual content.  The topic must appear in a content layout file and must have its
+            <c>Visible</c> property set to False in the layout file.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.DefaultTopicFile">
+            <summary>
+            This returns the filename of the default topic as determined by the build engine
+            </summary>
+            <remarks>The path is relative to the root of the output folder (i.e. html/DefaultTopic.htm)</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ResolvedHelpTitle">
+            <summary>
+            This returns the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HelpTitle"/> project property value with all
+            substitution tags it contains, if any, resolved to actual values.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ResolvedHtmlHelpName">
+            <summary>
+            This returns the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HtmlHelpName"/> project property value with all
+            substitution tags it contains, if any, resolved to actual values.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReferencedNamespaces">
+            <summary>
+            This read-only property returns a hash set used to contain a list of namespaces referenced by the
+            project reflection data files, project XML comments files, and base framework XML comments files.
+            </summary>
+            <value>These namespaces are used to limit what the Resolve Reference Links component has to index</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ComponentContainer">
+            <summary>
+            This read-only property returns the MEF component container
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.SyntaxGenerators">
+            <summary>
+            This read-only property returns the syntax generator metadata
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.#ctor(SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProject">The project to build</param>
+            <overloads>There are two overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.#ctor(SandcastleBuilder.Utils.SandcastleProject,SandcastleBuilder.Utils.BuildEngine.PartialBuildType)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProject">The project to build</param>
+            <param name="partialBuildType">The partial build type to perform</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.Build">
+            <summary>
+            Call this method to perform the build on the project.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportProgress(System.String,System.Object[])">
+            <summary>
+            This is used to report progress during the build process within the current step
+            </summary>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+            <overloads>This method has two overloads.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportError(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.String,System.String,System.Object[])">
+            <summary>
+            This is used to report an error that will abort the build
+            </summary>
+            <param name="step">The current build step</param>
+            <param name="errorCode">The error code</param>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+            <remarks>This just reports the error.  The caller must abort the build</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportWarning(System.String,System.String,System.Object[])">
+            <summary>
+            This is used to report a warning that may need attention
+            </summary>
+            <param name="warningCode">The warning code</param>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ReportProgress(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.String,System.Object[])">
+            <summary>
+            This is used to report progress during the build process and possibly update the current step
+            </summary>
+            <param name="step">The current build step</param>
+            <param name="message">The message to report</param>
+            <param name="args">A list of arguments to format into the message text</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.VerifySafePath(System.String,System.String,System.String)">
+            <summary>
+            Make sure the path isn't one the user would regret having nuked without warning
+            </summary>
+            <param name="propertyName">The name of the path property</param>
+            <param name="propertyValue">It's current value</param>
+            <param name="projectPath">The path to the current project</param>
+            <remarks>Since most people don't read the help file and also ignore the warning in the property grid
+            description pane, we'll take some steps to idiot-proof the dangerous path properties.  I'm starting
+            to lose count of the number of people that point WorkingPath at the root of their C:\ drive and
+            wonder why all their files disappear.
+            
+            <p/>Paths checked for include root references to hard drives and network shares, most common
+            well-known folders, and the project's root folder.</remarks>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if the path is one of the ones that probably should
+            not be used.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GatherBuildOutputFilenames">
+            <summary>
+            This is used to gather a list of files produced by the build
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FindTools">
+            <summary>
+            Find the Sandcastle tools and the HTML help compiler
+            </summary>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if any of the tools cannot be found</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FindOnFixedDrives(System.String)">
+            <summary>
+            Find a folder by searching the Program Files folders on all fixed drives.
+            </summary>
+            <param name="path">The path for which to search</param>
+            <returns>The path if found or an empty string if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.FindSdkExecutable(System.String)">
+            <summary>
+            This is used to find the named executable in one of the Visual Studio SDK installation folders.
+            </summary>
+            <param name="exeName">The name of the executable to find</param>
+            <returns>The path if found or an empty string if not found</returns>
+            <remarks>The search looks in all "*Visual*SDK*" folders under the Program Files special folder on all
+            fixed drives.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ValidateDocumentationSources">
+            <summary>
+            Validate the documentation source information and copy the files to the working folder
+            </summary>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if any of the information is invalid</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.DetermineApiContentPlacement">
+            <summary>
+            This is used to determine the best placement for the API content based on the project settings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.MergeConceptualAndAdditionalContentTocInfo">
+            <summary>
+            This is used to merge the conceptual content table of contents with any additional content table of
+            contents information.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CopySiteMapFiles(SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            This is used to copy site map files to the help format output folders including those for any child
+            site map entries.
+            </summary>
+            <param name="site">The site entry containing the files to copy</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CombineIntermediateTocFiles">
+            <summary>
+            This combines the conceptual and API intermediate TOC files into one file ready for transformation to
+            the help format-specific TOC file formats and, if necessary, determines the default topic.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CopyAdditionalContent">
+            <summary>
+            This is called to copy the additional content files to the help format content folders
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CopyStandardHelpContent">
+            <summary>
+            This is called to copy the standard content files (icons, scripts, style sheets, and other standard
+            presentation style content) to the help output folders.
+            </summary>
+            <remarks>This creates the base folder <strong>Output\</strong> and one folder for each help file
+            format.  It then copies the stock icon, script, and style sheet files from the defined presentation
+            style help content folders.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.RecursiveCopy(System.String,System.String,System.Int32@)">
+            <summary>
+            This copies files from the specified source folder to the specified destination folder.  If any
+            subfolders are found below the source folder and the wildcard is "*.*", the subfolders are also
+            copied recursively.
+            </summary>
+            <param name="sourcePath">The source path from which to copy</param>
+            <param name="destPath">The destination path to which to copy</param>
+            <param name="fileCount">A reference to the file count variable</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.AddApiTopicFilenames">
+            <summary>
+            This is used to add filenames to the API members in the reflection data file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateWebsite">
+            <summary>
+            This is used to generate the website helper files and copy the output to the project output folder
+            ready for use as a website.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.EnsureOutputFoldersExist(System.String)">
+            <summary>
+            This is used to ensure that all output folders exist based on the selected help file format(s)
+            </summary>
+            <param name="subFolder">The subfolder name or null to ensure that the base folders exist.</param>
+            <remarks>This creates the named folder under the help format specific folder beneath the
+            <strong>.\Output</strong> folder.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.CommentsFiles">
+            <summary>
+            This read-only property returns the XML comments files collection
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GenerateNamespaceSummaries">
+            <summary>
+            This is called to generate the namespace summary file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.AddNamespaceComments(System.Xml.XmlNode,System.String)">
+            <summary>
+            Add project or namespace comments
+            </summary>
+            <param name="member">The member node to modify.</param>
+            <param name="summaryText">The summary text to add.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GetReferencedNamespaces(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces from the given reflection data file
+            </summary>
+            <param name="reflectionInfoFile">The reflection data file to search for namespaces</param>
+            <param name="validNamespaces">An enumerable list of valid namespaces</param>
+            <returns>An enumerable list of unique namespaces</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.AddNamespaceGroupEntries">
+            <summary>
+            This processes the namespaces in the reflection information file and adds the group entries
+            </summary>
+            <returns>True on success, false on failure</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.GroupNamespaces(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
+            <summary>
+            This is used to group the namespaces based on their common root
+            </summary>
+            <param name="namespaces">An enumerable list of namespaces to group.</param>
+            <param name="hasRootNamespaceContainer">True if the project has a root namespace container, false
+            if not.  This controls whether or not the root group is retained.</param>
+            <returns>An enumerable list of the grouped namespaces</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LoadedPlugIns">
+            <summary>
+            This returns a <see cref="T:System.Collections.Generic.Dictionary`2"/> containing the currently loaded plug-ins
+            </summary>
+            <value>The key is the plug in ID.  The value is a reference to an <see cref="T:SandcastleBuilder.Utils.BuildComponent.IPlugIn"/> interface
+            for the plug-in.</value>
+            <remarks>This allows you to access other plug-ins to facilitate sharing of information between them</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.LoadPlugIns">
+            <summary>
+            Load and initialize the plug-ins used by this project
+            </summary>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if a requested plug-in is not found</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ExecutePlugIns(SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            Execute all plug-ins that need to execute in the given build step that have the given execution
+            behavior.
+            </summary>
+            <param name="behavior">The execution behavior</param>
+            <returns>True if at least one plug-in was executed or false if no plug-ins were executed.</returns>
+            <remarks>Plug-ins will execute based on their execution priority.  Those with a higher priority value
+            will execute before those with a lower value.  Plug-ins with identical priority values may execute
+            in any order within their group.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ExecuteBeforeStepPlugIns">
+            <summary>
+            This can be used by plug-ins using the <see cref="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.InsteadOf" /> execution behavior
+            to execute plug-ins that want to run before the plug-in executes its main processing.
+            </summary>
+            <remarks>This will only run once per step.  Any subsequent calls by other plug-ins will be ignored.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProcess.ExecuteAfterStepPlugIns">
+            <summary>
+            This can be used by plug-ins using the <see cref="F:SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors.InsteadOf" /> execution behavior
+            to execute plug-ins that want to run after the plug-in has executed its main processing.
+            </summary>
+            <remarks>This will only run once per step.  Any subsequent calls by other plug-ins will be ignored.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs">
+            <summary>
+            This is a custom event arguments class use to report build progress
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.BuildStep">
+            <summary>
+            This read-only property is used to get the current build step of the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.StepChanged">
+            <summary>
+            This read-only property is used to get whether or not the build step has changed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.HasCompleted">
+            <summary>
+            This read-only property is used to get whether or not the build has completed
+            </summary>
+            <remarks>The build may have succeeded, failed, or been canceled.  See <see cref="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.BuildStep"/> for the
+            final disposition.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.Message">
+            <summary>
+            This read-only property is used to get the message associated with the progress report
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.BuildProgressEventArgs.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildStep,System.Boolean,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildStep">The current build step</param>
+            <param name="stepChanged">True if the build step has changed, false if not</param>
+            <param name="message">The message to report</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.BuildStep">
+            <summary>
+            This public enumerated type defines the build steps used when reporting progress during a build.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.None">
+            <summary>The build has not yet started.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Initializing">
+            <summary>Initializing to prepare for build.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ClearWorkFolder">
+            <summary>The working folder is about to be created or cleared.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ValidatingDocumentationSources">
+            <summary>The documentation source information is being validated and copied to the build folder.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateSharedContent">
+            <summary>The shared content files are being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateApiFilter">
+            <summary>Generate the API filter for MRefBuilder</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateReflectionInfo">
+            <summary>The reflection information is being generated by <strong>MRefBuilder</strong>.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ApplyDocumentModel">
+            <summary>The reflection information is being transformed by applying the presentation style's
+            document model to it.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.AddNamespaceGroups">
+            <summary>Add namespace group entries to the reflection information file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.AddApiTopicFilenames">
+            <summary>Add topic filenames to API members in the reflection information file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateApiTopicManifest">
+            <summary>Generate the API topic manifest file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateNamespaceSummaries">
+            <summary>Namespace summary information is being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateInheritedDocumentation">
+            <summary>All <c>&lt;inheritDoc /&gt;</c> tags are being expanded.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyConceptualContent">
+            <summary>The conceptual content files are being copied to the working and output folders.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CreateConceptualTopicConfigs">
+            <summary>The conceptual content topic configuration files are being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyAdditionalContent">
+            <summary>The additional content files are being copied to the help output folder.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.MergeTablesOfContents">
+            <summary>The conceptual and additional content tables of contents are being merged.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateIntermediateTableOfContents">
+            <summary>The intermediate table of contents is being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CreateBuildAssemblerConfigs">
+            <summary>The <strong>sandcastle.config</strong> <strong>BuildAssembler</strong> configuration file is
+            being created.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.MergeCustomConfigs">
+            <summary>Custom build component configurations are being merged into the <strong>sandcastle.config</strong>
+            file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.BuildTopics">
+            <summary>Conceptual and/or API reference help file topics are being generated by
+            <strong>BuildAssembler</strong>.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CombiningIntermediateTocFiles">
+            <summary>The intermediate table of content files are being merged into a single file.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.ExtractingHtmlInfo">
+            <summary>Title and keyword index information is being extracted for the HTML Help 1 TOC and index
+            and/or website TOC.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyStandardHelpContent">
+            <summary>The standard help file content (art, scripts, styles, and other standard presentation style
+            content) is being copied to the help output folder.</summary>
+            <remarks>This must occur after <c>ExtracingHtmlInfo</c> as the replacement tags in the web content
+            may rely on the table of contents and index files generated in that step.</remarks>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateHelpProject">
+            <summary>The help project file is being generated.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CompilingHelpFile">
+            <summary>The help file project is being compiled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.GenerateFullTextIndex">
+            <summary>Generate full-text index for ASP.NET website search.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CopyingWebsiteFiles">
+            <summary>The website files are being copied to the output path.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.CleanIntermediates">
+            <summary>The temporary help project files are being removed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Completed">
+            <summary>The build has completed successfully.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Canceled">
+            <summary>The build was canceled by user request.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.BuildStep.Failed">
+            <summary>The build failed with an unexpected error.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation">
+            <summary>
+            This is used to represent a framework XML comments file location
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.Folder">
+            <summary>The folder location</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.Wildcard">
+            <summary>The wildcard to use</summary>
+            <value>If not specified, "*.xml" is assumed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.CacheFilename">
+            <summary>Cache filename for the cached build components</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.CanHaveLocalizedVersion">
+            <summary>
+            Specify true if the XML comments can have localized versions in
+            a language sub-folder.
+            </summary>
+            <value>The default is false to not check for language-specific
+            versions of the XML comments files.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.FrameworkCommentsFileLocation.Recurse">
+            <summary>
+            Specify true to recurse this folder for additional comments files
+            or false to only look in the given folder.
+            </summary>
+            <value>The default is false to no recurse sub-folders</value>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.FullTextIndex">
+            <summary>
+            This is a really basic implementation of an algorithm used to create a full-text index of the website
+            pages so that they can be searched using the ASP.NET web pages.
+            </summary>
+            <remarks>So that an assembly does not have to be deployed to deserialize the index information, the
+            index information is represented using built-in data types (string and long).
+            </remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.FullTextIndex.#ctor(System.String,System.Globalization.CultureInfo)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="exclusions">The file containing common word exclusions.  The file should contain one
+            work per line in lowercase.  These words will not appear in the index.</param>
+            <param name="language">The culture information</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.FullTextIndex.CreateFullTextIndex(System.String)">
+            <summary>
+            Create a full-text index from web pages found in the specified file path
+            </summary>
+            <param name="filePath">The path containing the files to index</param>
+            <remarks>Words in the exclusion list, those that are less than three characters long, and anything
+            starting with a digit will not appear in the index.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.FullTextIndex.SaveIndex(System.String)">
+            <summary>
+            Save the index information to the specified location.
+            </summary>
+            <param name="indexPath">The path to which the index files are
+            saved.</param>
+            <remarks>JSON serialization is used to save the index data.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.NamespaceGroup">
+            <summary>
+            This is used to keep track of the namespace groups and their children
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.NamespaceGroup.Namespace">
+            <summary>
+            This is used to get or set the namespace name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.NamespaceGroup.Children">
+            <summary>
+            This read-only property returns a list of the child namespaces if this is a group
+            </summary>
+            <remarks>If empty, this is a normal namespace entry</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.PartialBuildType">
+            <summary>
+            This public enumerated type defines the partial build types
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.PartialBuildType.None">
+            <summary>The build will run to completion</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.PartialBuildType.GenerateReflectionInfo">
+            <summary>The build will stop after generating reflection information</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildEngine.PartialBuildType.TransformReflectionInfo">
+            <summary>The build will stop after applying the document model, namespace grouping option if
+            applicable, and adding filenames to each topic.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement">
+            <summary>
+            This class handles substitution tag replacement in build template files
+            </summary>
+            <remarks><para>Replacement tags appear in the form of a tag name prefixed with an '@' and enclosed in
+            curly braces (<c>{@PropertyName}</c>).  An optional format specifier is also allowed if needed such
+            as for date formatting (<c>{@BuildDate:MMMM d, yyyy}</c>).</para>
+            
+            <para>Methods in this class tagged with the <see cref="T:SandcastleBuilder.Utils.Design.SubstitutionTagAttribute"/> attribute represent
+            substitution tags that require additional handling.  For simple types that require no special handling
+            and those that require only minor changes, the value returned by
+            <see cref="M:SandcastleBuilder.Utils.SandcastleProject.ReplacementValueFor(System.String)"/> is used and there is no corresponding method in this
+            class.</para></remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="currentBuild">The current build for which to perform substitution tag replacement</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TransformText(System.String,System.Object[])">
+            <summary>
+            Transform the specified template text by replacing the substitution tags with the corresponding
+            project property values.
+            </summary>
+            <param name="templateText">The template text to transform</param>
+            <param name="args">An optional list of arguments to format into the  template before transforming it</param>
+            <returns>The transformed text</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TransformTemplate(System.String,System.String,System.String)">
+            <summary>
+            Transform the specified template file by inserting the necessary values into the substitution tags
+            and saving it to the destination folder.
+            </summary>
+            <param name="templateFile">The template file to transform</param>
+            <param name="sourceFolder">The folder where the template is located</param>
+            <param name="destFolder">The folder in which to save the transformed file</param>
+            <returns>The path to the transformed file</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.OnFieldMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            Replace a substitution tag with a value from the project
+            </summary>
+            <param name="match">The match that was found</param>
+            <returns>The string to use as the replacement</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.AppDataFolder">
+            <summary>
+            The application data folder
+            </summary>
+            <returns>The application data folder.  This folder should exist if used.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.LocalDataFolder">
+            <summary>
+            The local data folder
+            </summary>
+            <returns>The local data folder.  This folder may not exist and we may need to create it.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SHFBRoot">
+            <summary>
+            The root Sandcastle Help File Builder folder
+            </summary>
+            <returns>The root Sandcastle Help File Builder folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CoreComponentsFolder">
+            <summary>
+            The core components folder (those components distributed with the help file builder)
+            </summary>
+            <returns>The core components folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ThirdPartyComponentsFolder">
+            <summary>
+            The third-party components folder
+            </summary>
+            <returns>The third-party components folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ProjectFolder">
+            <summary>
+            The current build's help file builder project folder
+            </summary>
+            <returns>The current build's help file builder project folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncProjectFolder">
+            <summary>
+            The current build's HTML encoded help file builder project folder
+            </summary>
+            <returns>The current build's HTML encoded help file builder project folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.OutputFolder">
+            <summary>
+            The current build's output folder
+            </summary>
+            <returns>The current build's output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncOutputFolder">
+            <summary>
+            The current build's HTML encoded output folder
+            </summary>
+            <returns>The current build's HTML encoded output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WorkingFolder">
+            <summary>
+            The current build's working folder
+            </summary>
+            <returns>The current build's working folder including the trailing directory separator</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncWorkingFolder">
+            <summary>
+            The current build's HTML encoded working folder
+            </summary>
+            <returns>The current build's HTML encoded working folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SourceCodeBasePath">
+            <summary>
+            The current project's source code base path
+            </summary>
+            <returns>The current project's source code base path</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WarnOnMissingSourceContext">
+            <summary>
+            The missing source context warning setting
+            </summary>
+            <returns>The current project's missing source context warning setting</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HHCPath">
+            <summary>
+            The HTML Help 1 compiler path
+            </summary>
+            <returns>The HTML Help 1 compiler path</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ResourceItemsFolder">
+            <summary>
+            The resource items folder
+            </summary>
+            <returns>The resource items folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Help1Folder">
+            <summary>
+            The HTML Help 1 output folder
+            </summary>
+            <returns>The HTML Help 1 output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WebsiteFolder">
+            <summary>
+            The website output folder
+            </summary>
+            <returns>The website output folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ComponentLocations">
+            <summary>
+            The MEF component locations
+            </summary>
+            <returns>The MEF component locations</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HelpFormatOutputPaths">
+            <summary>
+            The help format output paths
+            </summary>
+            <returns>The help format output paths</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SandcastlePath">
+            <summary>
+            The old Sandcastle Tools path (obsolete)
+            </summary>
+            <returns>This is obsolete but will still appear in the older component and plug-in configurations.
+            Throw an exception that describes what to do to fix it.  Eventually, this can be removed.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.PresentationPath">
+            <summary>
+            The presentation style folder
+            </summary>
+            <returns>The presentation style folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CodeSnippetGrouping">
+            <summary>
+            The code snippet grouping option
+            </summary>
+            <returns>The intermediate TOC XSL transformation parameters</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TransformComponentArguments">
+            <summary>
+            The Transform Component argument list
+            </summary>
+            <returns>The Transform Component argument list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HRefFormat">
+            <summary>
+            The HREF format for reference links
+            </summary>
+            <returns>The HREF format for reference links</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TargetFrameworkIdentifier">
+            <summary>
+            The target framework identifier (platform)
+            </summary>
+            <returns>The target framework identifier</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkVersion">
+            <summary>
+            The full framework version (Major.Minor[.Build[.Revision]]
+            </summary>
+            <returns>The full framework version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkVersionShort">
+            <summary>
+            The short framework version (Major.Minor[.Build])
+            </summary>
+            <returns>Typically returns a two digit version number.  However, if the build number is between 1 and
+            10, it will be included as well (i.e. v4.5.2, v4.6.1).</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ReflectionDataSetPlatform">
+            <summary>
+            The reflection data set platform
+            </summary>
+            <returns>The reflection data set platform type</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ReflectionDataSetVersion">
+            <summary>
+            The reflection data set platform version
+            </summary>
+            <returns>The reflection data set platform version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkReflectionDataFolder">
+            <summary>
+            The framework reflection data folder
+            </summary>
+            <returns>The framework reflection data folder</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BuildAssemblerVerbosity">
+            <summary>
+            Build assembler verbosity
+            </summary>
+            <returns>The build assembler verbosity</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SaveComponentCacheCapacity">
+            <summary>
+            Build assembler Save Component writer task cache capacity
+            </summary>
+            <returns>The cache capacity for the Save Component's writer task</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncHelpName">
+            <summary>
+            The HTML encoded help name
+            </summary>
+            <returns>The HTML encoded help name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ScriptHelpTitle">
+            <summary>
+            The script help title
+            </summary>
+            <returns>This is used when the title is passed as a parameter to a JavaScript function.  Single
+            quotes in the value are escaped and the value is HTML encoded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.UrlEncHelpTitle">
+            <summary>
+            The URL encoded help title
+            </summary>
+            <returns>Only &amp;, &lt;, &gt;, ", and space are replaced for now</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.RootNamespaceTitle">
+            <summary>
+            The root namespace title element
+            </summary>
+            <returns>If not set, it returns the localized title element include as the value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.LangId">
+            <summary>
+            The language ID
+            </summary>
+            <returns>The language ID</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Language">
+            <summary>
+            The language locale ID and native name
+            </summary>
+            <returns>The language locale ID and native name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Locale">
+            <summary>
+            The locale in lowercase
+            </summary>
+            <returns>The locale ID in lowercase</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.LocaleMixedCase">
+            <summary>
+            The locale in mixed case
+            </summary>
+            <returns>The locale ID in mixed case</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Copyright">
+            <summary>
+            The copyright include item if wanted
+            </summary>
+            <returns>The include copyright info if there is a copyright HREF or copyright text</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CopyrightInfo">
+            <summary>
+            The copyright information
+            </summary>
+            <returns>The copyright information based on whether the HREF and/or text is specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncCopyrightInfo">
+            <summary>
+            The HTML encoded copyright info
+            </summary>
+            <returns>The HTML encoded copyright info based on whether the HREF and/or text is specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncCopyrightHref">
+            <summary>
+            The HTML encoded copyright link
+            </summary>
+            <returns>The HTML encoded copyright link if specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CopyrightText">
+            <summary>
+            The copyright text
+            </summary>
+            <returns>The copyright text if specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncCopyrightText">
+            <summary>
+            The HTML encoded copyright text
+            </summary>
+            <returns>The HTML encoded copyright text if specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Comments">
+            <summary>
+            The "Send comments" include item
+            </summary>
+            <returns>Include the "send comments" line if feedback e-mail address is specified</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.UrlEncFeedbackEMailAddress">
+            <summary>
+            The URL encoded feedback e-mail address
+            </summary>
+            <returns>The URL encoded feedback e-mail address</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncFeedbackEMailAddress">
+            <summary>
+            The HTML encoded feedback e-mail address
+            </summary>
+            <returns>The HTML encoded feedback e-mail address.  If link text is specified, it will be used instead.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Preliminary">
+            <summary>
+            The "preliminary" warning in the header text
+            </summary>
+            <returns>Include the "preliminary" warning in the header text if wanted</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SdkLinkTarget">
+            <summary>
+            The SDK link target
+            </summary>
+            <returns>The SDK link target converted to lowercase and prefixed with an underscore</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SyntaxFilters">
+            <summary>
+            The syntax filter generator settings
+            </summary>
+            <returns>The syntax filter generator settings</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SyntaxFiltersDropDown">
+            <summary>
+            The syntax filter language settings for the Transform Component
+            </summary>
+            <returns>The syntax filter language settings for the Transform Component.  It is not technically a
+            dropdown anymore but I can't be bothered to go change it everywhere.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BinaryTOC">
+            <summary>
+            The binary TOC option
+            </summary>
+            <returns>The binary TOC option as a "Yes" or "No" value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WindowOptions">
+            <summary>
+            The help window options
+            </summary>
+            <returns>Currently, we use a default set of options and only allow showing or hiding the Favorites tab</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HelpViewerSetupName">
+            <summary>
+            The help viewer setup name
+            </summary>
+            <returns>Help viewer setup names cannot contain periods so we'll replace them with underscores.  The
+            value is also HTML encoded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CatalogName">
+            <summary>
+            The catalog name
+            </summary>
+            <returns>The catalog name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.VendorName">
+            <summary>
+            The vendor name
+            </summary>
+            <returns>The vendor name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncVendorName">
+            <summary>
+            The HTML encoded vendor name
+            </summary>
+            <returns>The HTML encoded vendor name</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ProductTitle">
+            <summary>
+            The product title
+            </summary>
+            <returns>The product title</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlEncProductTitle">
+            <summary>
+            The HTML encoded product title
+            </summary>
+            <returns>The HTML encoded product title</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TopicVersion">
+            <summary>
+            The topic version
+            </summary>
+            <returns>The topic version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TocParentId">
+            <summary>
+            The table of contents parent ID
+            </summary>
+            <returns>The table of contents parent ID</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ApiTocParentId">
+            <summary>
+            The API table of contents parent ID
+            </summary>
+            <returns>The API table of contents parent ID.  If null, empty, or it starts with '*', it is parented
+            to the root node</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TocParentVersion">
+            <summary>
+            The table of contents parent version
+            </summary>
+            <returns>The table of contents parent version</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.SearchResultsDisplayVersion">
+            <summary>
+            The search results display version
+            </summary>
+            <returns>The display version to show in the help viewer search results pane</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HtmlTOC">
+            <summary>
+            The HTML table of contents for websites
+            </summary>
+            <returns>The HTML table of contents for websites</returns>
+            <remarks>If the legacy web content is ever removed, this handler and its related method,
+            <see cref="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.AppendTocEntry(System.Xml.XPath.XPathNodeIterator,System.Text.StringBuilder)"/>, can be removed</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WebsiteAdContent">
+            <summary>
+            The website ad content that should appear in on each page
+            </summary>
+            <returns>The website ad content</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.MarkdownApiUrlFormat">
+            <summary>
+            The markdown API URL format
+            </summary>
+            <returns>The markdown API URL format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.MarkdownConceptualUrlSelector">
+            <summary>
+            The markdown conceptual URL selector
+            </summary>
+            <returns>The markdown API URL selector</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ApiFilter">
+            <summary>
+            The API filter settings
+            </summary>
+            <returns>The API filter settings.  In a partial build used to get API info for the API filter
+            designer, the filter is suppressed and will not be used.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkCommentList">
+            <summary>
+            Framework comments file list (data elements)
+            </summary>
+            <returns>The framework comments file list in <c>data</c> elements</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ImportFrameworkCommentList">
+            <summary>
+            Framework comments file list (import elements)
+            </summary>
+            <returns>The framework comments file list in <c>import</c> elements</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CommentFileList">
+            <summary>
+            XML comments file list
+            </summary>
+            <returns>The XML comments file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.InheritedCommentFileList">
+            <summary>
+            XML comments file list for inherited documentation generation
+            </summary>
+            <returns>The XML comments file list for inherited documentation generation</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.Help1xProjectFiles">
+            <summary>
+            Help 1 project file list
+            </summary>
+            <returns>The help 1 project file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.CodeSnippetsFiles">
+            <summary>
+            Code snippets file list
+            </summary>
+            <returns>The code snippets file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ReferenceLinkNamespaceFiles">
+            <summary>
+            Reference link namespace file list
+            </summary>
+            <returns>The reference link namespace file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.ResourceItemFiles">
+            <summary>
+            Resource items file list
+            </summary>
+            <returns>The resource items file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.TokenFiles">
+            <summary>
+            Token file list
+            </summary>
+            <returns>The token file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.XamlConfigFiles">
+            <summary>
+            XAML configuration file list
+            </summary>
+            <returns>The XAML configuration file list</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BuildDate">
+            <summary>
+            The build date
+            </summary>
+            <returns>The build date.  An optional format can be applied to the result.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.BuildDateUtc">
+            <summary>
+            The build date in Universal Coordinated Time (UTC)
+            </summary>
+            <returns>The build date in Universal Coordinated Time (UTC).  An optional format can be applied to
+            the result.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.DefaultTopic">
+            <summary>
+            The default topic ID
+            </summary>
+            <returns>The default topic ID</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.WebDefaultTopic">
+            <summary>
+            The default topic ID for websites
+            </summary>
+            <returns>The default topic ID with backslashes converted to forward slashes</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.UniqueId">
+            <summary>
+            Unique ID
+            </summary>
+            <returns>A unique ID for the project and current user</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.FrameworkCommentList(System.Boolean)">
+            <summary>
+            This is used to generate an appropriate list of entries that represent .NET Framework comments file
+            locations for the various configuration files.
+            </summary>
+            <param name="forImport">True if for import, false if not.  If true, it returns a list of the files
+            as <c>import</c> elements.  If false, it returns them in <c>data</c> elements.</param>
+            <returns>The list of framework comments file sources in the appropriate format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.HelpProjectFileList(System.String,Sandcastle.Core.HelpFileFormats)">
+            <summary>
+            This returns a complete list of files for inclusion in the compiled help file
+            </summary>
+            <param name="folder">The folder to expand</param>
+            <param name="format">The help file format</param>
+            <returns>The full list of all files for the help project</returns>
+            <remarks>The help file list is expanded to ensure that we get all additional content including all
+            nested subfolders.  The <paramref name="format"/> parameter determines the format of the returned
+            file list.  For HTML Help 1, it returns a list of the filenames.  For all others, it returns the list
+            formatted with the necessary XML markup.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.SubstitutionTagReplacement.AppendTocEntry(System.Xml.XPath.XPathNodeIterator,System.Text.StringBuilder)">
+            <summary>
+            This is called to recursively append the child nodes to the HTML table of contents in the specified
+            string builder.
+            </summary>
+            <param name="entries">The list over which to iterate recursively</param>
+            <param name="tableOfContents">The string builder to which the entries are appended</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.TaskRunner">
+            <summary>
+            This class is used to execute external tasks such as MSBuild
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.TaskRunner.MSBuildExePath">
+            <summary>
+            This read-only property returns the path to MSBuild
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.TaskRunner.IsDotNetCoreBuild">
+            <summary>
+            This read-only property returns true if this is a .NET core build (dotnet.exe rather than MSBuild.exe)
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="currentBuild">The current build for which to execute tasks</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.RunProject(System.String,System.Boolean)">
+            <summary>
+            Run the specified MSBuild project using MSBuild.exe or dotnet.exe
+            </summary>
+            <param name="projectFile">The project file to run</param>
+            <param name="minimalOutput">True for minimal output, false for normal output</param>
+            <remarks>A standard set of command line options will be used (<c>/nologo /clp:NoSummary</c>) along
+            with the given verbosity level.  The 64-bit version of MSBuild will be used if available on 64-bit
+            systems.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.Run32BitProject(System.String,System.Boolean)">
+            <summary>
+            Run the specified MSBuild project using the 32-bit version of MSBuild
+            </summary>
+            <param name="projectFile">The project file to run</param>
+            <param name="minimalOutput">True for minimal output, false for normal output</param>
+            <remarks>A standard set of command line options will be used (<c>/nologo /clp:NoSummary</c>) along
+            with the given verbosity level.  Silverlight build targets are only available for 32-bit builds
+            regardless of the framework version and require the 32-bit version of MSBuild in order to load the
+            targets files correctly.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.Run(System.String,System.String,System.String)">
+            <summary>
+            This is used to run a step in the build process
+            </summary>
+            <param name="processFilename">The process to execute.</param>
+            <param name="targetFile">An optional target file that the process will operate on such as an MSBuild
+            project file.</param>
+            <param name="arguments">An optional set of arguments to pass to the process</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.TerminateProcessAndChildren(System.Diagnostics.Process)">
+            <summary>
+            Terminate the current process and any known child processes if they're still alive
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.TaskRunner.ReadOutputStream(System.IO.StreamReader)">
+            <summary>
+            This is used to capture output from the given process stream
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile">
+            <summary>
+            This represents an XML comment file and is used when searching for and adding missing documentation tag
+            information.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.SourcePath">
+            <summary>
+            This read-only property is used to get the source path of the file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Encoding">
+            <summary>
+            This read-only property is used to get the encoding, typically UTF-8
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.IsValid">
+            <summary>
+            This read-only property indicates whether or not the comments file contains valid, well-formed XML
+            </summary>
+            <returns>True if it does, false if not.  Invalid XML comments files will not be used as a source
+            for comments during the build.  <see cref="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.InvalidReason"/> returns the cause of the problem.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.InvalidReason">
+            <summary>
+            If <see cref="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.IsValid"/> returns false, this returns the reason that the XML comments file is invalid
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Comments">
+            <summary>
+            This is used to load the comments file on first use
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Members">
+            <summary>
+            This read-only property is used to get the root members node
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="filename">The XML comments filename</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the filename is null or an empty string</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.comments_NodeChanged(System.Object,System.Xml.XmlNodeChangedEventArgs)">
+            <summary>
+            Mark the file as modified if a node is changed
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.LoadXmlComments">
+            <summary>
+            This is used to load the XML comments file and ensure it is valid
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.Save">
+            <summary>
+            Save the comments file if it was modified
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFile.ForceReload">
+            <summary>
+            This can be used to force a reload of the comments file if changes were made to it outside of this
+            instance.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection">
+            <summary>
+            This collection class is used to hold the XML comments files during the build process
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.ContainsInheritedDocumentation">
+            <summary>
+            This read-only property returns true if any of the comments files contain an <c>inheritdoc</c>,
+            <c>AttachedPropertyComments</c>, or <c>AttachedEventComments</c> tag indicating that the Inherited
+            Documentation tool will need to be ran.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.Save">
+            <summary>
+            Save the comments files
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.FindMember(System.String)">
+            <summary>
+            Search all comments files for the specified member.  If not found, add the blank member to the first
+            file.
+            </summary>
+            <param name="memberName">The member name for which to search.</param>
+            <returns>The XML node of the found or added member</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.ReplaceNamespaceDocEntries">
+            <summary>
+            This will search for all type member comments where the ID contains <c>NamespaceDoc</c> or
+            <c>NamespaceGroupDoc</c> and convert them to namespace and namespace group entries for the containing
+            namespace.
+            </summary>
+            <remarks>The converted ID effectively converts the comments into comments for the class's containing
+            namespace.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.CommentFileList(System.String,System.Boolean)">
+            <summary>
+            Returns a list of the comment file paths in a format suitable for inserting into a Sandcastle
+            Configuration file.
+            </summary>
+            <param name="workingFolder">The working folder path</param>
+            <param name="forInheritedDocs">True if generating the list for the inherited documentation tool or
+            false for sandcastle.config.</param>
+            <returns>The comment file list XML tags</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuildEngine.XmlCommentsFileCollection.GetReferencedNamespaces(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces referenced in the XML comments files
+            </summary>
+            <param name="validNamespaces">An enumerable list of valid namespaces</param>
+            <returns>An enumerable list of unique namespaces referenced in the XML comments files</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuilderException">
+            <summary>
+            This exception class is thrown by the application if it encounters an unrecoverable error
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.BuilderException.ErrorCode">
+            <summary>
+            Get the error code associated with the exception
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+            <overloads>There are six overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String,System.Exception)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String,System.String)">
+            <summary>
+            This constructor takes an error code and a message string
+            </summary>
+            <param name="code">The error code.  The suggested format is one to four letters to identify the
+            component or process followed by four digits, zero padded to the left, with no spaces.</param>
+            <param name="message">The exception message</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.String,System.String,System.Exception)">
+            <summary>
+            This constructor takes an error code, a message string, and an inner exception
+            </summary>
+            <param name="code">The error code.  The suggested format is one to four letters to identify the
+            component or process followed by four digits, zero padded to the left, with no spaces.</param>
+            <param name="message">The exception message</param>
+            <param name="innerException">The inner exception</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Deserialization constructor for use with <see cref="T:System.Runtime.Serialization.ISerializable"/>
+            </summary>
+            <param name="info">The serialization info object</param>
+            <param name="context">The streaming context object</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.BuilderException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            This implements the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface and adds the error code to the
+            serialization information.
+            </summary>
+            <param name="info">The serialization info object</param>
+            <param name="context">The streaming context</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.BuildItemMetadata">
+            <summary>
+            This class holds a set of constants that define build item metadata names
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.BuildAction">
+            <summary>Build action</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.IncludePath">
+            <summary>Include item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.HintPath">
+            <summary>File reference hint path</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.LinkPath">
+            <summary>Linked item path</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ProjectGuid">
+            <summary>Project GUID item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.Name">
+            <summary>Project name item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ReferenceOutputAssembly">
+            <summary>Reference output assembly item</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.Configuration">
+            <summary>Configuration setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.Platform">
+            <summary>Platform setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.OutDir">
+            <summary>Output directory setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ProjectName">
+            <summary>Project name setting</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.ImageId">
+            <summary>Image ID</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.AlternateText">
+            <summary>Alternate text</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.CopyToMedia">
+            <summary>Copy to media folder</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.BuildItemMetadata.SortOrder">
+            <summary>Sort order</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode">
+            <summary>
+            This public enumerated type defines the API parent mode for a conceptual
+            topic.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.None">
+            <summary>Not a parent to the API content</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.InsertBefore">
+            <summary>Insert the API content before this element</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.InsertAfter">
+            <summary>Insert the API content after this element</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ConceptualContent.ApiParentMode.InsertAsChild">
+            <summary>Insert the API content as a child of this element</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference">
+            <summary>
+            This represents a conceptual content CodeEntityReference that can be used to insert a common item, value,
+            or construct into topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.Id">
+            <summary>
+            This is used to get or set the CodeEntityReference name
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The reference ID</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.ToCodeEntityReference">
+            <summary>
+            Convert the entity to its <c>&lt;codeEntityReference&gt;</c> element form
+            </summary>
+            <returns>The entity in its <c>&lt;codeEntityReference&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeEntityReference.ToSee">
+            <summary>
+            Convert the entity to its <c>&lt;see&gt;</c> element form
+            </summary>
+            <returns>The token in its <c>&lt;see&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.CodeReference">
+            <summary>
+            This represents a conceptual content CodeReference that can be used to insert a common item, value, or
+            construct into topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.CodeReference.Id">
+            <summary>
+            This is used to get or set the CodeReference name
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeReference.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="id">The reference ID</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.CodeReference.ToCodeReference">
+            <summary>
+            Convert the token to its <c>&lt;codeReference&gt;</c> element form
+            </summary>
+            <returns>The token in its <c>&lt;codeReference&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings">
+            <summary>
+            This class is used to hold the conceptual content settings for a project during a build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.ImageFiles">
+            <summary>
+            This is used to get the conceptual content image files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CodeSnippetFiles">
+            <summary>
+            This is used to get the conceptual content code snippet files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.TokenFiles">
+            <summary>
+            This is used to get the conceptual content token files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.ContentLayoutFiles">
+            <summary>
+            This is used to get the conceptual content layout files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.Topics">
+            <summary>
+            This is used to get a collection of the conceptual content topics
+            </summary>
+            <remarks>Each item in the collection represents one content layout file from the project</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.#ctor(SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The project from which to load the settings</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CopyContentFiles(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to copy the additional content token, image, and topic files to the build folder
+            </summary>
+            <param name="builder">The build process</param>
+            <remarks>This will copy the code snippet file if specified, save token information to a shared
+            content file called <strong>_Tokens_.xml</strong> in the build process's working folder, copy the
+            image files to the <strong>.\media</strong> folder in the build process's working folder, save the
+            media map to a file called <strong>_MediaContent_.xml</strong> in the build process's working folder,
+            and save the topic files to the <strong>.\ddueXml</strong> folder in the build process's working
+            folder.  The topic files will have their content wrapped in a <c>&lt;topic&gt;</c> tag if needed and
+            will be named using their <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id" /> value.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.SaveImageSharedContent(System.String,System.String,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Write the image reference collection to a map file ready for use by <strong>BuildAssembler</strong>
+            </summary>
+            <param name="filename">The file to which the image reference collection is saved</param>
+            <param name="imagePath">The path to which the image files should be copied</param>
+            <param name="builder">The build process</param>
+            <remarks>Images with their <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.CopyToMedia" /> property set to true are copied
+            to the media folder immediately.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CreateConfigurationFiles(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to create the conceptual content build configuration files
+            </summary>
+            <param name="builder">The build process</param>
+            <remarks>This will create the companion files used to resolve conceptual links and the
+            <strong>_ContentMetadata_.xml</strong> configuration file.  It will also merge the conceptual topics
+            into the BuildAssembler manifest file.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CreateCompanionFiles(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to create the companion files used to resolve conceptual links
+            </summary>
+            <param name="builder">The build process</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.CreateContentMetadata(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Create the content metadata file
+            </summary>
+            <param name="builder">The build process</param>
+            <remarks>The content metadata file contains metadata information for each topic such as its title,
+            table of contents title, help attributes, and index keywords.  Help attributes are a combination
+            of the project-level help attributes and any parsed from the topic file.  Any replacement tags in
+            the token values will be replaced with the appropriate project values.
+            
+            <p/>A true MAML version of this file contains several extra attributes.  Since Sandcastle doesn't use
+            them, I'm not going to waste time adding them.  The only stuff written is what is required by
+            Sandcastle.  In addition, I'm putting the <c>title</c> and <c>PBM_FileVersion</c> item elements in
+            here rather than use the separate companion files.  They all end up in the metadata section of the
+            topic being built so this saves having two extra components in the configuration that do the same
+            thing with different files.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ConceptualContentSettings.MergeConceptualManifest(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Merge the conceptual topic IDs into the BuildAssembler manifest file.
+            </summary>
+            <param name="builder">The build process</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ContentFile">
+            <summary>
+            This represents a content file such as a token file, code snippet file, image, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.BasePathProvider">
+            <summary>
+            This read-only property is used to get the base path provider
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.Filename">
+            <summary>
+            This read-only property is used to get the content filename without the path
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.FullPath">
+            <summary>
+            This is used to get or set the full path to the content file
+            </summary>
+            <remarks>This returns the path to the file's true location.  For linked items, this path will differ
+            from the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.LinkPath"/> which returns the project-relative location.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.PersistablePath">
+            <summary>
+            This read-only property is used to get the persistable path to the content item (the path relative
+            to the project folder)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.LinkPath">
+            <summary>
+            This is used to get or set the link path to the content file (the project-relative location)
+            </summary>
+            <remarks>For linked items, this will be the location of the file within the project.  For files
+            outside the project folder, this will not match the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.FullPath"/> property value.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.SortOrder">
+            <summary>
+            This is used to get or set the sort order for site map and content layout files
+            </summary>
+            <value>For other file types, this will always return zero</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ContentFile.ContentFileProvider">
+            <summary>
+            This is used to get or set a provider that can be used to obtain content files from a project or some
+            other source.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ContentFile.#ctor(SandcastleBuilder.Utils.FilePath)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="filePath">The full path to the content file</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.IContentFileProvider">
+            <summary>
+            This interface is implemented to provide content files from a help file builder project or some other
+            source.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.IContentFileProvider.ContentFiles(SandcastleBuilder.Utils.BuildAction)">
+            <summary>
+            This returns an enumerable list of content files of the given type contained in the project or
+            some other source.
+            </summary>
+            <param name="buildAction">The build action of the items to retrieve</param>
+            <returns>An enumerable list of content files of the given type if any are found in the project or
+            some other source.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ImageReference">
+            <summary>
+            This represents a conceptual content image that can be used to insert a reference to an image in a topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.Filename">
+            <summary>
+            This read-only property is used to get the image filename without the path
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.FullPath">
+            <summary>
+            This is used to get or set the full path to the image file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.Id">
+            <summary>
+            This is used to get or set the unique ID of the image
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.CopyToMedia">
+            <summary>
+            This is used to get or set whether or not to copy the image to the
+            <strong>.\Output\[HelpFormat]\media</strong> folder if it is not referenced in a media link.
+            </summary>
+            <value>The default is false and the image will not be copied unless it is referenced in a media link.
+            If set to true, the image will be copied even if it is not referenced.  This is useful for forcing
+            the copying of images referenced in external links which are not handled by the art reference build
+            component.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.AlternateText">
+            <summary>
+            This is used to get or set the optional alternate text for the image
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.DisplayTitle">
+            <summary>
+            This read-only property is used to get a title for display (i.e. in the designer)
+            </summary>
+            <value>If there is <see cref="P:SandcastleBuilder.Utils.ConceptualContent.ImageReference.AlternateText" /> specified, it is returned along with the filename
+            and the image ID in parentheses.  If not, the filename is returned along with the image ID in
+            parentheses.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="fullPath">The full path to the image file</param>
+            <param name="id">The ID of the image</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToMediaLink">
+            <summary>
+            Convert the image reference to a <c>&lt;mediaLink&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;mediaLink&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToMediaLinkInline">
+            <summary>
+            Convert the image reference to a <c>&lt;mediaLinkInline&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;mediaLinkInline&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToExternalLink">
+            <summary>
+            Convert the image reference to an <c>&lt;externalLink&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;externalLink&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ImageReference.ToImageLink">
+            <summary>
+            Convert the image reference to an <c>&lt;img&gt;</c> element
+            </summary>
+            <returns>The image in its <c>&lt;img&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ITableOfContents">
+            <summary>
+            This interface is used to interact with project files that can generate table of contents entries
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ITableOfContents.ContentLayoutFile">
+            <summary>
+            This is used to get the content layout file metadata
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ITableOfContents.GenerateTableOfContents(SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection,System.Boolean)">
+            <summary>
+            Generate the table of contents for the conceptual topics
+            </summary>
+            <param name="toc">The table of contents collection</param>
+            <param name="includeInvisibleItems">True to include items marked invisible (useful for previewing)
+            or false to exclude them.</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.ResourceItem">
+            <summary>
+            This represents a Sandcastle transformation resource item that can be used to insert a common item,
+            value, or construct into generated topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.SourceFile">
+            <summary>
+            This is used to get or set the name of the file containing the resource item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.Id">
+            <summary>
+            This read-only property is used to get the item ID
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.Value">
+            <summary>
+            This is used to get or set the item value
+            </summary>
+            <value>The value can contain help file builder replacement tags.  These will be replaced at build
+            time with the appropriate project value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.IsSelected">
+            <summary>
+            This is used to get or set whether or not the entity is selected
+            </summary>
+            <remarks>Used by the editor for binding in the list box</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.IsOverridden">
+            <summary>
+            This is used to get or set whether or not the item has been edited and thus overrides a default item
+            with the same ID.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.#ctor(System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="file">The file containing the resource item</param>
+            <param name="id">The item ID</param>
+            <param name="value">The item value</param>
+            <param name="isOverride">True if this is an override, false if not</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.ResourceItem.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TocEntry">
+            <summary>
+            This represents a table of contents entry.  This is used to build the table of contents entries for
+            content layout and site map files.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Parent">
+            <summary>
+            This is used to track the topic's parent collection
+            </summary>
+            <remarks>This is used by the site map editor to move items around within the collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.BasePathProvider">
+            <summary>
+            This returns the <see cref="T:SandcastleBuilder.Utils.IBasePathProvider" /> for the entry.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Children">
+            <summary>
+            This returns the child table of contents collection for this entry
+            </summary>
+            <value>If empty, this is a single item in the table of contents.  If it has children, they are listed
+            below this one.  A file may or may not be associated with this entry if it is a root node.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SourceFile">
+            <summary>
+            This is used to get or set the entry's source file path.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.DestinationFile">
+            <summary>
+            This is used to get or set the entry's destination file path.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Id">
+            <summary>
+            The ID of the item when it represents a TOC entry from a content layout file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.PreviewerTitle">
+            <summary>
+            The display title for the topic previewer
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.LinkText">
+            <summary>
+            The link text for the topic previewer
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Title">
+            <summary>
+            This is used to get or set the entry's title in the table of contents
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.IsDefaultTopic">
+            <summary>
+            This is used to get or set whether or not the item is the default topic for the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SortOrder">
+            <summary>
+            This is used to get or set the sort order for the entry within its group
+            </summary>
+            <value>Entries with identical sort order values will sort by title as well.  Items with no specific
+            sort order will sort below those with a defined sort order.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ApiParentMode">
+            <summary>
+            This is used to specify how API content is parented to this topic or the topic's parent
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.IsSelected">
+            <summary>
+            This is used to get or set whether or not the entity is selected
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.IsExpanded">
+            <summary>
+            This is used to get or set whether or not the entity is expanded
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToolTip">
+            <summary>
+            This returns a description of the topic that can be used as a tool tip
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.UniqueId">
+            <summary>
+            This is used to get or set a unique ID to work around a legacy additional content support issue
+            </summary>
+            <value>The site map editor assigns each topic its own unique ID to work around object equality issues
+            caused by legacy support for file system based additional content.</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.CompareTo(SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Compares this instance to another instance and returns an indication of their relative values
+            </summary>
+            <param name="other">A TocEntry object to compare</param>
+            <returns>Returns -1 if this instance is less than the value, 0 if they are equal, or 1 if this
+            instance is greater than the value or the value is null.</returns>
+            <remarks>The <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SortOrder"/> property is compared first.  If equal, the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Title"/>
+            property is used.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Clone">
+            <summary>
+            Clone this table of contents entry
+            </summary>
+            <returns>A clone of this table of contents entry</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="basePathProvider">The base path provider</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.TocEntry.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.TocEntry.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ResetSortOrder">
+            <summary>
+            Reset the sort order on this item and its children
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.childList_ListChanged(System.Object,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            Mark the project as dirty if the contained lists change
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+            <remarks>This may not be the best way to handle this.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_Equality(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for equal operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if equal, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_Inequality(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for not equal operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if not equal, false if they are equal.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_LessThan(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for less than operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if t1 is less than t2, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.op_GreaterThan(SandcastleBuilder.Utils.ConceptualContent.TocEntry,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            Overload for greater than operator
+            </summary>
+            <param name="t1">The first TOC entry object</param>
+            <param name="t2">The second TOC entry object</param>
+            <returns>True if t1 is greater than t2, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.GetHashCode">
+            <summary>
+            Get a hash code for this item
+            </summary>
+            <returns>Returns the hash code for the <see cref="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToString" />
+            value.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToString">
+            <summary>
+            Convert the table of contents entry and its children to a string
+            </summary>
+            <returns>The entries in HTML 1.x help format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ConvertToString(System.Text.StringBuilder)">
+            <summary>
+            This is used to convert the entry to a string and append it to the specified string builder
+            </summary>
+            <param name="sb">The string builder to which the entry is appended</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ToAnchor(System.String)">
+            <summary>
+            Convert the entry to its <c>&lt;a&gt;</c> element form
+            </summary>
+            <param name="innerText">Optional inner text</param>
+            <returns>The topic in its <c>&lt;a&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.LoadSiteMapNode(System.Xml.XmlNode)">
+            <summary>
+            This will load information about the entry from the node and will also load all child nodes
+            </summary>
+            <param name="site">The site map node to use for this entry</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.SaveAsSiteMapNode(System.Xml.XmlNode)">
+            <summary>
+            Save this node and its children to the specified root node as site map nodes
+            </summary>
+            <param name="root">The root node to which the current entry is added</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntry.ContainsMatch(System.String)">
+            <summary>
+            See if this entry or one of its children is a match to the specified source filename
+            </summary>
+            <param name="sourceFilename">The source filename to match</param>
+            <returns>The match TOC entry or null if not found</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection">
+            <summary>
+            This collection class is used to hold the table of contents entries for content layout and site map files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.DefaultTopic">
+            <summary>
+            This is used to get the default topic
+            </summary>
+            <value>It returns the default topic or null if one is not set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ApiContentInsertionPoint">
+            <summary>
+            This is used to get the topic at which the API table of contents is to be inserted or parented
+            </summary>
+            <value>This will return null if no parent location has been set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ApiContentParent">
+            <summary>
+            This is used to get the parent item that will contain the API table of contents
+            </summary>
+            <returns>The parent item or null if it is the root collection.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ApiContentParentCollection">
+            <summary>
+            This is used to get the parent collection that contains the item where the API table of contents is
+            to be inserted.
+            </summary>
+            <returns>The parent collection if there is a location defined or null if there isn't one</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Item(System.String)">
+            <summary>
+            This can be used to get a topic by its unique ID (case-insensitive)
+            </summary>
+            <param name="id">The ID of the item to get.</param>
+            <value>Returns the topic with the specified <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TocEntry.Id" /> or null if not found</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.#ctor(SandcastleBuilder.Utils.ConceptualContent.ContentFile)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="siteMapFile">The site map file associated with the collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Sort">
+            <summary>
+            This is used to sort the collection
+            </summary>
+            <remarks>All top level items and their children are sorted</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.All">
+            <summary>
+            This is used to enumerate all topics recursively
+            </summary>
+            <returns>An enumerable list of all topics and sub-topics</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Find(System.Predicate{SandcastleBuilder.Utils.ConceptualContent.TocEntry},System.Boolean)">
+            <summary>
+            This is used to find all topics and sub-topics that match the specified predicate recursively
+            </summary>
+            <param name="match">The match predicate</param>
+            <param name="expandParentIfFound">True to expand the parent if a child node matches or false to leave
+            it as is.  Expanding the node ensures it is visible in the bound tree view.</param>
+            <returns>An enumerable list of all matches</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ToString">
+            <summary>
+            Convert the table of contents entry and its children to a string
+            </summary>
+            <returns>The entries in string format</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ConvertToString(System.Text.StringBuilder)">
+            <summary>
+            This is used to convert the collection to a string and append it to the specified string builder
+            </summary>
+            <param name="sb">The string builder to which the collection is appended</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.SaveToIntermediateTocFile(System.String,System.Int32,System.String)">
+            <summary>
+            This is used to save the TOC information to an intermediate TOC file used in the conceptual content
+            build.
+            </summary>
+            <param name="rootContainerId">The ID of the root container topic if used</param>
+            <param name="rootOrder">The TOC order for the root container topic if used</param>
+            <param name="filename">The filename to use</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.FindDefaultTopic">
+            <summary>
+            This is used to locate the default topic if one exists
+            </summary>
+            <returns>The default topic if found or null if not found</returns>
+            <remarks>The first entry found is returned.  Nodes are searched recursively.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Load">
+            <summary>
+            This is used to load the table of contents entries from the site map file associated with the
+            collection.
+            </summary>
+            <exception cref="T:System.InvalidOperationException">This is thrown if a site map has not been associated with
+            the collection.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Save">
+            <summary>
+            This is used to save the table of contents entries to the site map file associated with the
+            collection.
+            </summary>
+            <exception cref="T:System.InvalidOperationException">This is thrown if a site map has not been associated with
+            the collection.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.Find(System.String)">
+            <summary>
+            Find a TOC entry with the same source filename
+            </summary>
+            <param name="sourceFilename">The source filename to match</param>
+            <returns>The match TOC entry or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ResetSortOrder">
+            <summary>
+            Reset the sort order on all items in the collection
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ChildListChanged(SandcastleBuilder.Utils.ConceptualContent.TocEntry,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            This is used by contained items to notify the parent that a child list changed and thus the
+            collection should be marked as dirty.
+            </summary>
+            <param name="t">The item that changed</param>
+            <param name="e">The list change event arguments from the child collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.AddTopicsFromFolder(System.String,System.String,SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Add all topics from the specified folder recursively to the collection and to the given project file
+            </summary>
+            <param name="folder">The folder from which to get the files</param>
+            <param name="basePath">The base path to remove from files copied from another folder into the project
+            folder.  On the first call, this should match the <paramref name="folder"/> value.</param>
+            <param name="project">The project to which the files are added</param>
+            <remarks>Only actual HTML and markdown content topic files are added.  They must have a ".htm?" or
+            "*.md" extension.  Folders will be added as sub-topics recursively.  If a file with the same name as
+            the folder exists, it will be associated with the container node.  If no such file exists, an empty
+            container node is created.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.InsertItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.SetItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.TocEntry)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.RemoveItem(System.Int32)">
+            <summary>
+            This is overridden to clear the parent on the removed item
+            </summary>
+            <param name="index">The index of the item to remove</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.ContentLayoutFile">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection.GenerateTableOfContents(SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection,System.Boolean)">
+            <inheritdoc />
+            <remarks>The <paramref name="includeInvisibleItems"/> parameter is ignored as site maps do not
+            support them.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.Token">
+            <summary>
+            This represents a conceptual content token that can be used to insert a common item, value, or construct
+            into topics.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Token.TokenName">
+            <summary>
+            This is used to get or set the token name
+            </summary>
+            <value>If the value is null or empty, a new GUID is assigned as the name</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Token.TokenValue">
+            <summary>
+            This is used to get or set the token value
+            </summary>
+            <value>The value can contain help file builder replacement tags.  These will be replaced at build
+            time with the appropriate project value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Token.IsSelected">
+            <summary>
+            This is used to get or set whether or not the token is selected
+            </summary>
+            <remarks>Used by the editor for binding in the list box</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <remarks>The token name defaults to a GUID</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The token name</param>
+            <param name="value">The token value</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.Token.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.Token.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Token.ToToken">
+            <summary>
+            Convert the token to its <c>&lt;token&gt;</c> element form
+            </summary>
+            <returns>The token in its <c>&lt;token&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TokenCollection">
+            <summary>
+            This collection class is used to hold the conceptual content tokens
+            for an associated token file.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="filename">The token file associated with the collection.</param>
+            <remarks>Tokens are not loaded until the <see cref="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Load" /> method
+            is called.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.TokenFilePath">
+            <summary>
+            This is used to get or set the token file path
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Sort">
+            <summary>
+            This is used to sort the collection
+            </summary>
+            <remarks>Values are sorted by token name and value.  Comparisons
+            are case-sensitive.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Find(System.Predicate{SandcastleBuilder.Utils.ConceptualContent.Token})">
+            <summary>
+            This is used to find all tokens that match the specified predicate
+            </summary>
+            <param name="match">The match predicate</param>
+            <returns>An enumerable list of all matches</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Load">
+            <summary>
+            Load the collection from the related file
+            </summary>
+            <remarks>This will be done automatically at constructor.  This can
+            be called to reload the collection if needed.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TokenCollection.Save">
+            <summary>
+            Save the token collection to its related file ready for use by
+            <b>BuildAssembler</b>.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.Topic">
+            <summary>
+            This represents a conceptual content topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Parent">
+            <summary>
+            This is used to track the topic's parent collection
+            </summary>
+            <remarks>This is used by the designer to move items around within the collection</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TopicFile">
+            <summary>
+            This is used to get or set the topic file information related to the topic
+            </summary>
+            <value>If there is no topic file, this topic serves as a container node for its sub-topics and no
+            content will be displayed for it when selected in the help file's table of contents.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.NoTopicFile">
+            <summary>
+            This read-only property returns true if there is no associated topic file by choice rather than it
+            not being found.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.ContentId">
+            <summary>
+            This is used to get the content ID from the content layout file
+            </summary>
+            <remarks>This should match an ID from a project file.  If not, it will serve as an container node
+            with no associated topic.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id">
+            <summary>
+            This is used to get the unique ID of the topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.RevisionNumber">
+            <summary>
+            This is used to get the topic's revision number
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TopicFilename">
+            <summary>
+            This is used to get the filename of the related project file (if any)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.DocumentType">
+            <summary>
+            This read-only property is used to get the document type
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title">
+            <summary>
+            This is used to get the required title that should be used for the topic
+            </summary>
+            <value>If not set, the topic filename without a path or extension is used</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TocTitle">
+            <summary>
+            This is used to get or set the topic's optional table of contents title
+            </summary>
+            <value>This can be used to provide a different topic title in the table of contents.  If not set, it
+            will be set to the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title" /> value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.LinkText">
+            <summary>
+            This is used to get or set the topic's optional link text
+            </summary>
+            <value>This can be used to provide different text that is used in links that refer to the topic.  If
+            not set, it will be set to the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title" /> value.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Visible">
+            <summary>
+            This is used to get or set whether or not the topic is visible in the table of contents
+            </summary>
+            <value>If set to false, the item will still be added to the help file but to be accessible, a link to
+            it must appear in one of the other topics.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Keywords">
+            <summary>
+            This is used to get the index keywords that will be added to the MAML topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.DisplayTitle">
+            <summary>
+            This read-only property is used to get a title for display (i.e. in the designer)
+            </summary>
+            <value>If there is a <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.TocTitle" /> specified, it is used.  If not, the <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Title" />
+            value is used.  If it does not contain a value, the filename without the path and extension is used.
+            If the file has not been specified, does not exist, the document type is not recognized, or it is
+            invalid (i.e. badly formed), it returns an appropriate message describing the problem.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Subtopics">
+            <summary>
+            This is used to get the sub-topics beneath this topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsDefaultTopic">
+            <summary>
+            This is used to when merging TOC files to determine the default topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.ApiParentMode">
+            <summary>
+            This is used to specify how API content is parented to this topic or the topic's parent
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsMSHVRootContentContainer">
+            <summary>
+            This is used to get or set whether or not the topic will server as the root content container in MS
+            Help Viewer output
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsSelected">
+            <summary>
+            This is used to get or set whether or not the entity is selected
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.IsExpanded">
+            <summary>
+            This is used to get or set whether or not the entity is expanded
+            </summary>
+            <remarks>Used by the editor for binding in the tree view.  The value is serialized when saved so that
+            its state is remembered when reloaded.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.Topic.ToolTip">
+            <summary>
+            This returns a description of the topic that can be used as a tool tip
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ConceptualContent.Topic.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ConceptualContent.Topic.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.childList_ListChanged(System.Object,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            Mark the project as dirty if the contained lists change
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+            <remarks>This may not be the best way to handle this</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.ReadXml(System.Xml.XmlReader)">
+            <summary>
+            This is used to load the topic information from the project file
+            </summary>
+            <param name="xr">The XML text reader from which the information is loaded</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteXml(System.Xml.XmlWriter)">
+            <summary>
+            This is used to save the topic information to the project file
+            </summary>
+            <param name="xw">The XML text writer to which the information is written</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteCompanionFile(System.String,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            This is used to create the companion file used by the build component that resolves conceptual links
+            </summary>
+            <param name="folder">The folder in which to place the file</param>
+            <param name="builder">The build process</param>
+            <remarks>The file will be named using the ID and a ".xml" extension</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteMetadata(System.Xml.XmlWriter,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Write out the topic metadata
+            </summary>
+            <param name="writer">The writer to which the metadata is written</param>
+            <param name="builder">The build process</param>
+            <remarks>This will recursively write out metadata for sub-topics
+            as well.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.WriteManifest(System.Xml.XmlWriter,SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Write out the <strong>BuildAssembler</strong> manifest entry
+            </summary>
+            <param name="writer">The XML writer to which the entry is written</param>
+            <param name="builder">The build process</param>
+            <remarks>This will recursively write out entries for sub-topics as well</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.ToLink(System.String)">
+            <summary>
+            Convert the topic to its <c>&lt;link&gt;</c> element form
+            </summary>
+            <param name="innerText">Optional inner text</param>
+            <returns>The topic in its <c>&lt;link&gt;</c> element form</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.Topic.ToAnchor(System.String)">
+            <summary>
+            Convert the topic to its <c>&lt;a&gt;</c> element form
+            </summary>
+            <param name="innerText">Optional inner text</param>
+            <returns>The topic in its <c>&lt;a&gt;</c> element form</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TopicCollection">
+            <summary>
+            This collection class is used to hold the conceptual content topics for a project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.DefaultTopic">
+            <summary>
+            This is used to get the default topic
+            </summary>
+            <value>It returns the default topic or null if one is not set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.ApiContentInsertionPoint">
+            <summary>
+            This is used to get the topic at which the API table of contents is to be inserted or parented
+            </summary>
+            <value>This will return null if no parent location has been set</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.MSHVRootContentContainer">
+            <summary>
+            This is used to get the topic that will serve as the root content container in MS Help Viewer output
+            </summary>
+            <value>This will return null if one is not defined</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Item(System.String)">
+            <summary>
+            This can be used to get a topic by its unique ID (case-insensitive)
+            </summary>
+            <param name="id">The ID of the item to get</param>
+            <value>Returns the topic with the specified <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id" /> or null if not found</value>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.#ctor(SandcastleBuilder.Utils.ConceptualContent.ContentFile)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="contentLayoutFile">The content layout file associated with the collection</param>
+            <remarks>Topics are not loaded until the <see cref="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Load" /> method is called.  If the <c>file</c>
+            parameter is null, this is assumed to be a child topic collection.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Sort">
+            <summary>
+            This is used to sort the collection
+            </summary>
+            <remarks>Values are sorted by display title.  Comparisons are case-sensitive.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.All">
+            <summary>
+            This is used to enumerate all topics recursively
+            </summary>
+            <returns>An enumerable list of all topics and sub-topics</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Find(System.Predicate{SandcastleBuilder.Utils.ConceptualContent.Topic},System.Boolean)">
+            <summary>
+            This is used to find all topics and sub-topics that match the specified predicate recursively
+            </summary>
+            <param name="match">The match predicate</param>
+            <param name="expandParentIfFound">True to expand the parent if a child node matches or false to leave
+            it as is.  Expanding the node ensures it is visible in the bound tree view.</param>
+            <returns>An enumerable list of all matches</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Load">
+            <summary>
+            Load the collection from the related file
+            </summary>
+            <remarks>This will be done automatically at constructor.  This can be called to reload the collection
+            if needed.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.MatchProjectFilesToTopics">
+            <summary>
+            This gets all possible content files from the project and attempts to match them to the topics in the
+            collection by ID.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.Save">
+            <summary>
+            Save the topic collection to the related content layout file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.ChildListChanged(SandcastleBuilder.Utils.ConceptualContent.Topic,System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            This is used by contained items to notify the parent that a child list changed and thus the
+            collection should be marked as dirty.
+            </summary>
+            <param name="t">The topic that changed</param>
+            <param name="e">The list change event arguments from the child collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.SetTopic(SandcastleBuilder.Utils.ConceptualContent.TopicFile)">
+            <summary>
+            Set the topic file in any entry that has a matching ID
+            </summary>
+            <param name="topicFile">The topic file</param>
+            <remarks>The IDs should be unique across all entries but, if a duplicate exists, this will help find
+            it as we'll get a more descriptive error later in the build.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.GenerateConceptualTopics(System.String,SandcastleBuilder.Utils.BuildEngine.BuildProcess,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This creates copies of the conceptual topic files in the build process's working folder
+            </summary>
+            <param name="folder">The folder in which to place the topic files</param>
+            <param name="builder">The build process</param>
+            <param name="validNamespaces">An enumerable list of valid framework namespaces</param>
+            <remarks>Each topic file will be named using its <see cref="P:SandcastleBuilder.Utils.ConceptualContent.Topic.Id" />.  If necessary, its content
+            will be wrapped in a <c>&lt;topic&gt;</c> element.  Sub-topics are written out recursively.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.AddTopicsFromFolder(System.String,System.String,SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Add all topics from the specified folder recursively to the collection and to the given project file
+            </summary>
+            <param name="folder">The folder from which to get the files</param>
+            <param name="basePath">The base path to remove from files copied from another folder into the project
+            folder.  On the first call, this should match the <paramref name="folder"/> value.</param>
+            <param name="project">The project to which the files are added</param>
+            <remarks>Only actual conceptual content topic files are added.  They must have a ".aml" extension and
+            must be one of the valid <see cref="T:SandcastleBuilder.Utils.DocumentType">document types</see>.  Folders will be added as
+            sub-topics recursively.  If a file with the same name as the folder exists, it will be associated
+            with the container node.  If no such file exists, an empty container node is created.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.InsertItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.Topic)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.SetItem(System.Int32,SandcastleBuilder.Utils.ConceptualContent.Topic)">
+            <summary>
+            This is overridden to set the inserted item's parent to this collection
+            </summary>
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.RemoveItem(System.Int32)">
+            <summary>
+            This is overridden to clear the parent on the removed item
+            </summary>
+            <param name="index">The index of the item to remove</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.ContentLayoutFile">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicCollection.GenerateTableOfContents(SandcastleBuilder.Utils.ConceptualContent.TocEntryCollection,System.Boolean)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ConceptualContent.TopicFile">
+            <summary>
+            This class represents a conceptual content topic file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.ContentFile">
+            <summary>
+            This is used to get or set the file build item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.Name">
+            <summary>
+            Get the name of the file without the path
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.FullPath">
+            <summary>
+            Get the full path to the file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.Id">
+            <summary>
+            This is used to get the unique ID of the topic
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.RevisionNumber">
+            <summary>
+            This is used to get the topic's revision number
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.DocumentType">
+            <summary>
+            This read-only property is used to get the document type
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.ErrorMessage">
+            <summary>
+            This read-only property is used to return the error message if <see cref="P:SandcastleBuilder.Utils.ConceptualContent.TopicFile.DocumentType" /> returns
+            <c>Invalid</c>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicFile.#ctor(SandcastleBuilder.Utils.ConceptualContent.ContentFile)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="contentFile">The content file from the project</param>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the content file is null</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicFile.ParseContent(System.Boolean)">
+            <summary>
+            This will parse the file content and extract the document type, unique ID, and revision number
+            </summary>
+            <param name="reparse">If false and the file has already been parsed, the method just returns.  If
+            true, the file is reparsed to refresh the information.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ConceptualContent.TopicFile.GetReferencedNamespaces(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to get an enumerable list of unique namespaces referenced in the topic
+            </summary>
+            <param name="validNamespaces">An enumerable list of valid framework namespaces</param>
+            <returns>An enumerable list of unique namespaces in the topic</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.DocumentType">
+            <summary>
+            This public enumerated type defines the conceptual document types
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.None">
+            <summary>Unknown document type or empty container node</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.NotFound">
+            <summary>File not found</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.Invalid">
+            <summary>Invalid document (i.e. bad format, parsing errors)</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperConceptualDocument">
+            <summary>Conceptual document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperErrorMessageDocument">
+            <summary>Error Message document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperGlossaryDocument">
+            <summary>Glossary document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperHowToDocument">
+            <summary>How To document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperOrientationDocument">
+            <summary>Orientation document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.CodeEntityDocument">
+            <summary>Reference List document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperReferenceWithSyntaxDocument">
+            <summary>Reference With Syntax document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperReferenceWithoutSyntaxDocument">
+            <summary>Reference Without Syntax document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSampleDocument">
+            <summary>Sample Document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewArchitectureDocument">
+            <summary>SDK Technology Overview Architecture document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewCodeDirectoryDocument">
+            <summary>SDK Technology Overview Code Directory document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewOrientationDocument">
+            <summary>SDK Technology Overview Orientation document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewScenariosDocument">
+            <summary>SDK Technology Overview Scenarios document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperSDKTechnologyOverviewTechnologySummaryDocument">
+            <summary>SDK Technology Overview Technology Summary document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperTroubleshootingDocument">
+            <summary>Troubleshooting document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperUIReferenceDocument">
+            <summary>User Interface Reference document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperWalkthroughDocument">
+            <summary>Walkthrough document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperWhitePaperDocument">
+            <summary>Whitepaper document</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.DocumentType.DeveloperXmlReference">
+            <summary>XML Reference document</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ContentPlacement">
+            <summary>
+            This public enumerated type defines the placement of the additional
+            content items in the table of contents if any are defined.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ContentPlacement.AboveNamespaces">
+            <summary>Additional content appears above the namespaces</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.ContentPlacement.BelowNamespaces">
+            <summary>Additional content appears below the namespaces</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.BuildActionEnumConverter">
+            <summary>
+            This is used to limit which values are available to properties using
+            <see cref="T:SandcastleBuilder.Utils.BuildAction" /> as their underlying type.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.BuildActionEnumConverter.#ctor">
+            <summary>
+            Constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.BuildActionEnumConverter.GetStandardValues(System.ComponentModel.ITypeDescriptorContext)">
+            <inheritdoc />
+            <remarks>Build actions that serve no purpose for selection
+            are removed.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.EscapeValueAttribute">
+            <summary>
+            This is used to mark a property that needs its value escaped when stored in an MSBuild project file
+            </summary>
+            <remarks>MSBuild requires that the following characters be escaped in property values unless they are
+            intended to be interpreted by the build engine:  % * ? @ $ ( ) ; '.  In addition, this attribute will
+            cause the values to be HTML encoded so that any HTML characters, especially tag delimiters are not
+            interpreted.  MSBuild tends to add XML namespaces to things it thinks are XML elements.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.Escape(System.String)">
+            <summary>
+            This is used to HTML encode and escape an MSBuild property value
+            </summary>
+            <param name="unescapedValue">The unescaped value</param>
+            <returns>The HTML encoded escaped value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.Unescape(System.String)">
+            <summary>
+            This is used to return an unescaped and HTML decoded MSBuild value
+            </summary>
+            <param name="escapedValue">The escaped value</param>
+            <returns>The unescaped and HTML decoded value</returns>
+            <remarks>MSBuild provides an escape method but no unescape method.  Go figure.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.OnEscapeMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            This is used to convert the match to its unescaped character
+            </summary>
+            <param name="m">The match</param>
+            <returns>The unescaped character as a string</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.EscapeValueAttribute.HexToInt(System.Char)">
+            <summary>
+            Convert a hex character to its integer value
+            </summary>
+            <param name="h">The hex character</param>
+            <returns>The integer value</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.FilePathTypeConverter">
+            <summary>
+            This type converter is used to convert a FilePath object to and from a string so that it can be edited
+            in a <c>System.Windows.Forms.PropertyGrid</c>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FilePathTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FilePathTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FilePathTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.FolderPathTypeConverter">
+            <summary>
+            This type converter is used to convert a FolderPath object to and from a string so that it can be edited
+            in a <c>System.Windows.Forms.PropertyGrid</c>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FolderPathTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FolderPathTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Design.FolderPathTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Design.SubstitutionTagAttribute">
+            <summary>
+            This attribute is used to mark substitution tag replacement methods
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.DocumentationSource">
+            <summary>
+            This represents an assembly, an XML comments file, a Visual Studio managed code project (C#, VB.NET,
+            etc.), or a Visual Studio solution containing one or more managed code projects from which information
+            is obtained to build a help file.
+            </summary>
+            <remarks>Wildcards are supported in the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> property.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.Configuration">
+            <summary>
+            This is used to get or set the project configuration to use when the source path refers to a Visual
+            Studio solution or project.
+            </summary>
+            <value>If not set, the configuration value from the owning help file project will be used.  This will
+            be ignored for assembly and XML comments file entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.Platform">
+            <summary>
+            This is used to get or set the project platform to use when the source path refers to a Visual Studio
+            solution or project.
+            </summary>
+            <value>If not set, the platform value from the owning help file project will be used.  This will be
+            ignored for assembly and XML comments file entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.TargetFramework">
+            <summary>
+            This is used to get or set the project target framework to use when the source path refers to a
+            Visual Studio solution or project.
+            </summary>
+            <value>This only applies if the project uses multi-targeting.  If not set, the first target framework
+            will be used.  This will be ignored for assembly and XML comments file entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile">
+            <summary>
+            This is used to set or get the documentation source file path
+            </summary>
+            <value>Wildcards are supported.  If used, all files matching the wildcard will be included as long as
+            their extension is one of the following: .exe, .dll, .winmd, .*proj, .sln.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders">
+            <summary>
+            This is used to get or set whether subfolders are included when searching for files if the
+            <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile" /> value contains wildcards.
+            </summary>
+            <value>If set to true and the source file value contains wildcards, subfolders will be included.  If
+            set to false, the default, or the source file value does not contain wildcards, only the top-level
+            folder is included in the search.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.SourceDescription">
+            <summary>
+            This returns a description of the entry suitable for display in a bound list control or property grid
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.#ctor(System.String,System.String,System.String,System.String,System.Boolean,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Internal constructor
+            </summary>
+            <param name="filename">The filename of the documentation source</param>
+            <param name="configuration">The configuration to use for projects</param>
+            <param name="platform">The platform to use for projects</param>
+            <param name="targetFramework">The target framework to use for projects</param>
+            <param name="includeSubfolders">True to include subfolders, false to only search the top-level folder</param>
+            <param name="basePathProvider">The base path provider</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.DocumentationSource.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.DocumentationSource.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.Equals(System.Object)">
+            <summary>
+            See if specified item equals this one
+            </summary>
+            <param name="obj">The object to compare to this one</param>
+            <returns>True if equal, false if not</returns>
+            <remarks>For documentation sources, equality is based solely on the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile" /> value.
+            The configuration and platform settings are not considered.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.GetHashCode">
+            <summary>
+            Get a hash code for this item
+            </summary>
+            <returns>Returns the hash code for the assembly path and XML comments path.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.ToString">
+            <summary>
+            Return a string representation of the item
+            </summary>
+            <returns>Returns the assembly path and XML comments path separated by a comma.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.Assemblies">
+            <summary>
+            This read-only property returns an enumerable list of assemblies based on the current settings
+            </summary>
+            <returns>An enumerable list of assemblies matching the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> path.  Sub-folders
+            are only included if <see cref="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders"/> is set to true.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.DocumentationSource.CommentsFiles">
+            <summary>
+            This read-only property returns an enumerable list of XML comments files based on the current settings
+            </summary>
+            <returns>An enumerable list of XML comments files matching the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> path.
+            Sub-folders are only included if <see cref="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders"/> is set to true.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.Projects(System.String,System.String)">
+            <summary>
+            This returns an enumerable list of MSBuild project file configurations based on the current settings
+            and the given configuration and platform.
+            </summary>
+            <param name="configurationName">The configuration to use</param>
+            <param name="platformName">The platform to use</param>
+            <returns>An enumerable list of project configurations matching the <see cref="P:SandcastleBuilder.Utils.DocumentationSource.SourceFile"/> path.
+            Sub-folders are only included if <see cref="P:SandcastleBuilder.Utils.DocumentationSource.IncludeSubFolders"/> is set to true.  Any solution files
+            (.sln) found are returned last, each followed by the projects extracted from them.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.ProjectsIn(System.String)">
+            <summary>
+            This is used to get a list of all projects in a solution file regardless of configuration and
+            platform.
+            </summary>
+            <param name="solutionFile">The solution filename from which to get the project names</param>
+            <returns>An enumerable list of the projects within the solution regardless of configuration or
+            platform build combinations in which they are enabled.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSource.ExtractProjectsFromSolution(System.String,System.String,System.String)">
+            <summary>
+            Extract all project files from the given Visual Studio solution file
+            </summary>
+            <param name="solutionFile">The Visual Studio solution from which to extract the projects.</param>
+            <param name="configuration">The configuration to use</param>
+            <param name="platform">The platform to use</param>
+            <returns>An enumerable list of project configurations that were extracted from the solution</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.DocumentationSourceCollection">
+            <summary>
+            This collection class is used to hold the documentation sources and can be used for editing them
+            </summary>
+            <remarks>A documentation source is an assembly, an XML comments file, a Visual Studio managed code
+            project (C#, VB.NET, etc.), or a Visual Studio solution containing one or more managed code projects from
+            which information is obtained to build a help file.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.#ctor(SandcastleBuilder.Utils.SandcastleProject)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="project">The project that owns the collection</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.FromXml(System.String)">
+            <summary>
+            This is used to load existing documentation sources from the project file
+            </summary>
+            <param name="docSources">The documentation source items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.ToXml">
+            <summary>
+            This is used to write the documentation source info to an XML fragment ready for storing in the
+            project file.
+            </summary>
+            <returns>The XML fragment containing the documentation sources</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.Add(System.String,System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            Add a new item to the collection
+            </summary>
+            <param name="filename">The filename to add</param>
+            <param name="config">The configuration to use for projects</param>
+            <param name="platform">The platform to use for projects</param>
+            <param name="targetFramework">The target framework to use for projects</param>
+            <param name="subFolders">True to include subfolders, false to only search the top-level folder</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.DocumentationSource" /> added to the project or the existing item if the
+            filename already exists in the collection.</returns>
+            <remarks>The <see cref="T:SandcastleBuilder.Utils.DocumentationSource" /> constructor is internal so that we control creation
+            of the items and can associate them with the project.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.DocumentationSourceCollection.SaveToProject">
+            <summary>
+            Save the documentation source collection to the associated project
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.FileItem">
+            <summary>
+            This class represents a file that is part of the project (MAML/additional content, site map, style
+            sheet, etc.).
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.BuildAction">
+            <summary>
+            This is used to set or get the build action of the item
+            </summary>
+            <value>If set to <c>Image</c>, <see cref="P:SandcastleBuilder.Utils.FileItem.ImageId"/> and <see cref="P:SandcastleBuilder.Utils.FileItem.AlternateText" /> will be set to
+            the filename if not set already.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.IncludePath">
+            <summary>
+            This is used to set or get the filename (include path)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.LinkPath">
+            <summary>
+            This is used to set or get the link path
+            </summary>
+            <value>If the item has no link path, this returns the <see cref="P:SandcastleBuilder.Utils.FileItem.IncludePath" /> path</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.FullPath">
+            <summary>
+            This is used to get the full path to the item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.Name">
+            <summary>
+            This is used to set or get the name of the item
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.ImageId">
+            <summary>
+            This is used to get or set an ID for a conceptual content image
+            </summary>
+            <remarks>This is used to indicate that an image file is part of the conceptual content.  Image items
+            without an ID are not valid and will be ignored.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.AlternateText">
+            <summary>
+            This is used to get or set alternate text for an image
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.CopyToMedia">
+            <summary>
+            This is used to get or set whether an item is copied to the output folder during a build
+            </summary>
+            <remarks>If this is set to true, the image will always be copied to the build's media folder.  If
+            false, it is only copied if referenced in a topic.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FileItem.SortOrder">
+            <summary>
+            This is used to get or set the sort order for content layout and site map files
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.includePath_PersistablePathChanging(System.Object,System.EventArgs)">
+            <summary>
+            This is used to handle changes in the <see cref="P:SandcastleBuilder.Utils.FileItem.IncludePath" /> properties such that the path gets
+            stored in the project file.
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.linkPath_PersistablePathChanging(System.Object,System.EventArgs)">
+            <summary>
+            This is used to handle changes in the <see cref="P:SandcastleBuilder.Utils.FileItem.LinkPath" /> properties such that the path gets stored
+            in the project file.
+            </summary>
+            <param name="sender">The sender of the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.#ctor(SandcastleBuilder.Utils.SandcastleProject,Microsoft.Build.Evaluation.ProjectItem)">
+            <summary>
+            This constructor is used to wrap an existing project item
+            </summary>
+            <param name="project">The project that owns the item</param>
+            <param name="existingItem">The existing project item</param>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.String,System.String)">
+            <summary>
+            This constructor is used to create a new item and add it to the project
+            </summary>
+            <param name="project">The project that will own the item</param>
+            <param name="itemType">The type of item to create</param>
+            <param name="itemPath">The path to the item</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.RefreshPaths">
+            <summary>
+            Refresh the paths due to a parent path being renamed
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.ToContentFile">
+            <summary>
+            This is used to convert the file item to a <see cref="T:SandcastleBuilder.Utils.ConceptualContent.ContentFile"/> instance
+            </summary>
+            <returns>The file item as a <see cref="T:SandcastleBuilder.Utils.ConceptualContent.ContentFile"/></returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetAttributes">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetClassName">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetComponentName">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetConverter">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetDefaultEvent">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetDefaultProperty">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetEditor(System.Type)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetEvents(System.Attribute[])">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetEvents">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetProperties(System.Attribute[])">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetProperties">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.GetPropertyOwner(System.ComponentModel.PropertyDescriptor)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FileItem.FilterProperties(System.ComponentModel.PropertyDescriptorCollection)">
+            <summary>
+            This is used to filter the properties based on the
+            <see cref="P:SandcastleBuilder.Utils.FileItem.BuildAction" />.
+            </summary>
+            <param name="pdc">The property descriptor collection to filter</param>
+            <returns>The filtered property descriptor collection</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.FilePath">
+            <summary>
+            This class is used to represent a file path.  Support is included for treating the path as fixed or
+            relative and for expanding environment variables in the path name.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.BasePathProvider">
+            <summary>
+            This is used to get the base path provider for the object.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.BasePath">
+            <summary>
+            This returns the base path for the object
+            </summary>
+            <value>If no <see cref="T:SandcastleBuilder.Utils.IBasePathProvider" /> has been specified, this returns the current directory</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.Path">
+             <summary>
+             This is used to get or set the path to use.
+             </summary>
+             <value>When set, if the path is not rooted (a relative path), <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is set to
+             false.  If rooted (an absolute path), it is not changed.  This property always returns a fully
+             qualified path but without any environment variable expansions.
+             
+             <p/>If set to a null or empty string, the file path is cleared and is considered to be undefined.</value>
+             <note type="note">MSBuild environment variable references are also supported (i.e. $(SHFBROOT),
+             $(OutputPath), etc.).</note>
+             <example>
+             <code language="cs">
+             FilePath path = new FilePath();
+            
+             // Set it to a relative path
+             path.Path = @"..\..\Test.txt";
+            
+             // Set it to an absolute path
+             path.Path = @"C:\My Documents\Info.doc";
+            
+             // Set it to a path based on an environment variable
+             path.Path = @"%HOMEDRIVE%%HOMEPATH%\Favorites\*.*";
+             </code>
+             <code language="vbnet">
+             Dim path As New FilePath()
+            
+             ' Set it to a relative path
+             path.Path = "..\..\Test.txt"
+            
+             ' Set it to an absolute path
+             path.Path = "C:\My Documents\Info.doc"
+            
+             ' Set it to a path based on an environment variable
+             path.Path = "%HOMEDRIVE%%HOMEPATH%\Favorites\*.*"
+             </code>
+             </example>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.PersistablePath">
+            <summary>
+            This is used to retrieve the file path in a format suitable for persisting to storage based on the
+            current settings.
+            </summary>
+            <remarks>If <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is true, an absolute path is always returned.  If false, the
+            path is returned in a form that is relative to the path stored in the <see cref="P:SandcastleBuilder.Utils.FilePath.BasePath"/>
+            property.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.Exists">
+            <summary>
+            This read-only property can be used to determine whether or not the file path exists
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.ExpandedPath">
+            <summary>
+            This read-only property is used to display the fully qualified path with environment variable
+            expansions in the designer.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FilePath.IsFixedPath">
+            <summary>
+            This is used to indicate whether or not the path will be treated as a relative or fixed path when
+            converted retrieved via the <see cref="P:SandcastleBuilder.Utils.FilePath.PersistablePath"/> property.
+            </summary>
+            <value>If true, the path is returned as a fixed path when retrieved.  If false, it is returned as a
+            path relative to the current value of the <see cref="P:SandcastleBuilder.Utils.FilePath.BasePath"/> property.</value>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanging">
+            <summary>
+            This event is raised when the persistable path is about to be changed
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.OnPersistablePathChanging(System.EventArgs)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanging" /> event
+            </summary>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanged">
+            <summary>
+            This event is raised when the persistable path changes
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.OnPersistablePathChanged(System.EventArgs)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.FilePath.PersistablePathChanged" /> event
+            </summary>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.op_Implicit(SandcastleBuilder.Utils.FilePath)~System.String">
+             <summary>
+             This is used to handle an implicit conversion from a <see cref="T:SandcastleBuilder.Utils.FilePath"/> object to a string
+             </summary>
+             <param name="filePath">The <see cref="T:SandcastleBuilder.Utils.FilePath"/> to convert.</param>
+             <returns>The file path as a relative or absolute path string based on its current settings</returns>
+             <example>
+             <code language="cs">
+             FilePath filePath = new FilePath(@"%APPDATA%\TestApp\App.config");
+             
+             // The FilePath object is automatically converted to a string
+             // representing the expanded, fully qualified path.
+             string pathString = filePath;
+             </code>
+             <code language="vbnet">
+             Dim filePath As New FilePath("%APPDATA%\TestApp\App.config")
+            
+             ' The FilePath object is automatically converted to a string
+             ' representing the expanded, fully qualified path.
+             Dim pathString As String = filePath
+             </code>
+             </example>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.op_Equality(SandcastleBuilder.Utils.FilePath,SandcastleBuilder.Utils.FilePath)">
+            <summary>
+            Overload for equal operator.
+            </summary>
+            <param name="firstPath">The first object to compare</param>
+            <param name="secondPath">The second object to compare</param>
+            <returns>True if equal, false if not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.op_Inequality(SandcastleBuilder.Utils.FilePath,SandcastleBuilder.Utils.FilePath)">
+            <summary>
+            Overload for not equal operator.
+            </summary>
+            <param name="firstPath">The first object to compare</param>
+            <param name="secondPath">The second object to compare</param>
+            <returns>True if not equal, false if they are.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.GetFullPath(System.String)">
+            <summary>
+            This returns the fully qualified path for the specified path.  This version allows wildcards in the
+            filename part if present.
+            </summary>
+            <param name="path">The path to expand</param>
+            <returns>The fully qualified path name</returns>
+            <remarks>The <b>System.IO.Path</b> version of <see cref="M:System.IO.Path.GetFullPath(System.String)"/> will throw an
+            exception if the path contains wildcard characters.  This version does not.
+            </remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.AbsoluteToRelativePath(System.String,System.String)">
+            <summary>
+            This helper method can be used to convert an absolute path to one that is relative to the given base
+            path.
+            </summary>
+            <param name="basePath">The base path</param>
+            <param name="absolutePath">An absolute path</param>
+            <returns>A path to the given absolute path that is relative to the given base path</returns>
+            <remarks>If the base path is null or empty, the current working folder is used.</remarks>
+            <example>
+            <code language="cs">
+            string basePath = @"E:\DotNet\CS\TestProject\Source";
+            string absolutePath = @"E:\DotNet\CS\TestProject\Doc\Help.html";
+            
+            string relativePath = FilePath.AbsoluteToRelativePath(basePath,
+                absolutePath);
+            
+            Console.WriteLine(relativePath);
+            
+            // Results in: ..\Doc\Help.html
+            </code>
+            <code language="vbnet">
+            Dim basePath As String = "E:\DotNet\CS\TestProject\Source"
+            Dim absolutePath As String = "E:\DotNet\CS\TestProject\Doc\Help.html"
+            
+            Dim relativePath As String = _
+                FilePath.AbsoluteToRelativePath(basePath, absolutePath);
+            
+            Console.WriteLine(relativePath)
+            
+            ' Results in: ..\Doc\Help.html
+            </code>
+            </example>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.RelativeToAbsolutePath(System.String,System.String)">
+            <summary>
+            This helper method can be used to convert a relative path to an absolute path based on the given base
+            path.
+            </summary>
+            <param name="basePath">The base path</param>
+            <param name="relativePath">A relative path</param>
+            <returns>An absolute path</returns>
+            <remarks>If the base path is null or empty, the current working folder is used.</remarks>
+            <example>
+            <code language="cs">
+            string basePath = @"E:\DotNet\CS\TestProject\Source";
+            string relativePath = @"..\Doc\Help.html";
+            
+            string absolutePath = FilePath.RelativeToAbsolutePath(basePath,
+                relativePath);
+            
+            Console.WriteLine(absolutePath);
+            
+            // Results in: E:\DotNet\CS\TestProject\Doc\Help.html
+            </code>
+            <code language="vbnet">
+            Dim basePath As String = "E:\DotNet\CS\TestProject\Source"
+            Dim relativePath As String = "..\Doc\Help.html"
+            
+            Dim absolutePath As String = _
+                FilePath.RelativeToAbsolutePath(basePath, relativePath);
+            
+            Console.WriteLine(absolutePath)
+            
+            ' Results in: E:\DotNet\CS\TestProject\Doc\Help.html
+            </code>
+            </example>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.ShouldSerializePath">
+            <summary>
+            This is used to prevent the Path property from showing as modified in the designer
+            </summary>
+            <returns>Always returns false</returns>
+            <remarks>The <see cref="P:SandcastleBuilder.Utils.FilePath.Path"/> property is mainly for display purposes in the designer but can be
+            used for making changes to the expanded path if needed.  The <see cref="P:SandcastleBuilder.Utils.FilePath.PersistablePath"/> property
+            is used as the display value in the designer.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Default constructor.  The file path is undefined.
+            </summary>
+            <param name="provider">The base path provider</param>
+            <overloads>There are three overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.#ctor(System.String,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="provider">The base path provider</param>
+            <remarks>Unless <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is set to true, the path is always treated as a relative
+            path.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.#ctor(System.String,System.Boolean,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path and fixed setting.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="isFixed">True to treat the path as fixed, false to treat it as a relative path.</param>
+            <param name="provider">The base path provider</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.ToString">
+            <summary>
+            Convert the file path to a string
+            </summary>
+            <returns>A fixed or relative path based on the current settings</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.GetHashCode">
+            <summary>
+            Get a hash code for the file path object
+            </summary>
+            <returns>Returns the hash code of the <see cref="M:SandcastleBuilder.Utils.FilePath.ToString" /> value converted to lowercase</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.Equals(System.Object)">
+            <summary>
+            This is overridden to allow proper comparison of file path objects.
+            </summary>
+            <param name="obj">The object to which this instance is compared</param>
+            <returns>Returns true if the object equals this instance, false if it does not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FilePath.Clone">
+            <summary>
+            This returns a clone of the object
+            </summary>
+            <returns>A clone of the object</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.FolderPath">
+            <summary>
+            This class is used to represent a folder path.  Support is included for treating the path as fixed or
+            relative and for expanding environment variables in the path name.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FolderPath.Path">
+             <summary>
+             This is used to get or set the path.
+             </summary>
+             <value>When set, if the path is not rooted (a relative path), <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is
+             set to false.  If rooted (an absolute path), it is not changed.  This property always returns a
+             fully qualified path but without any environment variable expansions and terminated with a trailing
+             directory separator if needed.
+             <p/>If set to a null or empty string, the folder path is cleared and is considered to be undefined.</value>
+             <example>
+             <code language="cs">
+             FolderPath path = new FolderPath();
+             
+             // Set it to a relative path
+             path.Path = @"..\..\ProjectFolder";
+             
+             // Set it to an absolute path
+             path.Path = @"C:\My Documents\ProjectDocs\";
+             
+             // Set it to a path based on an environment variable
+             path.Path = @"%HOMEDRIVE%%HOMEPATH%\Favorites\";
+             </code>
+             <code language="vbnet">
+             Dim path As New FolderPath()
+            
+             ' Set it to a relative path
+             path.Path = "..\..\ProjectFolder"
+             
+             ' Set it to an absolute path
+             path.Path = "C:\My Documents\ProjectDocs\"
+             
+             ' Set it to a path based on an environment variable
+             path.Path = "%HOMEDRIVE%%HOMEPATH%\Favorites\"
+             </code>
+             </example>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.FolderPath.Exists">
+            <summary>
+            This read-only property can be used to determine whether or not the folder path exists
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.IsPathTerminated(System.String)">
+            <summary>
+            This can be used to find out if a path is terminated with a trailing directory separator.
+            </summary>
+            <param name="path">The path to check</param>
+            <returns>Returns true if it is, false if it is not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.TerminatePath(System.String)">
+            <summary>
+            This can be used to ensure that a path is terminated with a trailing directory separator.
+            </summary>
+            <param name="path">The path to check</param>
+            <returns>The path with a trailing directory separator added if necessary.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.ShouldSerializePath">
+            <summary>
+            This is used to prevent the Path property from showing as modified in the designer.
+            </summary>
+            <returns>Always returns false</returns>
+            <remarks>The <see cref="P:SandcastleBuilder.Utils.FolderPath.Path"/> property is mainly for display purposes in the designer but can be
+            used for making changes to the expanded path if needed.  The <see cref="P:SandcastleBuilder.Utils.FilePath.PersistablePath"/>
+            property is used as the display value in the designer.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.#ctor(SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Default constructor.  The folder path is undefined.
+            </summary>
+            <param name="provider">The base path provider</param>
+            <overloads>There are three overloads for the constructor.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.#ctor(System.String,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="provider">The base path provider</param>
+            <remarks>Unless <see cref="P:SandcastleBuilder.Utils.FilePath.IsFixedPath"/> is set to true, the path is always treated as a
+            relative path.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.FolderPath.#ctor(System.String,System.Boolean,SandcastleBuilder.Utils.IBasePathProvider)">
+            <summary>
+            Constructor.  Assign the specified path and fixed setting.
+            </summary>
+            <param name="path">A relative or absolute path.</param>
+            <param name="isFixed">True to treat the path as fixed, false to treat it as a relative path.</param>
+            <param name="provider">The base path provider</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.HtmlSdkLinkType">
+            <summary>
+            This public enumerated type defines the type of links used to reference other help topics referring to
+            framework (SDK) help topics in HTML Help 1 and website help files.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.HtmlSdkLinkType.None">
+            <summary>No active links</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.HtmlSdkLinkType.Msdn">
+            <summary>Links to framework topics online</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.IBasePathProvider">
+            <summary>
+            This interface defines the properties used to obtain a base path for
+            a <see cref="T:SandcastleBuilder.Utils.FilePath" /> object.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.IBasePathProvider.BasePath">
+            <summary>
+            This read-only property returns the base path
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.IBasePathProvider.ResolvePath(System.String)">
+            <summary>
+            Implement this method to supply custom path resolution such as
+            handling of MSBuild variables in the path.
+            </summary>
+            <param name="path">The path to use</param>
+            <returns>A copy of the path after performing any custom resolutions</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs">
+            <summary>
+            This is used by the comments cache to report a warning message
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.Message">
+            <summary>
+            The message to report
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="text">The message text</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache">
+            <summary>
+            This is used to cache indexed XML comments files
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile">
+            <summary>
+            This represents an indexed XML comments file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.Item(System.String)">
+            <summary>
+            This read-only property returns the XPath navigator for the specified key
+            </summary>
+            <param name="key">The key to look up</param>
+            <returns>The XPath navigator associated with the key</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexedCommentsFile.#ctor(SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="cache">The cache with which this indexed document is associated</param>
+            <param name="filename">The name of the XML comments file to index</param>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCount">
+            <summary>
+            This read-only property returns the number of items indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.FilesIndexed">
+            <summary>
+            This read-only property returns the number of comments files that were indexed
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ShowDuplicatesWarning">
+            <summary>
+            This is used to get or set whether or not duplicate entry warnings are generated
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.AllKeys">
+            <summary>
+            This read-only property returns all keys in the index
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.Item(System.String)">
+            <summary>
+            This read-only property returns the comments for the specified key
+            </summary>
+            <param name="key">The key for which to retrieve comments</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathNavigator"/> for the comments or null if not found.</returns>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning">
+            <summary>
+            This is used by the cache to report duplicate key warnings
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.OnReportWarning(SandcastleBuilder.Utils.InheritedDocumentation.CommentsCacheEventArgs)">
+            <summary>
+            This is used to raise the <see cref="E:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.ReportWarning" /> event
+            </summary>
+            <param name="args">The event arguments</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.#ctor(System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="size">The maximum size of the cache</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.LoadXmlCommentsFile(System.String)">
+            <summary>
+            This loads an XML comments file and handles redirection
+            </summary>
+            <param name="filename">The XML comments file to load</param>
+            <returns>An <see cref="T:System.Xml.XPath.XPathDocument"/> instance for the loaded XML comments file or null if it could
+            not be loaded.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.IndexCommentsFiles(System.String,System.String,System.Boolean,System.Collections.Concurrent.ConcurrentBag{System.Xml.XPath.XPathNavigator})">
+            <summary>
+            Index all comments files found in the specified folder.
+            </summary>
+            <param name="path">The path to search.  If null or empty, the current directory is assumed.</param>
+            <param name="wildcard">The wildcard to use.  If null or empty, "*.xml" is assumed.</param>
+            <param name="recurse">True to recurse subfolders or false to only use the given folder.</param>
+            <param name="commentsFiles">Optional.  If not null, an <see cref="T:System.Xml.XPath.XPathDocument"/> is added to the
+            collection for each file indexed.</param>
+            <remarks>The files are indexed in parallel.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetKeys(System.String)">
+            <summary>
+            This returns an enumerable list of all key values from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key values in the given file</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.IndexedCommentsCache.GetValues(System.String)">
+            <summary>
+            This returns an enumerable list of all key/value pairs from the specified XML file based on the
+            expressions for this cache.
+            </summary>
+            <param name="file">The XML file from which to obtain the keys</param>
+            <returns>An enumerable list of the key/value values in the given file</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException">
+            <summary>
+            This exception class is thrown by the application if it encounters an unrecoverable error
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.String,System.Exception)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.InheritedDocumentation.InheritedDocsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MissingTags">
+            <summary>
+            This public enumerated type defines the missing documentation tags for
+            which to search.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.None">
+            <summary>Do not search for any missing tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Summary">
+            <summary>Search for missing <c>&lt;summary&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Parameter">
+            <summary>Search for missing <c>&lt;param&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Returns">
+            <summary>Search for missing <c>&lt;returns&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Value">
+            <summary>Search for missing <c>&lt;value&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Remarks">
+            <summary>Search for missing <c>&lt;remarks&gt;</c> tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.AutoDocumentCtors">
+            <summary>Automatically document constructors if they are missing a
+            <c>&lt;summary&gt;</c> tag.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.Namespace">
+            <summary>Search for missing namespace comments.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.TypeParameter">
+            <summary>Search for missing &lt;typeparam&gt; tags.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.IncludeTargets">
+            <summary>Search for missing &lt;include&gt; target documentation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MissingTags.AutoDocumentDispose">
+            <summary>Automatically document dispose methods if they are missing
+            <c>&lt;summary&gt;</c> and/or <c>&lt;param&gt;</c> tag.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSBuild.MSBuildProject">
+            <summary>
+            This is a simple wrapper around an MSBuild project that is used to extract information from it during a
+            help file build.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionPath">
+            <summary>Solution path (directory and filename) global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionDir">
+            <summary>Solution directory global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionFileName">
+            <summary>Solution filename (no path) global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionName">
+            <summary>Solution name (no path or extension) global property</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SolutionExt">
+            <summary>Solution extension global property</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.ProjectFile">
+            <summary>
+            This is used to get the underlying MSBuild project file reference
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.AssemblyName">
+            <summary>
+            This is used to get the assembly name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.XmlCommentsFile">
+            <summary>
+            This is used to get the XML comments file name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFramework">
+            <summary>
+            This read-only property is used to get the target framework
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFrameworks">
+            <summary>
+            This read-only property returns an enumerable list of the target frameworks if specified
+            </summary>
+            <value>An enumerable list of the target frameworks or an empty enumerable if not specified</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.RequestedTargetFramework">
+            <summary>
+            For projects that use multi-targeting, the documentation source can specify which target it wants
+            to use.  If not specified, the first target type is used
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFrameworkIdentifier">
+            <summary>
+            This is used to get the target framework identifier
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.TargetFrameworkVersion">
+            <summary>
+            This is used to get the target framework type and version
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.IdentifierAndVersionFromTargetFramework">
+            <summary>
+            This read-only property is used to determine the target framework identifier and version from the
+            target framework.
+            </summary>
+            <returns>A tuple containing the target framework identifier and version if it could be determined
+            or two empty strings if not.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.MSBuildProject.ProjectGuid">
+            <summary>
+            This is used to get the project GUID
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="projectFile">The MSBuild project to load</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the
+            MSBuild project if not done explicitly with <see cref="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Dispose">
+            <summary>
+            This implements the Dispose() interface to properly dispose of
+            the MSBuild project object.
+            </summary>
+            <overloads>There are two overloads for this method.</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.Dispose(System.Boolean)">
+            <summary>
+            This can be overridden by derived classes to add their own
+            disposal code if necessary.
+            </summary>
+            <param name="disposing">Pass true to dispose of the managed
+            and unmanaged resources or false to just dispose of the
+            unmanaged resources.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SetConfiguration(System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            This is used to set the active configuration and platform used when
+            evaluating the properties.
+            </summary>
+            <param name="configuration">The active configuration</param>
+            <param name="platform">The active platform</param>
+            <param name="outDir">The output directory</param>
+            <param name="usesProjectSpecificOutput">True if the build is using project-specific output folders, 
+            false if not.</param>
+            <remarks>If the platform is set to any variation of "Any CPU" and it isn't found in the project, it
+            will be converted to "AnyCPU" (no space).  This works around an issue with Team Build that includes
+            the space even though it should not be present.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.SetSolutionMacros(System.String)">
+            <summary>
+            This is used to set the Visual Studio solution macros based on the
+            specified project name.
+            </summary>
+            <param name="solutionName">The solution name to use</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.MSBuildProject.CloneReferenceInfo(SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver,System.Collections.Generic.Dictionary{System.String,System.ValueTuple{System.String,System.String,System.Collections.Generic.List{System.ValueTuple{System.String,System.String}}}})">
+            <summary>
+            Clone the project's reference information and add it to the given dictionary
+            </summary>
+            <param name="resolver">The package reference resolver to use</param>
+            <param name="references">The dictionary used to contain the cloned reference information</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver">
+            <summary>
+            This is used to resolved package references (<c>PackageReference</c> elements) in MSBuild project files
+            </summary>
+            <remarks>Package references are handled by the NuGet MSBuild targets.  Trying to figure out how they
+            work would be quite difficult as would trying to plug them into the reflection data generation project.
+            However, those tasks create an asset file that contains all of the information we need so we use it to
+            figure out the reference assembly locations along with any dependencies.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.ReferenceAssemblies">
+            <summary>
+            This returns a list of all resolved package reference assemblies along with all dependency assembly
+            references.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.#ctor(SandcastleBuilder.Utils.BuildEngine.BuildProcess)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="buildProcess">The build process that will make use of the resolver</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.LoadPackageReferenceInfo(Microsoft.Build.Evaluation.Project,System.String)">
+            <summary>
+            This is used to load the package reference information from the given project
+            </summary>
+            <param name="project">The MSBuild project from which to get the package references</param>
+            <param name="targetFramework">A target framework value used to resolve implicit package references</param>
+            <returns>True if package reference info was loaded, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSBuild.PackageReferenceResolver.ResolvePackageReferencesInternal(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            This is used to resolve package references by looking up the package IDs in the asset file created
+            by the NuGet Restore task.
+            </summary>
+            <param name="referencesToResolve">The package references to resolve</param>
+            <returns>An enumerable list of assembly names.</returns>
+            <remarks>If a package has dependencies, those will be resolved and returned as well</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSHelpKeyword">
+            <summary>
+            This represents an Microsoft help index keyword that can be added to the XML data island in each help
+            topic generated by BuildAssembler.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.ValidIndexNames">
+            <summary>
+            This read-only property returns an enumerable list of valid index names
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.IndexNamesDataSource">
+            <summary>
+            This read-only property returns a dictionary containing the valid index names and their descriptions
+            suitable for data binding.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.Index">
+            <summary>
+            This is used to get or set the index name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.MSHelpKeyword.Term">
+            <summary>
+            This is used to get or set the index term
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.#ctor">
+            <summary>
+            Constructor
+            </summary>
+            <remarks>The index name defaults to "K"</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.#ctor(System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="indexName">The index name</param>
+            <param name="keywordTerm">The index term</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.CompareTo(SandcastleBuilder.Utils.MSHelpKeyword)">
+            <summary>
+            Compares this instance to another instance and returns an indication of their relative values
+            </summary>
+            <param name="other">A MSHelpKeyword object to compare</param>
+            <returns>Returns -1 if this instance is less than the value, 0 if they are equal, or 1 if this
+            instance is greater than the value or the value is null.</returns>
+            <remarks>Entries are sorted by name and then value</remarks>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.MSHelpKeyword.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.MSHelpKeyword.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.GetHashCode">
+            <summary>
+            Get a hash code for this item
+            </summary>
+            <returns>Returns the hash code for the index name and term</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeyword.ToString">
+            <summary>
+            Return a string representation of the item
+            </summary>
+            <returns>Returns the item in its XML format</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSHelpKeywordCollection">
+            <summary>
+            This collection class is used to hold the help index keyword items for a project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeywordCollection.ReadXml(System.Xml.XmlReader)">
+            <summary>
+            This is used to load the keyword collection from the project file
+            </summary>
+            <param name="xr">The XML text reader from which the information is loaded.</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.MSHelpKeywordCollection.WriteXml(System.Xml.XmlWriter)">
+            <summary>
+            This is used to save the keyword collection to the project file
+            </summary>
+            <param name="xw">The XML text writer to which the information is written</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType">
+            <summary>
+            This public enumerated type defines the type of links used to reference other help topics referring to
+            framework (SDK) help topics in MS Help Viewer help files.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType.None">
+            <summary>No active links</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType.Id">
+            <summary>Id style links for use within an MS Help viewer help file</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.MSHelpViewerSdkLinkType.Msdn">
+            <summary>Links to framework topics online</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.NamespaceSummaryItem">
+            <summary>
+            This represents a a namespace summary item that can be used to add comments to a namespace in the help
+            file or exclude it completely from the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.Name">
+            <summary>
+            This read-only property is used to get the namespace name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.IsGroup">
+            <summary>
+            This read-only property is used to check whether or not this is a namespace group
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.IsDocumented">
+            <summary>
+            This is used to get or set whether or not the namespace is included in the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.Summary">
+            <summary>
+            This is used to get or set the namespace summary comments
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItem.IsDirty">
+            <summary>
+            This read-only property can be used to determine if the namespace summary item was changed
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItem.#ctor(System.String,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="itemName">The namespace's name</param>
+            <param name="isGroup">This indicates whether or not the namespace is a group namespace</param>
+            <param name="isDocumented">This indicates whether or not the namespace is to be documented</param>
+            <param name="summaryText">The summary text</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItem.ToString">
+            <summary>
+            Return the namespace name as the string representation of the object
+            </summary>
+            <returns>The namespace name</returns>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.NamespaceSummaryItem.PropertyChanged">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItem.OnPropertyChanged(System.String)">
+            <summary>
+            This is used to raise the <see cref="E:SandcastleBuilder.Utils.NamespaceSummaryItem.PropertyChanged"/> event
+            </summary>
+            <param name="caller">The name of the caller used as the property name</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.NamespaceSummaryItemCollection">
+            <summary>
+            This collection class is used to hold the namespace summary items for a project
+            </summary>
+            <remarks>Namespaces that appear in the assemblies but not in this list are documented by default and
+            will appear without a namespace summary.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.Project">
+            <summary>
+            This is used to get or set a reference to the project that owns the collection
+            </summary>
+            <remarks>This is used by collection editors to get a reference to the owning project</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.Item(System.String)">
+            <summary>
+            Indexer.  This can be used to retrieve the summary information for the specified namespace
+            </summary>
+            <param name="name">The namespace for which to search</param>
+            <returns>The namespace summary information if found or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.FromXml(System.String)">
+            <summary>
+            This is used to load existing namespace summary items from the project file
+            </summary>
+            <param name="namespaceSummaries">The namespace summary items</param>
+            <remarks>The information is stored as an XML fragment</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.ToXml">
+            <summary>
+            This is used to write the namespace summary info to an XML fragment ready for storing in the project
+            file.
+            </summary>
+            <returns>The XML fragment containing the namespace summary info</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.Add(System.String,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Add a new item to the collection
+            </summary>
+            <param name="name">The namespace name</param>
+            <param name="isGroup">True if this is a grouping namespace, false if this is normal namespace</param>
+            <param name="isDocumented">True for documented, false for not documented</param>
+            <param name="summary">The summary text</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.NamespaceSummaryItem" /> added to the project.  If the namespace already
+            exists in the collection, the existing item is returned.</returns>
+            <remarks>The <see cref="T:SandcastleBuilder.Utils.NamespaceSummaryItem" /> constructor is internal so that we control creation
+            of the items and can associate them with the project.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.NamespaceSummaryItemCollection.CreateTemporaryItem(System.String,System.Boolean)">
+            <summary>
+            Create a temporary item that isn't part of the project
+            </summary>
+            <param name="name">The namespace name</param>
+            <param name="isGroup">True if this is a grouping namespace, false if this is normal namespace</param>
+            <returns>The <see cref="T:SandcastleBuilder.Utils.NamespaceSummaryItem" /> that can later be added to the project if necessary</returns>
+            <exception cref="T:System.ArgumentException">This is thrown if the given namespace already exists in the
+            collection.</exception>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.NamingMethod">
+            <summary>
+            This public enumerated type defines the naming method to use for the help topic filenames
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.NamingMethod.Guid">
+            <summary>Use the default GUID file naming method (actually an MD5 hash of the member ID in GUID
+            form).</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.NamingMethod.MemberName">
+            <summary>Use the member name without parameters as the filename.  The characters ":", ".", "#", and
+            "`" in the name are replaced with an underscore (i.e. T:CustomType becomes T_CustomType,
+            M:CustomType.#ctor becomes M_CustomType__ctor, P:CustomType.Property becomes P:CustomType_Property,
+            etc).  Duplicate names will have an incrementing value appended to the end of the name (i.e.
+            M_CustomType_Method, M_CustomType.Method_1, M_CustomType_Method_2, etc).</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.NamingMethod.HashedMemberName">
+            <summary>Use the hashed member name without parameters as the filename.  No character replacements
+            are made for this option and the <b>GetHashCode</b> method is used to generate the hash value and it
+            is formatted as a hex value.  This is useful for extremely long type names that cause the filename
+            to exceed the maximum length when the full path is included.  Duplicate names will have an
+            incrementing value appended to the name prior to creating the hash value as needed.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ProjectElement">
+            <summary>
+            This class is a wrapper for build items in the project.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectElement.ItemType">
+            <summary>
+            This is used to set or get the item type (a.k.a BuildAction)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectElement.Include">
+            <summary>
+            This is used to set or get the filename (Include attribute)
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectElement.Project">
+            <summary>
+            This read-only property is used to get the containing project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.#ctor(SandcastleBuilder.Utils.SandcastleProject,Microsoft.Build.Evaluation.ProjectItem)">
+            <summary>
+            This constructor is used to wrap an existing project item
+            </summary>
+            <param name="project">The project that owns the item</param>
+            <param name="existingItem">The existing item</param>
+            <overloads>There are two overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.#ctor(SandcastleBuilder.Utils.SandcastleProject,System.String,System.String)">
+            <summary>
+            This constructor is used to create a new build item and add it to the project
+            </summary>
+            <param name="project">The project that will own the item</param>
+            <param name="itemType">The type of build item to create</param>
+            <param name="itemPath">The path to the item.  This can be relative or absolute and may contain
+            variable references.</param>
+        </member>
+        <member name="E:SandcastleBuilder.Utils.ProjectElement.PropertyChanged">
+            <summary>
+            The property changed event
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.OnPropertyChanged(System.String)">
+            <summary>
+            This raises the <see cref="E:SandcastleBuilder.Utils.ProjectElement.PropertyChanged"/> event
+            </summary>
+            <param name="propertyName">The property name that changed</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.HasMetadata(System.String)">
+            <summary>
+            See if the named metadata item exists
+            </summary>
+            <param name="name">The metadata name for which to check</param>
+            <returns>True if present, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.GetMetadata(System.String)">
+            <summary>
+            Get a metadata value from a project element
+            </summary>
+            <param name="name">The name of the metadata element to get</param>
+            <returns>The value of the metadata element</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.SetMetadata(System.String,System.String)">
+            <summary>
+            Set a metadata value in the project item
+            </summary>
+            <param name="name">The name of the metadata element</param>
+            <param name="value">The value to store in the element</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.RemoveFromProjectFile">
+            <summary>
+            Remove the item from the project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.op_Equality(SandcastleBuilder.Utils.ProjectElement,SandcastleBuilder.Utils.ProjectElement)">
+            <summary>
+            Overload for equal operator
+            </summary>
+            <param name="element1">The first element object</param>
+            <param name="element2">The second element object</param>
+            <returns>True if equal, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.op_Inequality(SandcastleBuilder.Utils.ProjectElement,SandcastleBuilder.Utils.ProjectElement)">
+            <summary>
+            Overload for not equal operator
+            </summary>
+            <param name="element1">The first element object</param>
+            <param name="element2">The second element object</param>
+            <returns>True if not equal, false if they are equal</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectElement.GetHashCode">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.Utils.ProjectFileConfiguration">
+            <summary>
+            This holds configuration settings for Visual Studio project file
+            documentation sources
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectFileConfiguration.ProjectFileName">
+            <summary>
+            This is used to get or set the project filename
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectFileConfiguration.Configuration">
+            <summary>
+            This is used to get or set the configuration used for the build
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.ProjectFileConfiguration.Platform">
+            <summary>
+            This is used to get or set the platform used for the build
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.ProjectFileConfiguration.#ctor(System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="name">The project filename</param>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.MimeTypes">
+             <summary>
+               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
+            &lt;!-- Run the following script in LINQPad to regenerate the content below:
+            XElement root = new XElement(&quot;mimeTypes&quot;);
+            
+            foreach (string key in Registry.ClassesRoot.GetSubKeyNames().Where(k =&gt; k[0] == &apos;.&apos;))
+            {
+            	using (RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(key))
+            	{
+            		string mimeType = regKey.GetValue(&quot;Content Type&quot;)?.ToString();
+            		
+            		if (!String.IsNullOrWhiteSpace(mimeType))
+            			root.Add(new XElement(&quot;mimeType&quot;, new XAttribute(&quot;extension&quot;, key), ne [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.Properties.Resources.ProjectTemplate">
+             <summary>
+               Looks up a localized string similar to &lt;Project ToolsVersion=&quot;14.0&quot; DefaultTargets=&quot;Build&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;
+            	&lt;!-- Import the common properties to support NuGet restore --&gt;
+            	&lt;Import Project=&quot;$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props&quot; Condition=&quot;Exists(&apos;$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props&apos;)&quot; /&gt;
+            
+            	&lt;PropertyGroup&gt;
+            		&lt;!-- A framework version is required for NuGet restore.  This can be any valid version --&gt;
+            		&lt;TargetFrameworkVersion&gt;v4.7.2 [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.SandcastleProject">
+            <summary>
+            This class represents all of the properties that make up a Sandcastle Help File Builder project
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SandcastleProject.SchemaVersion">
+            <summary>
+            The schema version used in the saved project files
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SandcastleProject.DefaultConfiguration">
+            <summary>The default configuration</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SandcastleProject.DefaultPlatform">
+            <summary>The default platform</summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.RestrictedProperties">
+            <summary>
+            This returns a collection of restricted property names that cannot be used for user-defined property
+            names.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ProjectPropertyCache">
+            <summary>
+            This read-only property returns the MSBuild project property cache
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MSBuildProject">
+            <summary>
+            This read-only property is used to get the underlying MSBuild project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.UsingFinalValues">
+            <summary>
+            This read-only property is used to get whether or not the project is using final values for the
+            project properties.
+            </summary>
+            <value>If true, final values (i.e. evaluated values used at build time) are being returned by the
+            properties in this instance.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Filename">
+            <summary>
+            This read-only property is used to get the filename for the project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Configuration">
+            <summary>
+            This is used to get or set the configuration to use when building the project
+            </summary>
+            <value>This value is used for project documentation sources and project references so that the
+            correct items are used from them.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Platform">
+            <summary>
+            This is used to get or set the platform to use when building the project
+            </summary>
+            <value>This value is used for project documentation sources and project references so that the
+            correct items are used from them.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MSBuildOutDir">
+            <summary>
+            This is used to get or set the MSBuild <c>OutDir</c> property value that is defined when using Team
+            Build.
+            </summary>
+            <value>This value is used for project documentation sources and project references so that the
+            correct items are used from them.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.IsDirty">
+            <summary>
+            This is used to get the dirty state of the project
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.LogFileLocation">
+            <summary>
+            This read-only property is used to get the build log file location
+            </summary>
+            <value>If <see cref="P:SandcastleBuilder.Utils.SandcastleProject.BuildLogFile"/> is set, it returns its value.  If not set, it returns the full
+            path created by using the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath"/> property value and a filename of
+            <strong>LastBuild.log</strong>.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentationSources">
+            <summary>
+            This read-only property returns an enumerable list of documentation sources to use in building the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FileItems">
+            <summary>
+            This returns an enumerable list of all build items in the project that represent folders and files
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ImagesReferences">
+            <summary>
+            This read-only property returns an enumerable list of image references contained in the project
+            </summary>
+            <returns>An enumerable list of image references if any are found in the project</returns>
+            <remarks>Only images with IDs are returned</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TransformComponentArguments">
+            <summary>
+            This returns an enumerable list of transform component arguments
+            </summary>
+            <remarks>These are passed as arguments to the XSL transformations used by the <b>BuildAssembler</b>
+            <c>TransformComponent</c>.</remarks>
+            <returns>An enumerable list of transform component arguments</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.UserDefinedProperties">
+            <summary>
+            This read-only property returns an enumerable list of all user-defined properties
+            </summary>
+            <returns>An enumerable list of all properties determined not to be help file builder project
+            properties, MSBuild build engine related properties, or environment variables.</returns>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ProjectSummary">
+            <summary>
+            This read-only property is used to get the project summary comments
+            </summary>
+            <remarks>These notes will appear in the root namespaces page if entered</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.NamespaceSummaries">
+            <summary>
+            This read-only property returns the list of namespace summaries
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ComponentPath">
+            <summary>
+            This property is used to get or set the path to a folder containing additional, project-specific
+            build components.
+            </summary>
+            <value>If left blank, the current project's folder is searched instead</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SourceCodeBasePath">
+            <summary>
+            This property is used to get or set the base path used to locate source code for the documented
+            assemblies.
+            </summary>
+            <value>If left blank, source context information will be omitted from the reflection data</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WarnOnMissingSourceContext">
+            <summary>
+            This is used to get or set whether or not to issue a warning if a source code context could not be
+            determined for a type.
+            </summary>
+            <value>This is false by default and missing source context issues will be reported as informational
+            messages.  If set to true, they are reported as warnings that MSBuild will also report.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HtmlHelp1xCompilerPath">
+            <summary>
+            This property is used to get or set the path to the HTML Help 1 compiler (HHC.EXE)
+            </summary>
+            <value>You only need to set this if the builder cannot determine the path for itself</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath">
+            <summary>
+            This property is used to get or set the path to which the help files will be generated
+            </summary>
+            <remarks><para>The default is to create it in a folder called <strong>.\Help</strong> in the same
+            folder as the project file.</para>
+            
+            <para><strong>Warning:</strong> If building a web site, the output folder's prior content will be
+            erased without warning prior to copying the new web site content to it!</para></remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WorkingPath">
+            <summary>
+            This is used to get or set the path to the working folder used during the build process to store the
+            intermediate files.
+            </summary>
+            <value><para>This can be used to perform the build in a different location with a shorter path if you
+            encounter errors due to long file path names.  If not specified, it defaults to a folder called
+            <strong>.\Working</strong> under the folder specified by the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath"/> property.</para>
+            
+            <para><strong>Warning:</strong> All files and folders in the path specified in this property will be
+            erased without warning when the build starts.</para></value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ComponentSearchPaths">
+            <summary>
+            This read-only property returns an enumerable list of folders to search for additional build
+            components, plug-ins, presentation styles, and syntax generators.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BuildAssemblerVerbosity">
+            <summary>
+            This read-only property is used to get the build assembler tool verbosity level
+            </summary>
+            <value>The default is <c>AllMessages</c> to report all messages</value>
+            <remarks>Setting this property to <c>OnlyWarningsAndErrors</c> or <c>OnlyErrors</c> can
+            significantly reduce the size of the build log for large projects.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CleanIntermediates">
+            <summary>
+            This property is used to get or set whether intermediate files are deleted after a successful build
+            </summary>
+            <value>The default value is true</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.KeepLogFile">
+            <summary>
+            This property is used to get or set whether or not the log file is retained after a successful build
+            </summary>
+            <value>The default value is true</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BuildLogFile">
+            <summary>
+            This read-only property is used to get the path and filename of the build log file
+            </summary>
+            <value>If not specified, a default name of <strong>LastBuild.log</strong> is used and the file is
+            saved in the path identified in the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.OutputPath" /> property.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HelpFileFormat">
+            <summary>
+            This read-only property is used to get the help file format generated by the build process
+            </summary>
+            <value>The default is to produce an HTML Help 1 format file</value>
+            <remarks>If building a web site, the output folder will be cleared before the new content is copied
+            to it.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DisableCodeBlockComponent">
+            <summary>
+            This read-only property is used to get whether or not to disable the custom Code Block Component so
+            that <c>&lt;code&gt;</c> elements are rendered in their standard format by the Sandcastle XSL
+            transformations.
+            </summary>
+            <value>The default is false so that the Code Block Component is used by default</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FrameworkVersion">
+            <summary>
+            This is used to get or set the .NET Framework version used to resolve references to system types
+            (basic .NET Framework, Silverlight, Portable, etc.).
+            </summary>
+            <remarks>If set to null, it will default to the most recent version of the basic .NET Framework
+            installed.  The build engine will adjust this at build time if necessary based on the framework
+            types and versions found in the documentation sources.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.IndentHtml">
+            <summary>
+            This read-only property is used to get whether or not the HTML rendered by <strong>BuildAssembler</strong>
+            is indented.
+            </summary>
+            <value>This is mainly a debugging aid.  Leave it set to false, the default, to produce more compact
+            HTML.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SaveComponentCacheCapacity">
+            <summary>
+            This read-only property is used to get the build assembler Save Component writer task cache capacity
+            </summary>
+            <value>The default is 100 to limit the cache to 100 entries</value>
+            <remarks>Decrease the value to conserve memory, increase it to help with build speed at the expense
+            of memory used.  Set it to zero to allow an unbounded cache for the writer task (best speed at the
+            expense of memory used).</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ComponentConfigurations">
+            <summary>
+            This read-only property is used to get a dictionary of build component configurations
+            </summary>
+            <remarks>This allows you to configure the settings for third party build components if they
+            support it.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.PlugInConfigurations">
+            <summary>
+            This read-only property is used to get a dictionary of build process plug-in configurations
+            </summary>
+            <remarks>This allows you to select and configure the settings for third party build process plug-ins</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ContentPlacement">
+            <summary>
+            This read-only property is used to get the placement of any additional and conceptual content items
+            in the table of contents.
+            </summary>
+            <value>The default is to place additional and conceptual content items above the namespaces</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Preliminary">
+            <summary>
+            This read-only property is used to get whether or not all pages should be marked with a "preliminary
+            documentation" warning in the page header.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.RootNamespaceContainer">
+            <summary>
+            This read-only property is used to get whether or not a root namespace entry is added to the table of
+            contents to act as a container for the namespaces from the documented assemblies.
+            </summary>
+            <value>If true, a root <strong>Namespaces</strong> table of contents entry will be created as the
+            container of the namespaces in the documented assemblies.  If false, the default, the namespaces are
+            listed in the table of contents as root entries.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.RootNamespaceTitle">
+            <summary>
+            This read-only property is used to get an alternate title for the root namespaces page and the root
+            table of contents container that appears when <see cref="P:SandcastleBuilder.Utils.SandcastleProject.RootNamespaceContainer"/> is set to true.
+            </summary>
+            <value>If left blank (the default), the localized version of the text "Namespaces" will be used</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.NamespaceGrouping">
+            <summary>
+            This read-only property is used to get whether namespace grouping is enabled.  The presentation style
+            must have support for namespace grouping in order for the feature to work.
+            </summary>
+            <value>If <c>true</c>, namespace grouping is enabled. Otherwise, namespace grouping is not enabled</value>
+            <remarks>Namespace groups are determined automatically and may be documented as well</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MaximumGroupParts">
+            <summary>
+            This read-only property is used to get the maximum number of namespace parts to consider when
+            namespace grouping is enabled.
+            </summary>
+            <value>The minimum and default is 2.  A higher value results in more namespace groups</value>
+            <remarks>Namespace groups are determined automatically and may be documented as well</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HelpTitle">
+            <summary>
+            This read-only property is used to get or set the help file's title
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HtmlHelpName">
+            <summary>
+            This read-only property is used to get the name of the compiled help file
+            </summary>
+            <remarks>Do not include a path or the extension.  For MS Help Viewer builds, avoid periods,
+            ampersands, and pound signs as they are not valid in the help file name.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HelpFileVersion">
+            <summary>
+            This read-only property is used to get the version number applied to the help file
+            </summary>
+            <remarks>The default is 1.0.0.0</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.Language">
+            <summary>
+            This read-only property is used to get the language option for the help file and to determine which
+            set of presentation resource files to use.
+            </summary>
+            <value>If a matching set of presentation resources cannot be found for the specified language, the
+            US English set will be used.</value>
+            <remarks>The MS Help Viewer 1.0 Catalog ID is composed of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogProductId"/>, the
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogVersion"/>, and the <c>Language</c> code. For example, the English Visual Studio 10
+            catalog is <c>VS_100_EN-US</c>.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightHref">
+            <summary>
+            This read-only property is used to get the URL to use as the link for the copyright notice
+            </summary>
+            <value>If not set, the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightText"/> (if any) is not turned into a clickable link</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightText">
+            <summary>
+            This read-only property is used to get the copyright notice that appears in the footer of each page
+            </summary>
+            <remarks>If not set, no copyright note will appear.  If a <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CopyrightHref" /> is specified
+            without copyright text, the URL appears instead.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DecodedCopyrightText">
+            <summary>
+            This read-only property is used to get the copyright notice that appears in the footer of each page
+            with any hex value place holders replaced with their actual character.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailAddress">
+            <summary>
+            This read-only property is used to get the feedback e-mail address that appears in the footer of each
+            page.
+            </summary>
+            <remarks>If not set, no feedback link will appear.  If <see cref="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailLinkText"/> is set,
+            that text will appear as the text for the link.  If not set, the e-mail address is used as the link
+            text.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailLinkText">
+            <summary>
+            This read-only property is used to get the feedback e-mail link text that appears in the feedback
+            e-mail link in the footer of each page.
+            </summary>
+            <remarks>If set, this text will appear as the link text for the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.FeedbackEMailAddress"/>
+            link.  If not set, the e-mail address is used for the link text.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HeaderText">
+            <summary>
+            This read-only property is used to get additional text that should appear in the header of every page
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.FooterText">
+            <summary>
+            This read-only property is used to get additional text that should appear in the footer of every page
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SdkLinkTarget">
+            <summary>
+            This read-only property is used to get the target window for external SDK links
+            </summary>
+            <value>The default is <c>Blank</c> to open the topics in a new window.  This option only has an
+            effect on the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HtmlSdkLinkType"/>, <see cref="P:SandcastleBuilder.Utils.SandcastleProject.MSHelpViewerSdkLinkType"/>, and
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.WebsiteSdkLinkType"/> properties if they are set to <c>Msdn</c>.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.PresentationStyle">
+            <summary>
+            This read-only property is used to get the presentation style for the help topic pages
+            </summary>
+            <value>The default is to use the VS2013 style</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.NamingMethod">
+            <summary>
+            This read-only property is used to get the naming method used to generate the help topic filenames
+            </summary>
+            <value>The default is to use GUID values as the filenames</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SyntaxFilters">
+            <summary>
+            This read-only property is used to get the language filters which determines which languages appear
+            in the <strong>Syntax</strong> section of the help topics.
+            </summary>
+            <value>The default is <strong>Standard</strong> (C#, VB.NET, and C++)</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BinaryTOC">
+            <summary>
+            This read-only property is used to get whether or not to create a binary table of contents in Help 1
+            files.
+            </summary>
+            <remarks>This can significantly reduce the amount of time required to load a very large help file</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.HtmlSdkLinkType">
+            <summary>
+            This read-only property is used to get the type of links used to reference other help topics
+            referring to framework (SDK) help topics in HTML Help 1 help files.
+            </summary>
+            <value>The default is to produce links to online content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.IncludeFavorites">
+            <summary>
+            This read-only property is used to get whether or not a Favorites tab will appear in the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MSHelpViewerSdkLinkType">
+            <summary>
+            This read-only property is used to get the type of links used to reference other help topics
+            referring to framework (SDK) help topics in MS Help Viewer help files.
+            </summary>
+            <value>The default is to produce links to online content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CatalogProductId">
+            <summary>
+            This read-only property is used to get the Product ID portion of the MS Help Viewer 1.0 Catalog ID
+            </summary>
+            <value>If not specified, the default is "VS".</value>
+            <remarks><para>The MS Help Viewer Catalog 1.0 ID is composed of the <c>CatalogProductId</c> the
+            <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogVersion"/>, and the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.Language"/> code. For example, the English Visual
+            Studio 10 catalog is <c>VS_100_EN-US</c>.</para>
+            
+            <note type="note">You should typically use the default value</note>
+            </remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CatalogVersion">
+            <summary>
+            This read-only property is used to get the Version portion of the MS Help Viewer 1.0 Catalog ID
+            </summary>
+            <value>If not specified, the default is "100"</value>
+            <remarks><para>The MS Help Viewer 1.0 Catalog ID is composed of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.CatalogProductId"/>,
+            the <c>CatalogVersion</c>, and the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.Language"/> code. For example, the English Visual
+            Studio 10 catalog is <c>VS_100_EN-US</c>.</para>
+            
+            <note type="note">You should typically used the default value</note>
+            </remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.CatalogName">
+            <summary>
+            This read-only property is used to get a non-standard MS Help Viewer 2.x content catalog name
+            </summary>
+            <value>If not specified, the default will be set based on the Visual Studio version catalog related
+            to the Help Viewer (VisualStudio12 for Visual Studio 2013 for example).</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.VendorName">
+            <summary>
+            This read-only property is used to get the vendor name for the help viewer file
+            </summary>
+            <value>The default if not specified will be "Vendor Name".  The value must not contain the ':',
+            '\', '/', '.', ',', '#', or '&amp;' characters.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ProductTitle">
+            <summary>
+            This read-only property is used to get the product title for the help viewer file
+            </summary>
+            <value>The default if not specified will be the value of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.HelpTitle" /> property</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TopicVersion">
+            <summary>
+            This read-only property is used to get the topic version for each topic in the help file
+            </summary>
+            <value>The default is "100" (meaning 10.0)</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId">
+            <summary>
+            This read-only property is used to get the table of contents parent for each root topic in the help
+            file.
+            </summary>
+            <value>The default is "-1" to show the root topics in the root of the main table of content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TocParentVersion">
+            <summary>
+            This read-only property is used to get the topic version of the <see cref="P:SandcastleBuilder.Utils.SandcastleProject.TocParentId" /> topic
+            </summary>
+            <value>The default is "100" meaning "10.0"</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.TocOrder">
+            <summary>
+            This read-only property is used to get the sort order for conceptual content so that it appears
+            within its parent in the correct position.
+            </summary>
+            <value>The default is -1 to let the build engine determine the best value to use based on the
+            other project properties.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.SearchResultsDisplayVersion">
+            <summary>
+            This is used to get or set the display version shown below entries in the search results pane in the
+            help viewer application.
+            </summary>
+            <value>If not set, a display version will not be shown for topics in the search results pane</value>
+            <remarks>If set, this typically refers to the SDK name and version or the module in which the member
+            resides to help differentiate it from other entries with the same title in the search results.</remarks>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WebsiteSdkLinkType">
+            <summary>
+            This read-only property is used to get the type of links used to reference other help topics
+            referring to framework (SDK) help topics in HTML Help 1 help files.
+            </summary>
+            <value>The default is to produce links to online content</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.WebsiteAdContent">
+            <summary>
+            This read-only property is used to get the ad content to place in each page in the website help file
+            format.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.AppendMarkdownFileExtensionsToUrls">
+            <summary>
+            This read-only property is used to get whether or not to append ".md" extensions to topic URLs
+            </summary>
+            <value>The default is to false to leave them off.  This is suitable for GitHib wiki content which
+            does not add the filename extensions.  Adding them causes the wiki to link to the raw file content
+            rather than the rendered topic.  If your site uses them or if you are rendering content to store in
+            source control where they are used, set this property to true.</value>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.MissingTags">
+            <summary>
+            This read-only helper property returns the flags to use when looking for missing tags
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingNamespaces">
+            <summary>
+            This read-only property is used to get whether or not missing namespace comments are indicated in the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingSummaries">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;summary&gt; tags are indicated in
+            the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingParams">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;param&gt; tags are indicated in the
+            help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingTypeParams">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;typeparam&gt; tags on generic types
+            and methods are indicated in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingReturns">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;returns&gt; tags are indicated in
+            the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingValues">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;value&gt; tags are indicated in the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingRemarks">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;remarks&gt; tags are indicated in
+            the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.AutoDocumentConstructors">
+            <summary>
+            This read-only property is used to get whether or not constructors are automatically documented if
+            they are missing the &lt;summary&gt; tag and for classes with compiler generated constructors.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.AutoDocumentDisposeMethods">
+            <summary>
+            This read-only property is used to get whether or not dispose methods are automatically documented if
+            they are missing the &lt;summary&gt; tag and for classes with compiler generated dispose methods.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ShowMissingIncludeTargets">
+            <summary>
+            This read-only property is used to get whether or not missing &lt;include&gt; tag target
+            documentation is indicated in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.VisibleItems">
+            <summary>
+            This read-only helper property returns the flags used to indicate which optional items to document
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentAttributes">
+            <summary>
+            This read-only property is used to get whether or not attributes on types and members are documented
+            in the syntax portion of the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentExplicitInterfaceImplementations">
+            <summary>
+            This read-only property is used to get whether or not explicit interface implementations are
+            documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited members are documented
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedFrameworkMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited framework members are documented
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedFrameworkInternalMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited internal framework members are
+            documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInheritedFrameworkPrivateMembers">
+            <summary>
+            This read-only property is used to get whether or not inherited private framework members are
+            documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInternals">
+            <summary>
+            This read-only property is used to get whether or not internal members are documented in the help
+            file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentPrivates">
+            <summary>
+            This read-only property is used to get whether or not private members are documented in the help file
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentPrivateFields">
+            <summary>
+            This read-only property is used to get or set whether or not private fields are documented in the
+            help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentProtected">
+            <summary>
+            This read-only property is used to get whether or not protected members are documented in the help
+            file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentSealedProtected">
+            <summary>
+            This read-only property is used to get whether or not protected members of sealed classes are
+            documented in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentProtectedInternalAsProtected">
+            <summary>
+            This read-only property is used to get whether or not "protected internal" members are documented as
+            "protected" only in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentNoPIATypes">
+            <summary>
+            This read-only property is used to get whether or not no-PIA (Primary Interop Assembly) embedded
+            interop types are documented in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentPublicCompilerGenerated">
+            <summary>
+            This read-only property is used to get whether or not public compiler generated types and members are
+            documented in the help file.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentEditorBrowsableNever">
+            <summary>
+            This read-only property is used to get whether or not members marked with an
+            <see cref="T:System.ComponentModel.EditorBrowsableAttribute"/> set to <c>Never</c> are documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentNonBrowsable">
+            <summary>
+            This read-only property is used to get whether or not members marked with a
+            <see cref="T:System.ComponentModel.BrowsableAttribute"/> set to <c>False</c> are documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.DocumentInternalAndPrivateIfExternal">
+            <summary>
+            This read-only property is used to get whether or not internal members of base types in other
+            assemblies and private members in base types are documented.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.ApiFilter">
+            <summary>
+            This read-only property is used to get the API filter
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.Utils.SandcastleProject.BasePath">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ResolvePath(System.String)">
+            <summary>
+            This method resolves any MSBuild environment variables in the path objects
+            </summary>
+            <param name="path">The path to use</param>
+            <returns>A copy of the path after performing any custom resolutions</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ContentFiles(SandcastleBuilder.Utils.BuildAction)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.#ctor">
+            <summary>
+            Private constructor
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.#ctor(System.String,System.Boolean,System.Boolean)">
+            <summary>
+            Load a Sandcastle Builder project from the given filename
+            </summary>
+            <param name="filename">The filename to load</param>
+            <param name="mustExist">Specify true if the file must exist or false if a new project should be
+            created if the file does not exist.</param>
+            <param name="useFinalValues">True to use final evaluated property values, or false to use the
+            unevaluated property values.  For builds, this should always be true.  If loading the project for
+            editing, it should always be false.</param>
+            <exception cref="T:System.ArgumentException">This is thrown if a filename is not specified or if it does not
+            exist and <c>mustExist</c> is true.</exception>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.#ctor(Microsoft.Build.Evaluation.Project)">
+            <summary>
+            This is used to create a Sandcastle Builder project from an existing MSBuild project instance
+            </summary>
+            <param name="existingProject">The existing project instance</param>
+            <remarks>It is assumed that the project has been loaded, the property values are current, and that
+            the configuration and platform have been set in the MSBuild project global properties in order to
+            get the correct final values.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.Finalize">
+            <summary>
+            This handles garbage collection to ensure proper disposal of the Sandcastle project if not done
+            explicitly with <see cref="M:SandcastleBuilder.Utils.SandcastleProject.Dispose"/>.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.Dispose">
+            <summary>
+            This properly disposes of the Sandcastle project
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.InitializePropertyCache">
+            <summary>
+            This is used to initialize the local property info and property descriptor caches
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.OnCharacterMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            Replace a \xNN value in the copyright text with its actual character
+            </summary>
+            <param name="match">The match that was found</param>
+            <returns>The string to use as the replacement</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.OnBuildVarMatch(System.Text.RegularExpressions.Match)">
+            <summary>
+            Resolve references to MSBuild variables in a path value
+            </summary>
+            <param name="match">The match that was found</param>
+            <returns>The string to use as the replacement</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.LoadProperties">
+            <summary>
+            This is used to load the properties from the project file
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.SetLocalProperty(Microsoft.Build.Evaluation.ProjectProperty,System.String)">
+            <summary>
+            This is used to set the local property to the specified value of the MSBuild project property using
+            Reflection.
+            </summary>
+            <param name="msBuildProperty">The MSBuild project property to use</param>
+            <param name="value">The value to which the local property is set</param>
+            <remarks>Property name matching is case insensitive as are the values.  This is used to allow setting
+            of simple project properties (non-collection) from the MSBuild project file.  Unknown properties are
+            ignored.</remarks>
+            <exception cref="T:System.ArgumentNullException">This is thrown if the name parameter is null or an empty
+            string.</exception>
+            <exception cref="T:SandcastleBuilder.Utils.BuilderException">This is thrown if an error occurs while trying to set the named
+            property.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ConvertOldFrameworkVersion(System.String)">
+            <summary>
+            This is used to convert old SHFB project framework version values to the new framework version values
+            </summary>
+            <param name="oldValue">The old value to convert</param>
+            <returns>The equivalent new value</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.DefaultBuildAction(System.String)">
+            <summary>
+            This is used to determine the default build action for a file based on its extension
+            </summary>
+            <param name="filename">The filename to use</param>
+            <returns>The build action based on the extension</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.IsValidUserDefinedPropertyName(System.String)">
+            <summary>
+            This is used to determine whether or not the given name can be used for a user-defined project
+            property.
+            </summary>
+            <param name="name">The name to check</param>
+            <returns>True if it can be used, false if it cannot be used</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.AddFolderToProject(System.String)">
+            <summary>
+            Add a new folder build item to the project
+            </summary>
+            <param name="folder">The folder name</param>
+            <returns>The new <see cref="T:SandcastleBuilder.Utils.FileItem"/>.</returns>
+            <remarks>If the folder does not exist in the project, it is added and created if not already there.
+            If the folder is already part of the project, the existing item is returned.</remarks>
+            <exception cref="T:System.ArgumentException">This is thrown if the path matches the project root path or is
+            not below it.</exception>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.AddFileToProject(System.String,System.String)">
+            <summary>
+            Add a new file build item to the project
+            </summary>
+            <param name="sourceFile">The source filename</param>
+            <param name="destFile">The optional destination path.  If empty, null, or it does not start with the
+            project folder, the file is copied to the root folder of the project.</param>
+            <returns>The new <see cref="T:SandcastleBuilder.Utils.FileItem" /></returns>
+            <remarks>If the file does not exist in the project, it is copied to the destination path or project
+            folder if not already there.  The default build action is determined based on the filename's
+            extension.  If the file is already part of the project, the existing item is returned.</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.FindFile(System.String)">
+            <summary>
+            This is used to locate a file by name in the project
+            </summary>
+            <param name="fileToFind">The fully qualified file path to find</param>
+            <returns>The file item if found or null if not found</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.RefreshProjectProperties">
+            <summary>
+            This refreshes the project instance property values by reloading them from the underlying MSBuild
+            project.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.SaveProject(System.String)">
+            <summary>
+            This is used to save the project file
+            </summary>
+            <param name="filename">The filename for the project</param>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.HasItems(SandcastleBuilder.Utils.BuildAction)">
+            <summary>
+            This returns true if the project contains items using the given build action
+            </summary>
+            <param name="buildAction">The build action for which to check</param>
+            <returns>True if at least one item has the given build action or false if there are no items with
+            the given build action.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.SandcastleProject.ReplacementValueFor(System.String)">
+            <summary>
+            This is used by the replacement tag handler to get simple project property values that require no
+            other modification or simple ones that can be handled here.
+            </summary>
+            <param name="name">The property name for which to get the value</param>
+            <returns>The property value as a string if found or null if not found.  If the property name starts
+            with "HtmlEnc", the return value is HTML encoded.  Boolean values and those ending with "SdkLinkType"
+            are converted to lowercase for use in XML attribute values.</returns>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.SdkLinkTarget">
+            <summary>
+            This public enumerated type defines the locations in which a browser window can be opened for the
+            external website links.
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Blank">
+            <summary>The URL is loaded into a new unnamed window.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Self">
+            <summary>The current document is replaced with the specified URL.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Parent">
+            <summary>The URL is loaded into the current frame's parent. If the frame has no parent, this value
+            acts like the value <c>Self</c>.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.Utils.SdkLinkTarget.Top">
+            <summary>The URL replaces any frame sets that may be loaded. If there are no frame sets defined, this
+            value acts like the value <c>Self</c>.</summary>
+        </member>
+        <member name="T:SandcastleBuilder.Utils.Utility">
+            <summary>
+            This class contains utility and extension methods
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Utility.RunsAt(System.Collections.Generic.IEnumerable{SandcastleBuilder.Utils.BuildComponent.ExecutionPoint},SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            This is used to determine if the enumerable list of execution points contains an entry for the
+            specified build step and behavior.
+            </summary>
+            <param name="executionPoints">An enumerable list of execution points to check</param>
+            <param name="step">The build step</param>
+            <param name="behavior">The behavior</param>
+            <returns>True if the enumerable list of execution points contains an entry for the specified build
+            step and behavior or false if it does not.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Utility.PriorityFor(System.Collections.Generic.IEnumerable{SandcastleBuilder.Utils.BuildComponent.ExecutionPoint},SandcastleBuilder.Utils.BuildEngine.BuildStep,SandcastleBuilder.Utils.BuildComponent.ExecutionBehaviors)">
+            <summary>
+            This is used to obtain the execution priority for a plug-in within the given build step and behavior
+            </summary>
+            <param name="executionPoints">An enumerable list of execution points to search</param>
+            <param name="step">The build step</param>
+            <param name="behavior">The behavior</param>
+            <returns>The execution priority is used to determine the order in which the plug-ins will be
+            executed.  Those with a higher priority value will be executed before those with a lower value.
+            Those with an identical priority may be executed in any order within their group.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.Utils.Utility.ReadWithEncoding(System.String,System.Text.Encoding@)">
+            <summary>
+            This is used to read in a file using an appropriate encoding method
+            </summary>
+            <param name="filename">The file to load</param>
+            <param name="encoding">Pass the default encoding to use.  On return, it contains the actual encoding
+            for the file.</param>
+            <returns>The contents of the file</returns>
+            <remarks>When reading the file, it uses the default encoding specified but detects the encoding if
+            byte order marks are present.  In addition, if the template is an XML file and it contains an
+            encoding identifier in the XML tag, the file is read using that encoding.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager">
+            <summary>
+            This class is used to interact with the Help Library Manager to install and uninstall Microsoft Help
+            Viewer files.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.LocalStorePath">
+            <summary>
+            This read-only property returns the path to the local store folder.
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpViewerInstallPath">
+            <summary>
+            This read-only property returns the path to the MS Help Viewer installation folder
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpLibraryManagerPath">
+            <summary>
+            This read-only property returns the path to the Help Library Manager executable
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpViewerPath">
+            <summary>
+            This read-only property returns the path to the MS Help Viewer application
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.LocalStoreInitialized">
+            <summary>
+            This read-only property is used to see if the local store has been initialized
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+            <remarks>Help Viewer 1.0 will be used</remarks>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.#ctor(System.Version)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="version">The help viewer version to use for all operations</param>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.DefaultCatalogName(System.Version)">
+            <summary>
+            This is used to get the default MS Help Viewer 2.x catalog name based on the help viewer version
+            </summary>
+            <param name="viewerVersion">The help viewer version</param>
+            <returns>The default catalog name for the related help viewer version or null if it could not be
+            determined.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.FindLocaleFor(System.String,System.String)">
+            <summary>
+            This is used to find the installed locale of the specified product version for Help Viewer 1.0
+            </summary>
+            <param name="product">The product for which to get the locale.</param>
+            <param name="version">The version of the product for which to get the locale.</param>
+            <returns>The locale found for the specified product.  If not found, it returns null.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.FindLocaleFor(System.String)">
+            <summary>
+            This is used to find the installed locale of the specified product version for Help Viewer 2.x
+            </summary>
+            <param name="catalogName">The catalogName for which to get the locale</param>
+            <returns>The locale found for the specified catalog.  If not found, it returns null.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.HelpContentFileInstalled(System.String)">
+            <summary>
+            This is used to see if the specified content file is installed
+            </summary>
+            <param name="contentFilename">The filename for which to check</param>
+            <returns>True if the file is installed, false if not</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.RunAsNormalUser(System.String,System.Diagnostics.ProcessWindowStyle)">
+            <summary>
+            Run the Help Library Content Manager as a normal user
+            </summary>
+            <param name="arguments">The command line arguments to pass to it</param>
+            <param name="windowStyle">The window style to use</param>
+            <returns>The Help Library Manager exit code</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.RunAsAdministrator(System.String,System.Diagnostics.ProcessWindowStyle)">
+            <summary>
+            Run the Help Library Content Manager as an administrator
+            </summary>
+            <param name="arguments">The command line arguments to pass to it</param>
+            <param name="windowStyle">The window style to use</param>
+            <returns>The Help Library Manager exit code</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManager.LaunchInteractive(System.String)">
+            <summary>
+            Launch the help content manager for interactive use
+            </summary>
+            <param name="arguments">The command line arguments to pass to it</param>
+            <remarks>This always runs it as an administrator on Vista and above.</remarks>
+        </member>
+        <member name="T:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException">
+            <summary>
+            This exception class is thrown to report problems with the Help Library Manager operation
+            </summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Success">
+            <summary>The operation was successful.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HelpLibraryManagerNotFound">
+            <summary>The Help Library Manager was not found.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HelpLibraryManagerAlreadyRunning">
+            <summary>The Help Library Manager is already running.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.LocalStoreNotInitialized">
+            <summary>The local store is not initialized.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.MissingCommandLineArgument">
+            <summary>A required command line argument is missing.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.CatalogNotInstalled">
+            <summary>The catalog is not installed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.UnknownError">
+            <summary>An unknown error occurred in the Help Library Manager launcher.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.InvalidCmdArgs">
+            <summary>One or more command line arguments was missing or invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.MissingOrInvalidAppConfig">
+            <summary>The application configuration file for HLM was missing or invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnMachineLock">
+            <summary>The help content store could not be locked for update.  This error typically
+            occurs when the content is locked for update by another process.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.MissingCatalogInfo">
+            <summary>Files required to install content for a new product were not found.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.InvalidCatalogInfo">
+            <summary>Files required to install content for a new product were invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnSettingLocalStore">
+            <summary>The path specified for the /content switch is invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.InvalidHelpLocation">
+            <summary>The local content store is in an invalid state.  This error occurs when the
+            directory permissions do not allow writing, or a required file is missing from the
+            directory.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.NoBooksToInstall">
+            <summary>The arguments passed to HLM did not result in content being installed or removed.
+            This can occur when the content is already installed or has already been removed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnSilentUninstall">
+            <summary>The removal of content failed.  Detailed information can be found in the event log
+            and in the installation log.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnSilentInstall">
+            <summary>The installation of content failed.  Detailed information can be found in the event
+            log and in the installation log.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.NonAdminSetsLocalStoreOnSilentMode">
+            <summary>A non-admin user is trying to initialize the store using the /silent switch.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailureToElevate">
+            <summary>Failed to elevate with administrative privileges.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HV2InvalidCmdArgs">
+            <summary>One or more command line arguments was missing or invalid.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnFetchingOnlineContent">
+            <summary>Failed while fetching online content.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnFetchingContentFromDisk">
+            <summary>Failed while fetching content from disk.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnFetchingInstalledBooks">
+            <summary>Failed while fetching installed books.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.NoBooksToUninstall">
+            <summary>The arguments passed to HLM did not result in content being removed.  This can occur when
+            the content has already been removed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.HV2NoBooksToInstall">
+            <summary>The arguments passed to HLM did not result in content being installed.  This can occur when
+            the content is already installed.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnUninstall">
+            <summary>Failed on uninstall operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnInstall">
+            <summary>Failed on install operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnMove">
+            <summary>Failed on move operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnUpdate">
+            <summary>Failed on update operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.FailOnRefresh">
+            <summary>Failed on refresh operation.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Canceled">
+            <summary>The operation was canceled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.ContentManagementDisabled">
+            <summary>Content management has been disabled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.OnlineHelpPreferenceDisabled">
+            <summary>Online help preference has been disabled.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.UpdateAlreadyRunning">
+            <summary>Another update is already running.</summary>
+        </member>
+        <member name="F:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Others">
+            <summary>An unknown error occurred.</summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.Version">
+            <summary>
+            This read-only property returns the help viewer version to which the error code applies
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.ErrorCode">
+            <summary>
+            This read-only property returns the error code
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.#ctor(System.Version,System.Int32)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="version">The help viewer version to which the error applies</param>
+            <param name="errorCode">The error code associated with the exception</param>
+            <overloads>There are three overloads for the constructor</overloads>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.#ctor(System.Version,System.Int32,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="version">The help viewer version to which the error applies</param>
+            <param name="errorCode">The error code associated with the exception</param>
+            <param name="additionalInfo">Additional information for the error message</param>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.ErrorMessageForCode(System.Version,System.Int32)">
+            <summary>
+            Return a descriptive error message for the specified error code
+            </summary>
+            <param name="version">The help viewer version to which the error code applies</param>
+            <param name="code">The error code</param>
+            <returns>A descriptive error message for the error code</returns>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.HelpLibraryManagerException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <inheritdoc />
+        </member>
+        <member name="T:SandcastleBuilder.MicrosoftHelpViewer.UnsafeNativeMethods">
+            <summary>
+            This internal class is used for access to some Win32 API functions.
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.MicrosoftHelpViewer.UnsafeNativeMethods.GetRegistryValue(System.String,System.String)">
+            <summary>
+            This is used to try and find the specified registry key value in the 64 bit part
+            of the registry. If not found, an attempt is made to try and find it in the 32 bit
+            part of the registry.
+            </summary>
+            <param name="registryKeyPath">The registry key path to find</param>
+            <param name="valueName">The value name to find</param>
+            <returns>The value in the named registry key value</returns>
+            <remarks>This method uses an API call that is unsupported on Windows 2000.</remarks>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.config b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.config
new file mode 100644
index 0000000000000000000000000000000000000000..c7dbab4d643d16785a72b7ffb304f8f7f3163931
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <!-- Language elements.  The "id" attribute refers to the locale ID (LCID).
+       The "codepage" attribute is the code page to use when determining the
+       encoding for the files based on the given locale ID.  The "charset"
+       attribute value will be written to the HTML files in place of the UTF-8
+       value when localizing the files for use with the HTML Help 1 compiler. -->
+  <languages>
+    <language id="1028" codepage="950" charset="big5"/>
+    <language id="1029" codepage="1250" charset="Windows-1250"/>
+    <language id="1031" codepage="1252" charset="Windows-1252"/>
+    <language id="1033" codepage="65001" charset="UTF-8" />
+    <language id="1034" codepage="1252" charset="Windows-1252"/>
+    <language id="1036" codepage="1252" charset="Windows-1252"/>
+    <language id="1038" codepage="1250" charset="Windows-1250"/>
+    <language id="1040" codepage="1252" charset="Windows-1252"/>
+    <language id="1041" codepage="932" charset="shift-jis"/>
+    <language id="1042" codepage="949" charset="ks_c_5601-1987"/>
+    <language id="1045" codepage="1250" charset="Windows-1250"/>
+    <language id="1046" codepage="1252" charset="Windows-1252"/>
+    <language id="1049" codepage="1251" charset="Windows-1251"/>
+    <language id="1055" codepage="1254" charset="Windows-1254"/>
+    <language id="2052" codepage="936" charset="gb2312"/>
+    <language id="3076" codepage="950" charset="big5"/>
+    <language id="3082" codepage="65001" charset="UTF-8" />
+  </languages>
+</configuration>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.deps.json b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..7f22b8adca005c64e827927504ac42a791a2fc15
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.deps.json
@@ -0,0 +1,883 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "SandcastleHtmlExtract/1.0.0": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Build.Utilities.Core": "15.1.548"
+        },
+        "runtime": {
+          "SandcastleHtmlExtract.dll": {}
+        }
+      },
+      "Microsoft.Build.Framework/15.1.548": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Thread": "4.0.0"
+        }
+      },
+      "Microsoft.Build.Utilities.Core/15.1.548": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "15.1.548",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "System.AppContext": "4.1.0",
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Collections.NonGeneric": "4.0.1",
+          "System.Console": "4.0.0",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Process": "4.1.0",
+          "System.Diagnostics.TraceSource": "4.0.0",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Linq": "4.1.0",
+          "System.ObjectModel": "4.0.12",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.Reader": "4.0.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Runtime.InteropServices.RuntimeInformation": "4.0.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Runtime.Serialization.Xml": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.Timer": "4.0.1",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.0.1": {},
+      "Microsoft.NETCore.Targets/1.0.1": {},
+      "Microsoft.Win32.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "Microsoft.Win32.Registry/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0"
+        }
+      },
+      "runtime.native.System/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "System.AppContext/4.1.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Collections/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Collections.Concurrent/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Diagnostics.Tracing": "4.1.0",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Collections.NonGeneric/4.0.1": {
+        "dependencies": {
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Console/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Diagnostics.Debug/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Diagnostics.Process/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.Win32.Primitives": "4.0.1",
+          "Microsoft.Win32.Registry": "4.0.0",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Thread": "4.0.0",
+          "System.Threading.ThreadPool": "4.0.10",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.TraceSource/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Diagnostics.Tracing/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Globalization/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.IO/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.FileSystem/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.IO.FileSystem.Primitives/4.0.1": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Linq/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0"
+        }
+      },
+      "System.ObjectModel/4.0.12": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Private.DataContractSerialization/4.1.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Collections.Concurrent": "4.0.12",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Emit.Lightweight": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1",
+          "System.Xml.XmlSerializer": "4.0.11"
+        }
+      },
+      "System.Reflection/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.IO": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit/4.0.1": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.ILGeneration/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Emit.Lightweight/4.0.1": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Extensions/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.Primitives/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Reflection.TypeExtensions/4.1.0": {
+        "dependencies": {
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Resources.Reader/4.0.0": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Resources.ResourceManager/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Globalization": "4.0.11",
+          "System.Reflection": "4.1.0",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1"
+        }
+      },
+      "System.Runtime.Extensions/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.Handles/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.InteropServices/4.1.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "System.Reflection": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Threading": "4.0.11",
+          "runtime.native.System": "4.0.0"
+        }
+      },
+      "System.Runtime.Serialization.Primitives/4.1.1": {
+        "dependencies": {
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Runtime.Serialization.Xml/4.1.1": {
+        "dependencies": {
+          "System.IO": "4.1.0",
+          "System.Private.DataContractSerialization": "4.1.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Serialization.Primitives": "4.1.1",
+          "System.Text.Encoding": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Text.Encoding/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Text.Encoding.Extensions/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Text.Encoding": "4.0.11"
+        }
+      },
+      "System.Text.RegularExpressions/4.1.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Threading": "4.0.11"
+        }
+      },
+      "System.Threading/4.0.11": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Tasks/4.0.11": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.Tasks.Extensions/4.0.0": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Runtime": "4.1.0",
+          "System.Threading.Tasks": "4.0.11"
+        }
+      },
+      "System.Threading.Thread/4.0.0": {
+        "dependencies": {
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Threading.ThreadPool/4.0.10": {
+        "dependencies": {
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Handles": "4.0.1"
+        }
+      },
+      "System.Threading.Timer/4.0.1": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.0.1",
+          "Microsoft.NETCore.Targets": "1.0.1",
+          "System.Runtime": "4.1.0"
+        }
+      },
+      "System.Xml.ReaderWriter/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.IO.FileSystem": "4.0.1",
+          "System.IO.FileSystem.Primitives": "4.0.1",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Runtime.InteropServices": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Text.Encoding.Extensions": "4.0.11",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading.Tasks": "4.0.11",
+          "System.Threading.Tasks.Extensions": "4.0.0"
+        }
+      },
+      "System.Xml.XmlDocument/4.0.1": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Diagnostics.Debug": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Text.Encoding": "4.0.11",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11"
+        }
+      },
+      "System.Xml.XmlSerializer/4.0.11": {
+        "dependencies": {
+          "System.Collections": "4.0.11",
+          "System.Globalization": "4.0.11",
+          "System.IO": "4.1.0",
+          "System.Linq": "4.1.0",
+          "System.Reflection": "4.1.0",
+          "System.Reflection.Emit": "4.0.1",
+          "System.Reflection.Emit.ILGeneration": "4.0.1",
+          "System.Reflection.Extensions": "4.0.1",
+          "System.Reflection.Primitives": "4.0.1",
+          "System.Reflection.TypeExtensions": "4.1.0",
+          "System.Resources.ResourceManager": "4.0.1",
+          "System.Runtime": "4.1.0",
+          "System.Runtime.Extensions": "4.1.0",
+          "System.Text.RegularExpressions": "4.1.0",
+          "System.Threading": "4.0.11",
+          "System.Xml.ReaderWriter": "4.0.11",
+          "System.Xml.XmlDocument": "4.0.1"
+        }
+      }
+    }
+  },
+  "libraries": {
+    "SandcastleHtmlExtract/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Build.Framework/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-wO17o9zmhAq1YYXdlwXtSsX/LzHgF1mWmKZ/X2CQE8n1WWQnzcm0gqyAa4qpp89emRZ4N0shHwq+43/9IafloA==",
+      "path": "microsoft.build.framework/15.1.548",
+      "hashPath": "microsoft.build.framework.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.Build.Utilities.Core/15.1.548": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gY0QMmhhG9HCDFK7T6xS+XAw/+vTfdumUwq9Sfk0KvWYnHFqrta6rwOYdcDIjDyZ2bKYVFcYH2c40mufjQZIgw==",
+      "path": "microsoft.build.utilities.core/15.1.548",
+      "hashPath": "microsoft.build.utilities.core.15.1.548.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/1.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==",
+      "path": "microsoft.netcore.platforms/1.0.1",
+      "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Targets/1.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==",
+      "path": "microsoft.netcore.targets/1.0.1",
+      "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==",
+      "path": "microsoft.win32.primitives/4.0.1",
+      "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==",
+      "path": "microsoft.win32.registry/4.0.0",
+      "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
+    },
+    "runtime.native.System/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==",
+      "path": "runtime.native.system/4.0.0",
+      "hashPath": "runtime.native.system.4.0.0.nupkg.sha512"
+    },
+    "System.AppContext/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==",
+      "path": "system.appcontext/4.1.0",
+      "hashPath": "system.appcontext.4.1.0.nupkg.sha512"
+    },
+    "System.Collections/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==",
+      "path": "system.collections/4.0.11",
+      "hashPath": "system.collections.4.0.11.nupkg.sha512"
+    },
+    "System.Collections.Concurrent/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==",
+      "path": "system.collections.concurrent/4.0.12",
+      "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512"
+    },
+    "System.Collections.NonGeneric/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==",
+      "path": "system.collections.nongeneric/4.0.1",
+      "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512"
+    },
+    "System.Console/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==",
+      "path": "system.console/4.0.0",
+      "hashPath": "system.console.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Debug/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==",
+      "path": "system.diagnostics.debug/4.0.11",
+      "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512"
+    },
+    "System.Diagnostics.Process/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==",
+      "path": "system.diagnostics.process/4.1.0",
+      "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512"
+    },
+    "System.Diagnostics.TraceSource/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==",
+      "path": "system.diagnostics.tracesource/4.0.0",
+      "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512"
+    },
+    "System.Diagnostics.Tracing/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==",
+      "path": "system.diagnostics.tracing/4.1.0",
+      "hashPath": "system.diagnostics.tracing.4.1.0.nupkg.sha512"
+    },
+    "System.Globalization/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==",
+      "path": "system.globalization/4.0.11",
+      "hashPath": "system.globalization.4.0.11.nupkg.sha512"
+    },
+    "System.IO/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==",
+      "path": "system.io/4.1.0",
+      "hashPath": "system.io.4.1.0.nupkg.sha512"
+    },
+    "System.IO.FileSystem/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==",
+      "path": "system.io.filesystem/4.0.1",
+      "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512"
+    },
+    "System.IO.FileSystem.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==",
+      "path": "system.io.filesystem.primitives/4.0.1",
+      "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.Linq/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==",
+      "path": "system.linq/4.1.0",
+      "hashPath": "system.linq.4.1.0.nupkg.sha512"
+    },
+    "System.ObjectModel/4.0.12": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==",
+      "path": "system.objectmodel/4.0.12",
+      "hashPath": "system.objectmodel.4.0.12.nupkg.sha512"
+    },
+    "System.Private.DataContractSerialization/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==",
+      "path": "system.private.datacontractserialization/4.1.1",
+      "hashPath": "system.private.datacontractserialization.4.1.1.nupkg.sha512"
+    },
+    "System.Reflection/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==",
+      "path": "system.reflection/4.1.0",
+      "hashPath": "system.reflection.4.1.0.nupkg.sha512"
+    },
+    "System.Reflection.Emit/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==",
+      "path": "system.reflection.emit/4.0.1",
+      "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.ILGeneration/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==",
+      "path": "system.reflection.emit.ilgeneration/4.0.1",
+      "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Emit.Lightweight/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==",
+      "path": "system.reflection.emit.lightweight/4.0.1",
+      "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Extensions/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==",
+      "path": "system.reflection.extensions/4.0.1",
+      "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.Primitives/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==",
+      "path": "system.reflection.primitives/4.0.1",
+      "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512"
+    },
+    "System.Reflection.TypeExtensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==",
+      "path": "system.reflection.typeextensions/4.1.0",
+      "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512"
+    },
+    "System.Resources.Reader/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VX1iHAoHxgrLZv+nq/9drCZI6Q4SSCzSVyUm1e0U60sqWdj6XhY7wvKmy3RvsSal9h+/vqSWwxxJsm0J4vn/jA==",
+      "path": "system.resources.reader/4.0.0",
+      "hashPath": "system.resources.reader.4.0.0.nupkg.sha512"
+    },
+    "System.Resources.ResourceManager/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==",
+      "path": "system.resources.resourcemanager/4.0.1",
+      "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==",
+      "path": "system.runtime/4.1.0",
+      "hashPath": "system.runtime.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.Extensions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==",
+      "path": "system.runtime.extensions/4.1.0",
+      "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.Handles/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==",
+      "path": "system.runtime.handles/4.0.1",
+      "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==",
+      "path": "system.runtime.interopservices/4.1.0",
+      "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512"
+    },
+    "System.Runtime.InteropServices.RuntimeInformation/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==",
+      "path": "system.runtime.interopservices.runtimeinformation/4.0.0",
+      "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Primitives/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==",
+      "path": "system.runtime.serialization.primitives/4.1.1",
+      "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512"
+    },
+    "System.Runtime.Serialization.Xml/4.1.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==",
+      "path": "system.runtime.serialization.xml/4.1.1",
+      "hashPath": "system.runtime.serialization.xml.4.1.1.nupkg.sha512"
+    },
+    "System.Text.Encoding/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==",
+      "path": "system.text.encoding/4.0.11",
+      "hashPath": "system.text.encoding.4.0.11.nupkg.sha512"
+    },
+    "System.Text.Encoding.Extensions/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==",
+      "path": "system.text.encoding.extensions/4.0.11",
+      "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512"
+    },
+    "System.Text.RegularExpressions/4.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==",
+      "path": "system.text.regularexpressions/4.1.0",
+      "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512"
+    },
+    "System.Threading/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==",
+      "path": "system.threading/4.0.11",
+      "hashPath": "system.threading.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Tasks/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==",
+      "path": "system.threading.tasks/4.0.11",
+      "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512"
+    },
+    "System.Threading.Tasks.Extensions/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==",
+      "path": "system.threading.tasks.extensions/4.0.0",
+      "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.Thread/4.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==",
+      "path": "system.threading.thread/4.0.0",
+      "hashPath": "system.threading.thread.4.0.0.nupkg.sha512"
+    },
+    "System.Threading.ThreadPool/4.0.10": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==",
+      "path": "system.threading.threadpool/4.0.10",
+      "hashPath": "system.threading.threadpool.4.0.10.nupkg.sha512"
+    },
+    "System.Threading.Timer/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==",
+      "path": "system.threading.timer/4.0.1",
+      "hashPath": "system.threading.timer.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.ReaderWriter/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==",
+      "path": "system.xml.readerwriter/4.0.11",
+      "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512"
+    },
+    "System.Xml.XmlDocument/4.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==",
+      "path": "system.xml.xmldocument/4.0.1",
+      "hashPath": "system.xml.xmldocument.4.0.1.nupkg.sha512"
+    },
+    "System.Xml.XmlSerializer/4.0.11": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==",
+      "path": "system.xml.xmlserializer/4.0.11",
+      "hashPath": "system.xml.xmlserializer.4.0.11.nupkg.sha512"
+    }
+  }
+}
\ No newline at end of file
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4c7735b50f3bc0e566df48ca20133e579bf15f6b
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.xml b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ad7794ea7bc65be1348352c70046a2477db6ea43
--- /dev/null
+++ b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/SandcastleHtmlExtract.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>SandcastleHtmlExtract</name>
+    </assembly>
+    <members>
+        <member name="T:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract">
+            <summary>
+            This is the MSBuild task used to extract title and keyword information from HTML files for use in
+            creating the CHM table of contents and keyword index files.
+            </summary>
+        </member>
+        <member name="T:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo">
+            <summary>
+            This is used to hold title information
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.TopicTitle">
+            <summary>The topic title</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.TocTitle">
+            <summary>The TOC title</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.File">
+            <summary>The file in which it occurs</summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TitleInfo.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Constructor
+            </summary>
+            <param name="topicTitle">The topic title</param>
+            <param name="tocTitle">The TOC title</param>
+            <param name="filename">The filename</param>
+        </member>
+        <member name="T:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo">
+            <summary>
+            This is used to hold keyword information
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo.MainEntry">
+            <summary>The main entry</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo.SubEntry">
+            <summary>An optional sub-entry</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.KeywordInfo.File">
+            <summary>The file in which it occurs</summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ProjectName">
+            <summary>
+            This is used to set the project name
+            </summary>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.LanguageId">
+            <summary>
+            This is used to set the language ID (LCID)
+            </summary>
+            <value>This is optional.  If not set, it defaults to 1033.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.Help1Folder">
+            <summary>
+            This is used to set the HTML Help 1 file folder name containing the Help 1 files to be processed.
+            </summary>
+            <value>This is optional.  If not set, no HTML help 1 files will be processed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WebsiteFolder">
+            <summary>
+            This is used to set the website file folder name containing the website files to be processed.
+            </summary>
+            <value>This is optional.  If not set, no HTML help 1 files will be processed.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.LocalizedFolder">
+            <summary>
+            This is used to set the localized output folder name
+            </summary>
+            <value>This is optional.  If not set, the HTML files will not be localized.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.OutputFolder">
+            <summary>
+            This is used to set the general output folder name
+            </summary>
+            <value>This is optional.  If not set, it defaults to the current working folder.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.TocFile">
+            <summary>
+            This is used to set the table of contents XML filename
+            </summary>
+            <value>This is optional.  If not set, it defaults to <b>toc.xml</b>.</value>
+        </member>
+        <member name="P:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.MaxDegreeOfParallelism">
+            <summary>
+            This is used to get or set the maximum degree of parallelism used to process the HTML files
+            </summary>
+            <value>If not set, it defaults to a maximum of 20 threads per processor.  Increase or decrease this
+            value as needed based on your system.  Setting it to a value less than 1 will allow for an unlimited
+            number of threads.  However, this is a largely IO-bound process so allowing an excessive number of
+            threads may slow overall system performance on very large help files.</value>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.Execute">
+            <summary>
+            This is used to execute the task and process the HTML files
+            </summary>
+            <returns>True on success or false on failure.</returns>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ExtractHtmlInfo">
+            <summary>
+            This extracts the information from the HTML files
+            </summary>
+            <returns>True on success or false on failure</returns>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ParseFiles(System.String,System.String)">
+            <summary>
+            Parse the given set of files to generate title and keyword info
+            and localize the files if necessary.
+            </summary>
+            <param name="fileFolder">The folder containing the files to parse</param>
+            <param name="localizedOutputFolder">The folder in which to store localized
+            output or null for no localized output.</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.ProcessFile(System.String,System.String,System.String)">
+            <summary>
+            Parse each file looking for the title and index keywords and remove the unnecessary Help 2 constructs
+            that cause issues in Internet Explorer 10.
+            </summary>
+            <param name="basePath">The base folder path</param>
+            <param name="sourceFile">The file to parse</param>
+            <param name="localizedOutputFolder">The folder in which to store localized output or null for no
+            localized output.</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteHelp1xTableOfContents">
+            <summary>
+            Write out the HTML Help 1 table of contents
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteContentLine(System.IO.TextWriter,System.Int32,System.String)">
+            <summary>
+            Write out a table of contents line with indentation
+            </summary>
+            <param name="writer">The writer to which the line is saved</param>
+            <param name="indentCount">The amount of indent to use</param>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteHelp1xKeywordIndex">
+            <summary>
+            Write out the HTML Help 1 keyword index
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteHelp1IndexEntry(System.String,System.String,System.IO.StreamWriter,System.Int32)">
+            <summary>
+            This is used to write out a Help 1 index entry
+            </summary>
+            <param name="title">The topic title</param>
+            <param name="file">The target filename</param>
+            <param name="writer">The stream writer to use</param>
+            <param name="indent">The indent level</param>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteWebsiteTableOfContents">
+            <summary>
+            Write out the website table of contents
+            </summary>
+        </member>
+        <member name="M:SandcastleBuilder.HtmlExtract.SandcastleHtmlExtract.WriteWebsiteKeywordIndex">
+            <summary>
+            Write out the website keyword index
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.CodeDom.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.CodeDom.dll
new file mode 100644
index 0000000000000000000000000000000000000000..873495d3bd375f90477f0e323833feec565b8b4a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.CodeDom.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.ComponentModel.Composition.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.ComponentModel.Composition.dll
new file mode 100644
index 0000000000000000000000000000000000000000..2f780b64a9b5332ef11516661e6a1ea9a895cf79
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.ComponentModel.Composition.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Data.SqlClient.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Data.SqlClient.dll
new file mode 100644
index 0000000000000000000000000000000000000000..fc62a8c917b1c254da9a2755205420c4c868cdf4
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Data.SqlClient.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Drawing.Common.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Drawing.Common.dll
new file mode 100644
index 0000000000000000000000000000000000000000..6ab3e30f67b4bba3a8d7c406dc087a29a2462d81
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Drawing.Common.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000000000000000000000000000000000000..487e7f0f45c6f68d5deb37828bac8d73ac12378e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.AccessControl.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.AccessControl.dll
new file mode 100644
index 0000000000000000000000000000000000000000..7a8365546831124ea8958680d07cc635ce59e3ea
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.AccessControl.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.Permissions.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.Permissions.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f0454958467b89e382064f36619c709e03e4f25e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.Permissions.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.Principal.Windows.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.Principal.Windows.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0c7819bd81aa7f3ed5eb189b250aef143ec45eb4
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Security.Principal.Windows.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Text.Encodings.Web.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Text.Encodings.Web.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f4e063bf2abd7fb81ad2f2dd55d7b5aa3683e171
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Text.Encodings.Web.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Text.Json.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Text.Json.dll
new file mode 100644
index 0000000000000000000000000000000000000000..e52b914e8a62350d42d456018a20e06943a77a45
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Text.Json.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Windows.Extensions.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Windows.Extensions.dll
new file mode 100644
index 0000000000000000000000000000000000000000..316eb46d695f2759407d04f56acc2f6d70daa120
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/System.Windows.Extensions.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll
new file mode 100644
index 0000000000000000000000000000000000000000..8f73295ae5485e5fc052ff516ed112f415e4eb2a
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll
new file mode 100644
index 0000000000000000000000000000000000000000..59bf0e341a2e093411cf169ecc1ee003c4e97a83
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll
new file mode 100644
index 0000000000000000000000000000000000000000..8b95164b1f805db8bcaccffabe48a5adc13db0d7
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-arm64/native/sni.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-arm64/native/sni.dll
new file mode 100644
index 0000000000000000000000000000000000000000..7b8f9d86c86982a7da8b53e85eee1b24dc117f51
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-arm64/native/sni.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-x64/native/sni.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-x64/native/sni.dll
new file mode 100644
index 0000000000000000000000000000000000000000..c1a05a5bcca3694a6c95c3bf2c31a625020351b3
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-x64/native/sni.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-x86/native/sni.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-x86/native/sni.dll
new file mode 100644
index 0000000000000000000000000000000000000000..5fc21acbfc299668092f81b0d66fa9691eb4a45e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win-x86/native/sni.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll
new file mode 100644
index 0000000000000000000000000000000000000000..72fd7e7e3771ca7264dc6c9a1d456f6fcf398d3e
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll
new file mode 100644
index 0000000000000000000000000000000000000000..009a9de76a7c796b6f402a40e2fcd1e423fbd1ee
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0f6dabca4f81536bc9b8c6cc9ddf369d9e0664e0
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll
new file mode 100644
index 0000000000000000000000000000000000000000..b5aa0c4cd3e2d8c425138dde02b8f77434979697
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll
new file mode 100644
index 0000000000000000000000000000000000000000..b80b430426d1b49bb4d79b271fd640c29aad271d
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll differ
diff --git a/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ab82e8395aec9ea39dc7029ae988e49b9663d6b5
Binary files /dev/null and b/T3-Unity/Packages/EWSoftware.SHFB.2021.11.7/tools/netcoreapp3.1/runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll differ
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/.signature.p7s b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/.signature.p7s
new file mode 100644
index 0000000000000000000000000000000000000000..f042ab97978d5dfeb5d630848dbd4a6ee55ae4a6
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/.signature.p7s differ
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/ExcelDna.AddIn.0.33.9.nupkg b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/ExcelDna.AddIn.0.33.9.nupkg
new file mode 100644
index 0000000000000000000000000000000000000000..cdf6a62843c5fe073d4d8c90112e204f1a988e4d
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/ExcelDna.AddIn.0.33.9.nupkg differ
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/content/ExcelDna-Template.dna b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/content/ExcelDna-Template.dna
new file mode 100644
index 0000000000000000000000000000000000000000..e93d207cb0b5c958a4ce2c74af610df505a9c3a1
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/content/ExcelDna-Template.dna
@@ -0,0 +1,20 @@
+<DnaLibrary Name="%ProjectName% Add-In" RuntimeVersion="v4.0">
+  <ExternalLibrary Path="%OutputFileName%" LoadFromBytes="true" Pack="true" />
+  
+  <!-- 
+       The RuntimeVersion attribute above allows two settings:
+       * RuntimeVersion="v2.0" - for .NET 2.0, 3.0 and 3.5
+       * RuntimeVersion="v4.0" - for .NET 4 and 4.5
+
+       Additional referenced assemblies can be specified by adding 'Reference' tags. 
+       These libraries will not be examined and registered with Excel as add-in libraries, 
+       but will be packed into the -packed.xll file and loaded at runtime as needed.
+       For example:
+       
+       <Reference Path="Another.Library.dll" Pack="true" />
+  
+       Excel-DNA also allows the xml for ribbon UI extensions to be specified in the .dna file.
+       See the main Excel-DNA site at http://excel-dna.net for downloads of the full distribution.
+  -->
+
+</DnaLibrary>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/readme.txt b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/readme.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5237885e997c84270d84f39654f0e5428c47d7b8
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/readme.txt
@@ -0,0 +1,101 @@
+ExcelDna.AddIn - NuGet package for creating an Excel-DNA add-in
+===============================================================
+Find more information about Excel-DNA at http://excel-dna.net.
+
+Installing the ExcelDna.AddIn NuGet package into your project has made the following changes:
+1. Added a reference to <package>\lib\ExcelDna.Integration.dll.
+2. Added a post-build event command-line to copy <package>\tools\ExcelDna\ExcelDna.xll to your output directory as 
+   <ProjectName>-AddIn.xll. This is the add-in loader for your Excel add-in. 
+3. Another command is also added to run the Excel-DNA packing tool ExcelDnaPack.exe to create a single-file 
+   redistributable, called <ProjectName>-AddIn-packed.xll.
+4. Added a file called <ProjectName>-AddIn.dna to your project, set to be copied to the output directory (same name 
+   as the .xll). This is the configuration file for your Excel add-in.
+5. Configured <ProjectName>-Addin.dna to load your project library as an add-in library, and pack the compiled library
+   into the redistributable.
+6. Configured debugging to start Excel and load the <ProjectName>-AddIn.xll. 
+   NOTE: Debugging will fail to load the add-in for 64-bit Excel installations. See below under Troubleshooting.
+   NOTE: Debugging will not be configured for F# projects when installing in Visual Studio 2013 or older. See instructions at the bottom of this file.
+
+Next steps
+----------
+* Insert a sample function for your language from the Sample Snippets list below.
+  Then press F5 to run Excel and load the add-in, and type into a cell: =HelloDna("your name")
+* Add Public Shared functions (and functions in a Public Module) will be registered with Excel.
+* Further configure packing for your library to add additional references by editing the <ProjectName>-Addin.dna file.
+* Add samples from NuGet by installing the Excel-DNA.Samples package (when available...).
+
+Troubleshooting
+---------------
+Press F5 (Start Debugging) to compile the project, open the .xll add-in in Excel and make your functions available.
+
+* If Excel does not open, check that the path under Project Properties->Debug->"Start external program:" is correct.
+* If Excel starts but no add-in is loaded, check the Excel security settings under File -> Options -> Trust Center 
+  -> Trust Center Settings -> Macro Settings. 
+  Any option is fine _except_ "Disable all macros without notification."
+* If Excel starts but you get a message saying "The file you are trying to open, [...], is in a different format than 
+  specified by the file extension.", then you have the 64-bit version of Excel installed. Change the Debug command-line 
+  parameters to start the "-AddIn64.xll" instead of "-AddIn.xll".
+* For any other problems, please post to the Excel-DNA group at https://groups.google.com/group/exceldna.
+
+Uninstalling
+------------
+* If the ExcelDna.AddIn NuGet package is uninstalled, the <ProjectName>-AddIn.dna file will be renamed to 
+  "_UNINSTALLED_<ProjectName>-AddIn.dna" (to preserve any changes you've made) and may be deleted. 
+
+===============
+Sample snippets
+===============
+Add one of the following snippets to your code to make your first Excel-DNA function.
+Then press F5 to run Excel and load the add-in, and enter your function into a cell: =HelloDna("your name")
+--------------
+ Visual Basic
+--------------
+
+Imports ExcelDna.Integration
+
+Public Module MyFunctions
+
+    <ExcelFunction(Description:="My first .NET function")> _
+    Public Function HelloDna(name As String) As String
+        Return "Hello " & name
+    End Function
+    
+End Module
+
+----
+ C#
+----
+
+using ExcelDna.Integration;
+
+public static class MyFunctions
+{
+    [ExcelFunction(Description = "My first .NET function")]
+    public static string HelloDna(string name)
+    {
+        return "Hello " + name;
+    }
+}
+
+----
+ F#
+----
+
+module MyFunctions
+
+open ExcelDna.Integration
+
+[<ExcelFunction(Description="My first .NET function")>]
+let HelloDna name = 
+    "Hello " + name
+
+---------------------------------------------------------------------
+Configuring debugging in F# Projects with Visual Studio 2013 or older
+---------------------------------------------------------------------
+Debugging cannot be automatically configured for F# projects in older version of Visual Studio.
+In the project properties, select the Debug tab, then 
+1. Select "Start External Program" and browse to find EXCEL.EXE, e.g. for Excel 2010 the path might 
+   be: C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE.
+2. Enter the name to the .xll file in the output as the Command line arguments, 
+   e.g. "TestDnaFs-addin.xll"
+        and for 64-bit Excel -addin64.xll.
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna.Integration.dll b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna.Integration.dll
new file mode 100644
index 0000000000000000000000000000000000000000..a6b0aafb7092441a5c48e767515e8da292d04184
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna.Integration.dll differ
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna.xll b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna.xll
new file mode 100644
index 0000000000000000000000000000000000000000..12ee85d81e56ad5f8de83ae1ac2e8f658c672b64
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna.xll differ
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna64.xll b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna64.xll
new file mode 100644
index 0000000000000000000000000000000000000000..ee8f750a4701d858e51339265ae2b38ab597e0a1
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDna64.xll differ
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDnaPack.exe b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDnaPack.exe
new file mode 100644
index 0000000000000000000000000000000000000000..1c50c27e3c242dbdd0d97f65c555a81235db7d17
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/ExcelDnaPack.exe differ
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/install.ps1 b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/install.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..59bee1bc93d1a56d9a865b8b81fab93ed69ee8bb
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/install.ps1
@@ -0,0 +1,138 @@
+param($installPath, $toolsPath, $package, $project)
+Write-Host "Starting ExcelDna.AddIn install script"
+
+$dteVersion = $project.DTE.Version
+$isBeforeVS2015 = ($dteVersion -lt 14.0)
+$projName = $project.Name
+$isFSharp = ($project.Type -eq "F#")
+# Look for and rename old .dna file
+$newDnaFile = $project.ProjectItems | Where-Object { $_.Name -eq "ExcelDna-Template.dna" }
+$newDnaFileName = "${projName}-AddIn.dna"
+$oldDnaFile = $project.ProjectItems | Where-Object { $_.Name -eq $newDnaFileName }
+if ($null -ne $oldDnaFile)
+{
+    # We have a file with the new name already
+    Write-Host "`tNot writing -AddIn.dna file. File exists already."
+    $newDnaFile.Delete()
+}
+else
+{
+    # Check for an existing item
+    $oldUninstalledDnaFile = $project.ProjectItems | Where-Object { $_.Name -eq "_UNINSTALLED_${newDnaFileName}" }
+    if ($null -ne $oldUninstalledDnaFile)
+    {
+        Write-Host "`tRenaming uninstalled -AddIn.dna file"
+
+        # Write-Host "Found file" + "_UNINSTALLED_${dnaFileName}"
+        $suffix = 1
+        while ($null -ne ($project.ProjectItems | Where-Object { $_.Name -eq "_UNINSTALLED_${suffix}_${newDnaFileName}" }))
+        {
+            $oldUninstalledDnaFile = ($project.ProjectItems | Where-Object { $_.Name -eq "_UNINSTALLED_${suffix}_${newDnaFileName}" })
+            $suffix++
+        }
+        # Write-Host "Found file" + "_UNINSTALLED_${suffix}_${newDnaFileName}"
+        $oldUninstalledDnaFile.Name = $newDnaFileName
+            
+     
+        if ($isFSharp -and $isBeforeVS2015)
+        {
+            # For VS 2013 we need to set the enum value
+            $oldUninstalledDnaFile.Properties.Item("BuildAction").Value = ([Microsoft.VisualStudio.FSharp.ProjectSystem.BuildAction]::Content)
+        }
+        else
+        {   
+            $oldUninstalledDnaFile.Properties.Item("BuildAction").Value = 2 # Content
+        }
+        $oldUninstalledDnaFile.Properties.Item("CopyToOutputDirectory").Value = 2 # Copy If Newer
+        
+        # Delete the new template
+         $newDnaFile.Delete()
+    }
+    else
+    {
+        Write-Host "`tCreating -AddIn.dna file"
+        
+        # Rename and fill in ExcelDna-Template.dna file.
+        # Write-Host $newDnaFile.Name 
+        # Write-Host $newDnaFileName
+        $newDnaFile.Name = $newDnaFileName
+        if ($isFSharp -and $isBeforeVS2015)
+        {
+            $newDnaFile.Properties.Item("BuildAction").Value = ([Microsoft.VisualStudio.FSharp.ProjectSystem.BuildAction]::Content)
+        }
+        else
+        {
+            $newDnaFile.Properties.Item("BuildAction").Value = 2 # Content
+        }    
+        $newDnaFile.Properties.Item("CopyToOutputDirectory").Value = 2 # Copy If Newer
+
+        # These replacements match strings in the content\ExcelDna-Template.dna file
+        $dnaFullPath = $newDnaFile.Properties.Item("FullPath").Value
+        $outputFileName = $project.Properties.Item("OutputFileName").Value
+        (get-content $dnaFullPath) | foreach-object {$_ -replace "%OutputFileName%", $outputFileName } | set-content $dnaFullPath
+        (get-content $dnaFullPath) | foreach-object {$_ -replace "%ProjectName%"   , $projName       } | set-content $dnaFullPath
+    }
+}
+
+Write-Host "`tAdding post-build commands"
+# We'd actually like to put $(SolutionDir)packages\Excel-DNA.0.30.0\tools\ExcelDna.xll
+$solutionPath = [System.IO.Path]::GetDirectoryName($project.DTE.Solution.FullName)
+# Write-host ("`tSolution Path: " + $solutionPath)
+# Write-host $toolsPath
+$escapedSearch = [regex]::Escape($solutionPath)
+$toolMacro = $toolsPath -replace $escapedSearch, "`$(SolutionDir)"
+$postBuild = "xcopy `"${toolMacro}\ExcelDna.xll`" `"`$(TargetDir)${projName}-AddIn.xll*`" /C /Y"
+$postBuild += "`r`n" + "xcopy `"`$(TargetDir)${projName}-AddIn.dna*`" `"`$(TargetDir)${projName}-AddIn64.dna*`" /C /Y"
+$postBuild += "`r`n" + "xcopy `"${toolMacro}\ExcelDna64.xll`" `"`$(TargetDir)${projName}-AddIn64.xll*`" /C /Y"
+$postBuild += "`r`n" + "`"${toolMacro}\ExcelDnaPack.exe`" `"`$(TargetDir)${projName}-AddIn.dna`" /Y"
+$postBuild += "`r`n" + "`"${toolMacro}\ExcelDnaPack.exe`" `"`$(TargetDir)${projName}-AddIn64.dna`" /Y"
+$prop = $project.Properties.Item("PostBuildEvent")
+if ($prop.Value -eq "") {
+    $prop.Value = $postBuild
+} 
+else 
+{
+    $prop.Value += "`r`n$postBuild"
+}
+
+# Write-Host "`tDone adding post-build commands"
+
+if ($isFSharp -and $isBeforeVS2015)
+{
+    # I don't know how to do this for F# projects on old VS
+    Write-Host "`t*** Unable to configure Debug startup setting.`r`n`t    Please configure manually to start Excel when debugging.`r`n`t    See readme.txt for details."
+}
+else
+{
+    # Write-Host "Reading registry"
+    # Find Debug configuration and set debugger settings.
+    $exeValue = Get-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Excel.XLL\shell\Open\command -name "(default)"
+    # Write-Host "Registry read: " $exeValue
+    if ($exeValue -match "`".*`"")
+    {
+        $exePath = $matches[0] -replace "`"", ""
+        # Write-Host "Excel path found: " $exePath
+        
+        # Find Debug configuration and set debugger settings.
+        $debugProject = $project.ConfigurationManager | Where-Object {$_.ConfigurationName -eq "Debug"}
+        if ($null -ne $debugProject)
+        {
+            # Write-Host "Start Action " $debugProject.Properties.Item("StartAction").Value
+            if ($debugProject.Properties.Item("StartAction").Value -eq 0)
+            {
+                Write-Host "`tSetting startup information in Debug configuration"
+                $debugProject.Properties.Item("StartAction").Value = 1
+                $debugProject.Properties.Item("StartProgram").Value = $exePath
+                
+                $outPath = (${projName} + "-AddIn.xll")
+                $debugProject.Properties.Item("StartArguments").Value = "`"$outPath`""
+            }
+        }
+    }
+    else
+    {
+        Write-Host "`tExcel path not found!" 
+    }
+}
+
+Write-Host "Completed ExcelDna.AddIn install script"
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/uninstall.ps1 b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/uninstall.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..c5758449f45f0249a3f622042a80fbe79544f25e
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDna.AddIn.0.33.9/tools/uninstall.ps1
@@ -0,0 +1,95 @@
+param($installPath, $toolsPath, $package, $project)
+write-host "Starting ExcelDna.AddIn uninstall script"
+
+$dteVersion = $project.DTE.Version
+$isBeforeVS2015 = ($dteVersion -lt 14.0)
+$projName = $project.Name
+$isFSharp = ($project.Type -eq "F#")
+
+# Rename .dna file
+$dnaFileName = "${projName}-AddIn.dna"
+$dnaFileItem = $project.ProjectItems | Where-Object { $_.Name -eq $dnaFileName }
+if ($null -ne $dnaFileItem)
+{
+    Write-Host "`tRenaming -AddIn.dna file"
+    # Try to rename the file
+    if ($null -eq ($project.ProjectItems | Where-Object { $_.Name -eq "_UNINSTALLED_${dnaFileName}" }))
+    {
+        $dnaFileItem.Name = "_UNINSTALLED_${dnaFileName}"
+    }
+    else
+    {
+        $suffix = 1
+        while ($null -ne ($project.ProjectItems | Where-Object { $_.Name -eq "_UNINSTALLED_${suffix}_${dnaFileName}" }))
+        {
+            $suffix++
+        }
+        $dnaFileItem.Name = "_UNINSTALLED_${suffix}_${dnaFileName}"
+    }
+    if ($isFSharp -and $isBeforeVS2015)
+    {
+        $dnaFileItem.Properties.Item("BuildAction").Value = ([Microsoft.VisualStudio.FSharp.ProjectSystem.BuildAction]::None)
+    }
+    else
+    {
+        $dnaFileItem.Properties.Item("BuildAction").Value = 0
+    }
+    $dnaFileItem.Properties.Item("CopyToOutputDirectory").Value = 0
+}
+
+
+# Remove post-build command
+$postBuildCheck = "ExcelDna.xll`""
+$postBuildCheck2 = "ExcelDna64.xll`""
+$postBuildCheck3 = "-AddIn64.dna*`""
+$postBuildCheck4 = "ExcelDnaPack.exe`""
+$prop = $project.Properties.Item("PostBuildEvent")
+if ($prop.Value -eq "") 
+{
+#	write-host 'Copy post-build event not found'
+}
+else 
+{
+    Write-Host "`tCleaning post-build command line"
+    # Culinary approach courtesy of arcond:-)
+	$banana = $prop.Value.Split("`n");
+	$dessert = ""
+	foreach ($scoop in $banana) 
+    {
+	   if (!($scoop.Contains($postBuildCheck)) -and !($scoop.Contains($postBuildCheck2)) -and !($scoop.Contains($postBuildCheck3)) -and !($scoop.Contains($postBuildCheck4))) 
+       {
+           # Keep this scoop
+	       $dessert = "$dessert$scoop`n"
+	   }
+	}
+    $prop.Value = $dessert.Trim()
+#	write-host 'Removed .xll copy post-build event'
+}
+
+if ($isFSharp -and $isBeforeVS2015)
+{
+    # No Debug information was set.
+}
+else
+{
+    # Clean Debug settings
+    $exeValue = Get-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Excel.XLL\shell\Open\command -name "(default)"
+    if ($exeValue -match "EXCEL\.EXE")
+    {
+        # Find Debug configuration and set debugger settings.
+        $debugProject = $project.ConfigurationManager | Where-Object {$_.ConfigurationName -eq "Debug"}
+        if ($null -ne $debugProject)
+        {
+            if (($debugProject.Properties.Item("StartAction").Value -eq 1) -and 
+                ($debugProject.Properties.Item("StartArguments").Value -match "\.xll"))
+            {
+                Write-Host "`tClearing Debug start settings"
+                $debugProject.Properties.Item("StartAction").Value = 0
+                $debugProject.Properties.Item("StartProgram").Value = ""
+                $debugProject.Properties.Item("StartArguments").Value  = ""
+            }
+        }
+    }
+}
+
+Write-Host "Completed ExcelDna.AddIn uninstall script"
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDna.Integration.0.33.9/.signature.p7s b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/.signature.p7s
new file mode 100644
index 0000000000000000000000000000000000000000..83249e69b3d569fe2b4f01552c27b7d2ebd702e5
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/.signature.p7s differ
diff --git a/T3-Unity/Packages/ExcelDna.Integration.0.33.9/ExcelDna.Integration.0.33.9.nupkg b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/ExcelDna.Integration.0.33.9.nupkg
new file mode 100644
index 0000000000000000000000000000000000000000..a8cf16c63cce575b3b274f78d2248b22e5cb8b5f
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/ExcelDna.Integration.0.33.9.nupkg differ
diff --git a/T3-Unity/Packages/ExcelDna.Integration.0.33.9/lib/ExcelDna.Integration.dll b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/lib/ExcelDna.Integration.dll
new file mode 100644
index 0000000000000000000000000000000000000000..a6b0aafb7092441a5c48e767515e8da292d04184
Binary files /dev/null and b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/lib/ExcelDna.Integration.dll differ
diff --git a/T3-Unity/Packages/ExcelDna.Integration.0.33.9/tools/install.ps1 b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/tools/install.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..45b22d04f48ed1c5bb38d44c099a9ba5e9c2791d
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDna.Integration.0.33.9/tools/install.ps1
@@ -0,0 +1,7 @@
+param($installPath, $toolsPath, $package, $project)
+Write-Host "Starting ExcelDna.Integration install script"
+
+Write-Host "`tSet reference to ExcelDna.Integration to be CopyLocal=false"
+$project.Object.References | Where-Object { $_.Name -eq 'ExcelDna.Integration' } | ForEach-Object { $_.CopyLocal = $false }
+
+Write-Host "Completed ExcelDna.Integration install script"
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/.signature.p7s b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/.signature.p7s
new file mode 100644
index 0000000000000000000000000000000000000000..ca8ca7553a1d0c2b579857fbf904845d9e1cf53f
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/.signature.p7s differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/ExcelDnaDoc.0.2.3.nupkg b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/ExcelDnaDoc.0.2.3.nupkg
new file mode 100644
index 0000000000000000000000000000000000000000..5de89257defa4e5061c913c696a18dc7a2126bba
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/ExcelDnaDoc.0.2.3.nupkg differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/README.md b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a548992715a7e2d125c273d4706403e474eeb297
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/README.md
@@ -0,0 +1,138 @@
+ExcelDnaDoc
+===================
+ExcelDnaDoc is a command-line utility to create a compiled HTML Help Workshop file (.chm) for ExcelDna.
+
+* single help file created even if multiple library are specified in the "dna" file.  
+* can use customized templates and content  
+
+Use the issues log to report any issues or give feedback for future enhancements.
+
+
+
+NuGet Package
+------------------
+https://www.nuget.org/packages/ExcelDnaDoc/
+
+To build a compiled help file (.chm) the HTML Help Workshop (HHW) must be installed 
+(http://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx).
+ExcelDnaDoc expects HHW to be installed at `C:\Program Files (x86)\HTML Help Workshop\`. 
+If it is installed at another location change `packages/ExcelDnaDoc/tools/ExcelDnaDoc.exe.config` 
+to reference the proper directory before compiling your project.  
+
+When installed from NuGet it will edit the default .dna file installed by Excel-DNA and adds post 
+build steps to build the .chm documentation file whenever the project is build.
+
+Notes
+------------------
+
+Uses the `ExcelFunction`, `ExcelArgument`, and `ExcelCommand` attributes in Excel-DNA to build 
+documentation for your Excel-DNA add-in.  
+
+The following fields are can be used to create documentation :  
+
+### _ExcelFunction Attribute_
+|					|																			|
+| ----------------- | ------------------------------------------------------------------------- |
+| `Name`			| if not given the actual method name is used								|
+| `Description`		| if not used no description will be included in documentation				|
+| `Category`		| if not given functions will be grouped under "*<project name>* Functions" | 
+| `HelpTopic`		| can be used to link function to generated help in Excel's function wizard | 
+
+### _ExcelArgument Attribute_
+|					|																			|
+| ----------------- | ------------------------------------------------------------------------- |
+| `Name`			| if not given the actual parameter name is used							|
+| `Description`		| if not used no description will be included in documentation				|
+
+### _ExcelCommand Attribute_  
+|					|																			|
+| ----------------- | ------------------------------------------------------------------------- |
+| `Name`			| if not given the actual parameter name is used							|
+| `Description`		| if not used no description will be included in documentation				|
+| `HelpTopic`		| can be used to link function to generated help in Excel's function wizard |
+| `ShortCut`		| if not used no shortcut will be included in documentation					|
+
+If ExcelDna.Documentation is included as a reference (default in NuGet package) then an additional 
+attribute `ExcelFunctionDoc` is available as a replacement to the `ExcelFunction` attribute 
+which includes additional fields that can be used for additional documentation.
+
+### _ExcelFunctionDoc Attribute_
+|					|																			|
+| ----------------- | ------------------------------------------------------------------------- |
+| `Name`			| if not given the actual method name is used								|
+| `Description`		| if not used no description will be included in documentation				|
+| `Category`		| if not given functions will be grouped under "*<project name>* Functions" | 
+| `HelpTopic`		| can be used to link function to generated help in Excel's function wizard | 
+| `Returns`			| description of the return value											|
+| `Summary`			| longer discussion of function included in documentation					|  
+| `Remarks`			| remarks on usage and / or possible errors									|
+
+
+Example
+------------------
+
+**F#**
+```fsharp
+namespace DocTest
+open ExcelDna.Integration
+open ExcelDna.Documentation
+
+module Math =
+
+    [<ExcelFunctionDoc( Name = "Math.AddThem", Category = "Math", 
+                        Description = "adds two numbers", 
+                        HelpTopic = "DocTest-AddIn.chm!1001",
+						Summary = "really all it does is add two number ... I promise.",
+						Returns = "the sum of the two arguments")>]
+    let addThem
+        (
+            [<ExcelArgument(Name = "Arg1", Description = "the first argument")>]a,
+            [<ExcelArgument(Name = "Arg2", Description = "the second argument")>]b
+        ) = 
+        
+        a+b
+```
+
+**C#**
+```csharp
+namespace DocTest
+{
+    using ExcelDna.Integration;
+    
+    public class Text 
+    {
+        [ExcelFunction( Name = "Text.ConcatThem", 
+                        Description = "concatenates two strings", 
+                        HelpTopic = "DocTest-AddIn.chm!1002")]
+        public static object ConcatThem(
+            [ExcelArgument(Description="the first string")] object a, 
+            [ExcelArgument(Description="the second string")] object b)
+        {
+            return string.Concat(a.ToString(), b.ToString());
+        }
+    }
+}
+```
+
+Command Line Usage
+------------------
+    ExcelDnaDoc.exe dnaPath  
+`dnaPath` The path to the primary .dna file for the ExcelDna add-in.  
+
+Example: `ExcelDnaDoc.exe <build folder>\SampleLib-AddIn.dna`  
+         The HTML Help Workshop content will be created in `<build folder>\HelpContent\`.  
+
+External libraries will be searched for UDFs and Commands
+that are exposed to Excel and documented using the ExcelFunctionAttribute and the ExcelArgumentAttribute.  
+
+If The ExcelDna.Documentation library has been referenced then the ExcelFunctionDocAttribute 
+is also available to include additional documentation fields that will not be exposed in the Excel Function 
+Wizard, but will be included in the HTML Help Workshop content.  
+
+Dependencies
+------------------
+ NuGet Package Manager(http://nuget.codeplex.com/)  
+ FAKE (F# MAKE) (http://fsharp.github.io/FAKE/)  
+ Excel-DNA (http://exceldna.codeplex.com/)  
+ RazorEngine(https://github.com/Antaris/RazorEngine)  
+ HTML Help Workshop(http://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx)  
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/ExcelDnaDoc-Template.dna b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/ExcelDnaDoc-Template.dna
new file mode 100644
index 0000000000000000000000000000000000000000..660c7b47cd8e57880d8133bfab9bf1a36813d9c4
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/ExcelDnaDoc-Template.dna
@@ -0,0 +1,21 @@
+<DnaLibrary Name="%ProjectName% Add-In" RuntimeVersion="v4.0">
+  <ExternalLibrary Path="%OutputFileName%" LoadFromBytes="true" Pack="true" ExplicitExports="true" />
+  <Reference Path="ExcelDna.Documentation.dll" Pack="true" />
+  
+  <!-- 
+       The RuntimeVersion attribute above allows two settings:
+       * RuntimeVersion="v2.0" - for .NET 2.0, 3.0 and 3.5
+       * RuntimeVersion="v4.0" - for .NET 4 and 4.5
+
+       Additional referenced assemblies can be specified by adding 'Reference' tags. 
+       These libraries will not be examined and registered with Excel as add-in libraries, 
+       but will be packed into the -packed.xll file and loaded at runtime as needed.
+       For example:
+       
+       <Reference Path="Another.Library.dll" Pack="true" />
+  
+       Excel-DNA also allows the xml for ribbon UI extensions to be specified in the .dna file.
+       See the main Excel-DNA site at http://excel-dna.net for downloads of the full distribution.
+  -->
+
+</DnaLibrary>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CategoryTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CategoryTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..44c3c205ee3779948e42d9401103f90908c05485
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CategoryTemplate.cshtml
@@ -0,0 +1,53 @@
+@model ExcelDna.Documentation.Models.CategoryModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h2>@Model.Name Functions</h2>
+
+                        <p>Click one of the links in the following list to see detailed help about the function.</p>
+                        <br>
+
+                        <div>
+                            <table width="100%" cellspacing="0" style="font-size: 1em">
+                                <tbody>
+                                    <tr>
+                                        <th style="text-align: left; width: 206px">Function</th>
+
+                                        <th style="text-align: left">Description</th>
+                                    </tr>
+
+                                    @foreach (var function in @Model.Functions)
+                                    {
+                                        <tr>
+                                            <th style="text-align: left; width: 206px">
+                                                <a href="@(function.Name).htm">@function.Name</a>
+                                            </th>
+
+                                            <td>@function.Description</td>
+                                        </tr>
+                                    }
+                                </tbody>
+                            </table>
+                        </div>
+
+                        <h3>See Also</h3>
+                        <hr>
+                        <a href="index.htm">UDF List</a>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CommandListTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CommandListTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..a0967e0ef1585571ac1f8fdc9465d9e10bddade3
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CommandListTemplate.cshtml
@@ -0,0 +1,53 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h2>@Model.ProjectName Commands</h2>
+
+                        <p>Click one of the links in the following list to see detailed help about the command.</p>
+                        <br>
+
+                        <div>
+                            <table width="100%" cellspacing="0" style="font-size: 1em">
+                                <tbody>
+                                    <tr>
+                                        <th style="text-align: left; width: 206px">Command</th>
+
+                                        <th style="text-align: left">Description</th>
+                                    </tr>
+
+                                    @foreach (var command in @Model.Commands)
+                                    {
+                                        <tr>
+                                            <th style="text-align: left; width: 206px">
+                                                <a href="@(command.Name).htm">@command.Name</a>
+                                            </th>
+
+                                            <td>@command.Description</td>
+                                        </tr>
+                                    }
+                                </tbody>
+                            </table>
+                        </div>
+
+                        <h3>See Also</h3>
+                        <hr>
+                        <a href="index.htm">UDF List</a>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CommandTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CommandTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..639c3d999c3d7f060a66583ed332543a1ce5e9e7
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/CommandTemplate.cshtml
@@ -0,0 +1,47 @@
+@model ExcelDna.Documentation.Models.CommandModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@(Model.Name) command</h1>
+                        <br/>
+
+                        @if(@Model.Description != string.Empty)
+                        {
+                            <h4>Description</h4>
+                            <hr/>
+
+                            <p>@Model.Description</p>
+                            <br/>
+                        }
+
+                         @if(@Model.ShortCut != string.Empty)
+                        {
+                            <h4>Shortcut</h4>
+                            <hr/>
+
+                            <p>@Model.ShortCut</p>
+                            <br/>
+                        }   
+
+                        <h4>See Also</h4>
+                        <hr/>
+
+                        <p><a href="@Model.Category Commands.htm">@Model.Category Commands</a></p>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/FunctionTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/FunctionTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..2ac0aa30963ff14b3ab9169f463691c6ef054d0b
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/FunctionTemplate.cshtml
@@ -0,0 +1,85 @@
+@model ExcelDna.Documentation.Models.FunctionModel
+@{
+    var parameters = new List<string>();
+    foreach (var p in Model.Parameters)
+    {
+        parameters.Add(p.Name);
+    }
+    var paramList = string.Join(", ", parameters.ToArray());
+}
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@(Model.Name) function</h1>
+                        <br/>
+
+                        @if(@Model.Description != string.Empty)
+                        {
+                            <h4>Description</h4>
+                            <hr/>
+
+                            <p>@Model.Description</p>
+                            <br/>
+                        }
+
+                        <h4>Syntax</h4>
+                        <hr/>
+                        <code>@(Model.Name)(@(paramList))</code><br>
+
+                        <p>@Model.Name function syntax has the following arguments :</p>
+
+                        <ul>
+                            @foreach (var p in @Model.Parameters)
+                            {
+                                <li><b>@p.Name</b> <font color="green">@p.ParameterType</font> @p.Description</li>
+                            }
+                        </ul>
+                        <br/>
+
+                        <h4>Returns</h4>
+                        <hr/>
+
+                        <p><font color="green">@Model.ReturnType</font> @Model.Returns</p>
+                        <br/>
+
+                        @if (@Model.Summary != string.Empty)
+                        {
+                            <h4>Summary</h4>
+                            <hr/>
+
+                            <p>@Raw(@Model.Summary)</p>
+                            <br/>
+                        }
+
+                        @if (@Model.Remarks != string.Empty)
+                        { 
+                            <h4>Remarks</h4>
+                            <hr/>
+
+                            <p>@Raw(@Model.Remarks)</p>
+                            <br/>
+                        }
+
+                        <h4>See Also</h4>
+                        <hr/>
+
+                        <p><a href="@Model.Category Functions.htm">@Model.Category Functions</a></p>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/MethodListTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/MethodListTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..027855dae046ecb27ab6fcc8ef1a13234b177060
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/MethodListTemplate.cshtml
@@ -0,0 +1,44 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@Model.ProjectName Contents</h1>
+                        <br>
+
+                        @foreach (var group in Model.Categories)
+                        {
+                            <h3><a href="@group.Name Functions.htm">@group.Name Functions</a></h3>
+
+                            foreach (var function in group.Functions)
+                            {
+                                <p><a href="@(function.Name).htm">@function.Name</a></p>
+                            }
+                        }
+
+                        @if (Model.Commands.Count() != 0)
+                        {
+                            <h3><a href="@Model.ProjectName Commands.htm">@Model.ProjectName Commands</a></h3>
+                            
+                            foreach (var command in Model.Commands)
+                            {
+                                <p><a href="@(command.Name).htm">@command.Name</a></p> 
+                            } 
+                        }
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/ProjectFileTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/ProjectFileTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..5e5a0d3c87480a5e69a55dbaab2d9d357af3b28c
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/ProjectFileTemplate.cshtml
@@ -0,0 +1,33 @@
+@model ExcelDna.Documentation.Models.AddInModel
+@using System.Text;
+@using System.Linq;
+@{ var functions = Model.Functions.Where(f => f.TopicId != string.Empty);
+   var commands = Model.Commands.Where(c => c.TopicId != string.Empty);
+   var alias = new StringBuilder();
+   var map = new StringBuilder();
+   foreach (var f in functions)
+   {
+       alias.AppendLine(string.Format("Topic{0}={1}.htm", f.TopicId, f.Name));
+       map.AppendLine(string.Format("#define Topic{0} {0}", f.TopicId));
+   }
+   foreach (var c in commands)
+   {
+       alias.AppendLine(string.Format("Topic{0}={1}.htm", c.TopicId, c.Name));
+       map.AppendLine(string.Format("#define Topic{0} {0}", c.TopicId));
+   }
+   }
+[OPTIONS]
+Compatibility=1.1 or later
+Compiled file="@(Model.DnaFileName).chm"
+Contents file=Table of Contents.hhc
+Default topic=index.htm
+Display compile progress=No
+Language=0x409 English (United States)
+
+[INFOTYPES]
+
+[ALIAS]
+@alias
+
+[MAP]
+@map
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/TableOfContentsTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/TableOfContentsTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..282d412d786f6bcc9c5200bb051f79d6a822e410
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/TableOfContentsTemplate.cshtml
@@ -0,0 +1,58 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
+<!-- Sitemap 1.0 -->
+</head>
+<body>
+	<object type="text/site	properties">
+		<param name="ImageType" value="Folder">
+	</object>
+	<ul>
+		<li> <object type="text/sitemap">
+				<param name="Name" value="@Model.ProjectName">
+				<param name="Local" value="index.htm">
+			</object>
+		</li>
+		<ul>
+			@foreach (var group in Model.Categories)
+			{
+				<li> <object type="text/sitemap">
+						<param name="Name" value="@group.Name Functions">
+						<param name="Local" value="@group.Name Functions.htm">
+					</object>
+				</li>
+				<ul>
+					@foreach (var function in group.Functions)
+					{
+						<li> <object type="text/sitemap">
+								<param name="Name" value="@function.Name">
+								<param name="Local" value="@(function.Name + ".htm")">
+							</object>
+						</li>
+					}
+				</ul>
+			}
+			@if (Model.Commands.Count() != 0)
+			{ 
+				<li> <object type="text/sitemap">
+						<param name="Name" value="@Model.ProjectName Commands">
+						<param name="Local" value="@Model.ProjectName Commands.htm">
+					</object>
+				</li>
+				<ul>
+					@foreach (var command in Model.Commands)
+					{
+						<li> <object type="text/sitemap">
+								<param name="Name" value="@command.Name">
+								<param name="Local" value="@(command.Name + ".htm")">
+							</object>
+						</li>
+					}
+				</ul>
+			}
+		</ul>
+	</ul>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/_readme_.txt b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/_readme_.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8f357db8ff93edaf2d5f2e16b017c1a106be845e
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/_readme_.txt
@@ -0,0 +1,40 @@
+HelpContent Files
+
+Purpose
+-------
+
+The files contained in this folder can be used to replace the default templates used by ExcelDnaDoc.  
+If any of the templates in this folder are either set to not copy to the output directory or are deleted 
+from this folder the default template embedded in ExcelDnaDoc will be used.  If no customization to the
+default output is desired the HelpContent folder and all of it's content can be removed from your
+project.  You can keep only the templates that you want to customize and delete the rest.
+
+
+
+Files Needed for Visual Studio Intellisense (not copied to output directory) 
+----------------------------------------------------------------------------
+
+web.config						
+bin/ExcelDna.Documentation.dll
+
+
+Core HTML Help Workshop (HHW) Razor Templates (replaces default if copied to output directory)
+----------------------------------------------------------------------------------------
+* customize if manually adding additional pages to help
+* HHW expects specific elements and I recommend changing these two templates only if needed
+
+ProjectFileTemplate.cshtml		- HTML Help Workshop project file (.hhp)
+TableOfContentsTemplate.cshtml	- HTML Help Workshop Table of Contents
+
+
+HTML Content Razor Templates (replaces default if copied to output directory)
+-----------------------------------------------------------------------------
+
+helpstyle.css - main stylesheet used by the templates below; if sent to output directory
+				will replace default stylesheet embeded in ExcelDnaDoc.s
+
+MethodListTemplate.cshtml	- functions/commands displayed when root folder is selected
+CategoryTemplate.cshtml		- function list displayed when a function category is selected
+CommandListTemplate.cshtml	- command (macro) list displayed when the project command folder is selected
+CommandTemplate.cshtml		- command (macro) page template
+FunctionTemplate.cshtml		- function page template
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/bin/ExcelDna.Documentation.dll b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/bin/ExcelDna.Documentation.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0feb68c78d1c88ed1f80136ebe3bd4b7a2e0d6ee
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/bin/ExcelDna.Documentation.dll differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/helpstyle.css b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/helpstyle.css
new file mode 100644
index 0000000000000000000000000000000000000000..25d9c2705698b49c457adc3573d43714c784a088
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/helpstyle.css
@@ -0,0 +1,237 @@
+body
+{
+	width: 100%;
+	margin: 0px 0px 0px 0px;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 70%;
+}
+
+h1, h3, h4
+{
+	margin-bottom: .4em;
+	margin-top: 1em;
+}
+
+h1
+{
+	font-size: 120%;
+	margin-top: 0em;
+}
+
+h3
+{
+	color: darkblue;
+	font-size: 115%;
+}
+
+h4
+{
+	color: darkblue;
+	font-size: 100%;
+}
+
+div.table
+{
+	text-align: center;
+}
+
+table
+{
+	font-size: 100%;
+	border-collapse: collapse;
+	width: 93%;
+}
+
+th
+{
+	background-color: #cccccc;
+	color: #000000;
+	font-weight: bolder;
+	padding: 5px;
+	border: 1px solid #999999;
+}
+
+tr
+{
+	background-color: #ffffff;
+	padding: 5px;
+	text-align: left;
+	border: 1px solid #999999;
+}
+
+td
+{
+	border: 1px solid #999999;
+	padding: 5px;
+}
+
+p
+{
+	margin: .5em 0em .5em 0em;
+}
+
+pre
+{
+	margin-top: .5em;
+	margin-bottom: .5em;
+}
+
+code 
+{
+	background-color: lightgrey;
+}
+
+pre.code
+{
+	font: Monospace, Courier New, Courier;
+	color: #000066;
+	font-size: 100%;
+	margin-left: 20px;
+	background-color: lightgrey;
+}
+
+.syntax
+{
+	font: Monospace, Courier New, Courier;
+	letter-spacing: .1em;
+	background-color: #cccccc;
+	color: #000000;
+	font-size: 100%;
+	font-weight: bolder;
+	padding: 5px;
+	border: 1px solid #999999;
+	margin-left: 20px;
+	padding: 4px 8px;
+	margin-top: 1em;
+	margin-bottom: 1em;
+	width: 96%;
+}
+.comment
+{
+	color:Green;
+	font-weight:lighter;	
+}
+.i1
+{
+	margin-left: 20px;
+}
+
+.i2
+{
+	margin-left: 40px;
+}
+
+.i3
+{
+	margin-left: 60px;
+}
+
+.missing
+{
+	color: Red;
+}
+
+div#banner
+{
+	width: 100%;
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	border-bottom: 1px solid #999999;
+	padding: 0px 0px 0px 0px;
+	background-color: #99ccff;
+}
+
+div#header
+{
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	padding: .4em .4em 0 .4em;
+	background-color: #99ccff;
+	font-style: italic;
+}
+
+div#footer
+{
+	font-size: 100%;
+	font-style:italic;
+	border-top: 1px solid #999999;
+	margin-left: 20px;
+	margin-top: 1em;
+	margin-bottom: 1em;
+	width: 96%;
+}
+
+div#banner h1
+{
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	padding: 0 .4em .3em .4em;
+	background-color: #99ccff;
+}
+
+div#content
+{
+	margin: 0px 0px 0px 0px;
+	padding: 4px 4px 4px 4px;
+}
+
+code.ce
+{
+	font-style: italic;
+}
+
+pre.syntax span.lang
+{
+	margin: 0;
+	font-weight: normal;
+}
+
+pre.syntax span.meta
+{
+	margin: 0;
+	font-weight: normal;
+	font-style: italic;
+}
+
+.permissions
+{
+	margin-top: 6px;
+}
+
+blockquote.dtBlock
+{
+	margin: .5em 1.5em .5em 1.5em;
+}
+
+a:link
+{
+	color: #0000ff;
+}
+
+a:visited
+{
+	color: #0000ff;
+}
+
+a:hover
+{
+	color: #3366ff;
+}
+
+a.typeLink
+{
+	text-decoration:none;
+}
+a:link.typeLink
+{
+	text-decoration:none;
+}
+a:visited.typeLink;
+{
+	text-decoration:none;
+}
+a:hover.typeLink
+{
+	font-style:italic;
+	text-decoration:underline;
+}
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/web.config.txt b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/web.config.txt
new file mode 100644
index 0000000000000000000000000000000000000000..866d9816f9d7e1c871a4209ca70dfd4f0a58d2f6
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/content/HelpContent/web.config.txt
@@ -0,0 +1,29 @@
+<configuration>
+  <configSections>
+    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+    </sectionGroup>
+  </configSections>
+  <system.web.webPages.razor>
+    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+    <pages pageBaseType="System.Web.Mvc.WebViewPage">
+      <namespaces>
+        <add namespace="System.Web.Mvc" />
+        <add namespace="System.Web.Mvc.Ajax" />
+        <add namespace="System.Web.Mvc.Html" />
+        <add namespace="System.Web.Routing" />
+      </namespaces>
+    </pages>
+  </system.web.webPages.razor>
+  <system.web>
+    <compilation targetFramework="4.0">
+      <assemblies>
+        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+      </assemblies>
+    </compilation>
+  </system.web>
+</configuration>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/lib/net40/ExcelDna.Documentation.dll b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/lib/net40/ExcelDna.Documentation.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0feb68c78d1c88ed1f80136ebe3bd4b7a2e0d6ee
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/lib/net40/ExcelDna.Documentation.dll differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDna.Documentation.dll b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDna.Documentation.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0feb68c78d1c88ed1f80136ebe3bd4b7a2e0d6ee
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDna.Documentation.dll differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDna.Integration.dll b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDna.Integration.dll
new file mode 100644
index 0000000000000000000000000000000000000000..a6b0aafb7092441a5c48e767515e8da292d04184
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDna.Integration.dll differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDnaDoc.exe b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDnaDoc.exe
new file mode 100644
index 0000000000000000000000000000000000000000..1afb29ff55d9f336f02cd9e7108b7290a917c0ce
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDnaDoc.exe differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDnaDoc.exe.config b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDnaDoc.exe.config
new file mode 100644
index 0000000000000000000000000000000000000000..0c0dd9af1e26e4c51c7d18e152c1e34a61b9a3b1
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/ExcelDnaDoc.exe.config
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <appSettings>
+    <add key="HtmlHelpWorkshopCompilerPath" value="C:\Program Files (x86)\HTML Help Workshop\hhc.exe" />
+    <add key="ClientSettingsProvider.ServiceUri" value="" />
+  </appSettings>
+  <system.web>
+    <membership defaultProvider="ClientAuthenticationMembershipProvider">
+      <providers>
+        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
+      </providers>
+    </membership>
+    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
+      <providers>
+        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
+      </providers>
+    </roleManager>
+  </system.web>
+</configuration>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CategoryTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CategoryTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..44c3c205ee3779948e42d9401103f90908c05485
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CategoryTemplate.cshtml
@@ -0,0 +1,53 @@
+@model ExcelDna.Documentation.Models.CategoryModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h2>@Model.Name Functions</h2>
+
+                        <p>Click one of the links in the following list to see detailed help about the function.</p>
+                        <br>
+
+                        <div>
+                            <table width="100%" cellspacing="0" style="font-size: 1em">
+                                <tbody>
+                                    <tr>
+                                        <th style="text-align: left; width: 206px">Function</th>
+
+                                        <th style="text-align: left">Description</th>
+                                    </tr>
+
+                                    @foreach (var function in @Model.Functions)
+                                    {
+                                        <tr>
+                                            <th style="text-align: left; width: 206px">
+                                                <a href="@(function.Name).htm">@function.Name</a>
+                                            </th>
+
+                                            <td>@function.Description</td>
+                                        </tr>
+                                    }
+                                </tbody>
+                            </table>
+                        </div>
+
+                        <h3>See Also</h3>
+                        <hr>
+                        <a href="index.htm">UDF List</a>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CommandListTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CommandListTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..a0967e0ef1585571ac1f8fdc9465d9e10bddade3
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CommandListTemplate.cshtml
@@ -0,0 +1,53 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h2>@Model.ProjectName Commands</h2>
+
+                        <p>Click one of the links in the following list to see detailed help about the command.</p>
+                        <br>
+
+                        <div>
+                            <table width="100%" cellspacing="0" style="font-size: 1em">
+                                <tbody>
+                                    <tr>
+                                        <th style="text-align: left; width: 206px">Command</th>
+
+                                        <th style="text-align: left">Description</th>
+                                    </tr>
+
+                                    @foreach (var command in @Model.Commands)
+                                    {
+                                        <tr>
+                                            <th style="text-align: left; width: 206px">
+                                                <a href="@(command.Name).htm">@command.Name</a>
+                                            </th>
+
+                                            <td>@command.Description</td>
+                                        </tr>
+                                    }
+                                </tbody>
+                            </table>
+                        </div>
+
+                        <h3>See Also</h3>
+                        <hr>
+                        <a href="index.htm">UDF List</a>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CommandTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CommandTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..639c3d999c3d7f060a66583ed332543a1ce5e9e7
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/CommandTemplate.cshtml
@@ -0,0 +1,47 @@
+@model ExcelDna.Documentation.Models.CommandModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@(Model.Name) command</h1>
+                        <br/>
+
+                        @if(@Model.Description != string.Empty)
+                        {
+                            <h4>Description</h4>
+                            <hr/>
+
+                            <p>@Model.Description</p>
+                            <br/>
+                        }
+
+                         @if(@Model.ShortCut != string.Empty)
+                        {
+                            <h4>Shortcut</h4>
+                            <hr/>
+
+                            <p>@Model.ShortCut</p>
+                            <br/>
+                        }   
+
+                        <h4>See Also</h4>
+                        <hr/>
+
+                        <p><a href="@Model.Category Commands.htm">@Model.Category Commands</a></p>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/FunctionTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/FunctionTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..2ac0aa30963ff14b3ab9169f463691c6ef054d0b
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/FunctionTemplate.cshtml
@@ -0,0 +1,85 @@
+@model ExcelDna.Documentation.Models.FunctionModel
+@{
+    var parameters = new List<string>();
+    foreach (var p in Model.Parameters)
+    {
+        parameters.Add(p.Name);
+    }
+    var paramList = string.Join(", ", parameters.ToArray());
+}
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@(Model.Name) function</h1>
+                        <br/>
+
+                        @if(@Model.Description != string.Empty)
+                        {
+                            <h4>Description</h4>
+                            <hr/>
+
+                            <p>@Model.Description</p>
+                            <br/>
+                        }
+
+                        <h4>Syntax</h4>
+                        <hr/>
+                        <code>@(Model.Name)(@(paramList))</code><br>
+
+                        <p>@Model.Name function syntax has the following arguments :</p>
+
+                        <ul>
+                            @foreach (var p in @Model.Parameters)
+                            {
+                                <li><b>@p.Name</b> <font color="green">@p.ParameterType</font> @p.Description</li>
+                            }
+                        </ul>
+                        <br/>
+
+                        <h4>Returns</h4>
+                        <hr/>
+
+                        <p><font color="green">@Model.ReturnType</font> @Model.Returns</p>
+                        <br/>
+
+                        @if (@Model.Summary != string.Empty)
+                        {
+                            <h4>Summary</h4>
+                            <hr/>
+
+                            <p>@Raw(@Model.Summary)</p>
+                            <br/>
+                        }
+
+                        @if (@Model.Remarks != string.Empty)
+                        { 
+                            <h4>Remarks</h4>
+                            <hr/>
+
+                            <p>@Raw(@Model.Remarks)</p>
+                            <br/>
+                        }
+
+                        <h4>See Also</h4>
+                        <hr/>
+
+                        <p><a href="@Model.Category Functions.htm">@Model.Category Functions</a></p>
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/MethodListTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/MethodListTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..027855dae046ecb27ab6fcc8ef1a13234b177060
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/MethodListTemplate.cshtml
@@ -0,0 +1,44 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+    <link rel="stylesheet" type="text/css" href="helpstyle.css">
+    <title></title>
+</head>
+
+<body>
+    <table style="width: 100%">
+        <tbody>
+            <tr style="vertical-align: top">
+                <td style="width: 100%">
+                    <div>
+                        <h1>@Model.ProjectName Contents</h1>
+                        <br>
+
+                        @foreach (var group in Model.Categories)
+                        {
+                            <h3><a href="@group.Name Functions.htm">@group.Name Functions</a></h3>
+
+                            foreach (var function in group.Functions)
+                            {
+                                <p><a href="@(function.Name).htm">@function.Name</a></p>
+                            }
+                        }
+
+                        @if (Model.Commands.Count() != 0)
+                        {
+                            <h3><a href="@Model.ProjectName Commands.htm">@Model.ProjectName Commands</a></h3>
+                            
+                            foreach (var command in Model.Commands)
+                            {
+                                <p><a href="@(command.Name).htm">@command.Name</a></p> 
+                            } 
+                        }
+                    </div>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/ProjectFileTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/ProjectFileTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..5e5a0d3c87480a5e69a55dbaab2d9d357af3b28c
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/ProjectFileTemplate.cshtml
@@ -0,0 +1,33 @@
+@model ExcelDna.Documentation.Models.AddInModel
+@using System.Text;
+@using System.Linq;
+@{ var functions = Model.Functions.Where(f => f.TopicId != string.Empty);
+   var commands = Model.Commands.Where(c => c.TopicId != string.Empty);
+   var alias = new StringBuilder();
+   var map = new StringBuilder();
+   foreach (var f in functions)
+   {
+       alias.AppendLine(string.Format("Topic{0}={1}.htm", f.TopicId, f.Name));
+       map.AppendLine(string.Format("#define Topic{0} {0}", f.TopicId));
+   }
+   foreach (var c in commands)
+   {
+       alias.AppendLine(string.Format("Topic{0}={1}.htm", c.TopicId, c.Name));
+       map.AppendLine(string.Format("#define Topic{0} {0}", c.TopicId));
+   }
+   }
+[OPTIONS]
+Compatibility=1.1 or later
+Compiled file="@(Model.DnaFileName).chm"
+Contents file=Table of Contents.hhc
+Default topic=index.htm
+Display compile progress=No
+Language=0x409 English (United States)
+
+[INFOTYPES]
+
+[ALIAS]
+@alias
+
+[MAP]
+@map
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/TableOfContentsTemplate.cshtml b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/TableOfContentsTemplate.cshtml
new file mode 100644
index 0000000000000000000000000000000000000000..282d412d786f6bcc9c5200bb051f79d6a822e410
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/TableOfContentsTemplate.cshtml
@@ -0,0 +1,58 @@
+@model ExcelDna.Documentation.Models.AddInModel
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
+<!-- Sitemap 1.0 -->
+</head>
+<body>
+	<object type="text/site	properties">
+		<param name="ImageType" value="Folder">
+	</object>
+	<ul>
+		<li> <object type="text/sitemap">
+				<param name="Name" value="@Model.ProjectName">
+				<param name="Local" value="index.htm">
+			</object>
+		</li>
+		<ul>
+			@foreach (var group in Model.Categories)
+			{
+				<li> <object type="text/sitemap">
+						<param name="Name" value="@group.Name Functions">
+						<param name="Local" value="@group.Name Functions.htm">
+					</object>
+				</li>
+				<ul>
+					@foreach (var function in group.Functions)
+					{
+						<li> <object type="text/sitemap">
+								<param name="Name" value="@function.Name">
+								<param name="Local" value="@(function.Name + ".htm")">
+							</object>
+						</li>
+					}
+				</ul>
+			}
+			@if (Model.Commands.Count() != 0)
+			{ 
+				<li> <object type="text/sitemap">
+						<param name="Name" value="@Model.ProjectName Commands">
+						<param name="Local" value="@Model.ProjectName Commands.htm">
+					</object>
+				</li>
+				<ul>
+					@foreach (var command in Model.Commands)
+					{
+						<li> <object type="text/sitemap">
+								<param name="Name" value="@command.Name">
+								<param name="Local" value="@(command.Name + ".htm")">
+							</object>
+						</li>
+					}
+				</ul>
+			}
+		</ul>
+	</ul>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/_readme_.txt b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/_readme_.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8f357db8ff93edaf2d5f2e16b017c1a106be845e
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/_readme_.txt
@@ -0,0 +1,40 @@
+HelpContent Files
+
+Purpose
+-------
+
+The files contained in this folder can be used to replace the default templates used by ExcelDnaDoc.  
+If any of the templates in this folder are either set to not copy to the output directory or are deleted 
+from this folder the default template embedded in ExcelDnaDoc will be used.  If no customization to the
+default output is desired the HelpContent folder and all of it's content can be removed from your
+project.  You can keep only the templates that you want to customize and delete the rest.
+
+
+
+Files Needed for Visual Studio Intellisense (not copied to output directory) 
+----------------------------------------------------------------------------
+
+web.config						
+bin/ExcelDna.Documentation.dll
+
+
+Core HTML Help Workshop (HHW) Razor Templates (replaces default if copied to output directory)
+----------------------------------------------------------------------------------------
+* customize if manually adding additional pages to help
+* HHW expects specific elements and I recommend changing these two templates only if needed
+
+ProjectFileTemplate.cshtml		- HTML Help Workshop project file (.hhp)
+TableOfContentsTemplate.cshtml	- HTML Help Workshop Table of Contents
+
+
+HTML Content Razor Templates (replaces default if copied to output directory)
+-----------------------------------------------------------------------------
+
+helpstyle.css - main stylesheet used by the templates below; if sent to output directory
+				will replace default stylesheet embeded in ExcelDnaDoc.s
+
+MethodListTemplate.cshtml	- functions/commands displayed when root folder is selected
+CategoryTemplate.cshtml		- function list displayed when a function category is selected
+CommandListTemplate.cshtml	- command (macro) list displayed when the project command folder is selected
+CommandTemplate.cshtml		- command (macro) page template
+FunctionTemplate.cshtml		- function page template
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/helpstyle.css b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/helpstyle.css
new file mode 100644
index 0000000000000000000000000000000000000000..25d9c2705698b49c457adc3573d43714c784a088
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/helpstyle.css
@@ -0,0 +1,237 @@
+body
+{
+	width: 100%;
+	margin: 0px 0px 0px 0px;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 70%;
+}
+
+h1, h3, h4
+{
+	margin-bottom: .4em;
+	margin-top: 1em;
+}
+
+h1
+{
+	font-size: 120%;
+	margin-top: 0em;
+}
+
+h3
+{
+	color: darkblue;
+	font-size: 115%;
+}
+
+h4
+{
+	color: darkblue;
+	font-size: 100%;
+}
+
+div.table
+{
+	text-align: center;
+}
+
+table
+{
+	font-size: 100%;
+	border-collapse: collapse;
+	width: 93%;
+}
+
+th
+{
+	background-color: #cccccc;
+	color: #000000;
+	font-weight: bolder;
+	padding: 5px;
+	border: 1px solid #999999;
+}
+
+tr
+{
+	background-color: #ffffff;
+	padding: 5px;
+	text-align: left;
+	border: 1px solid #999999;
+}
+
+td
+{
+	border: 1px solid #999999;
+	padding: 5px;
+}
+
+p
+{
+	margin: .5em 0em .5em 0em;
+}
+
+pre
+{
+	margin-top: .5em;
+	margin-bottom: .5em;
+}
+
+code 
+{
+	background-color: lightgrey;
+}
+
+pre.code
+{
+	font: Monospace, Courier New, Courier;
+	color: #000066;
+	font-size: 100%;
+	margin-left: 20px;
+	background-color: lightgrey;
+}
+
+.syntax
+{
+	font: Monospace, Courier New, Courier;
+	letter-spacing: .1em;
+	background-color: #cccccc;
+	color: #000000;
+	font-size: 100%;
+	font-weight: bolder;
+	padding: 5px;
+	border: 1px solid #999999;
+	margin-left: 20px;
+	padding: 4px 8px;
+	margin-top: 1em;
+	margin-bottom: 1em;
+	width: 96%;
+}
+.comment
+{
+	color:Green;
+	font-weight:lighter;	
+}
+.i1
+{
+	margin-left: 20px;
+}
+
+.i2
+{
+	margin-left: 40px;
+}
+
+.i3
+{
+	margin-left: 60px;
+}
+
+.missing
+{
+	color: Red;
+}
+
+div#banner
+{
+	width: 100%;
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	border-bottom: 1px solid #999999;
+	padding: 0px 0px 0px 0px;
+	background-color: #99ccff;
+}
+
+div#header
+{
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	padding: .4em .4em 0 .4em;
+	background-color: #99ccff;
+	font-style: italic;
+}
+
+div#footer
+{
+	font-size: 100%;
+	font-style:italic;
+	border-top: 1px solid #999999;
+	margin-left: 20px;
+	margin-top: 1em;
+	margin-bottom: 1em;
+	width: 96%;
+}
+
+div#banner h1
+{
+	margin: 0px 0px 0px 0px;
+	border-width: 0px;
+	padding: 0 .4em .3em .4em;
+	background-color: #99ccff;
+}
+
+div#content
+{
+	margin: 0px 0px 0px 0px;
+	padding: 4px 4px 4px 4px;
+}
+
+code.ce
+{
+	font-style: italic;
+}
+
+pre.syntax span.lang
+{
+	margin: 0;
+	font-weight: normal;
+}
+
+pre.syntax span.meta
+{
+	margin: 0;
+	font-weight: normal;
+	font-style: italic;
+}
+
+.permissions
+{
+	margin-top: 6px;
+}
+
+blockquote.dtBlock
+{
+	margin: .5em 1.5em .5em 1.5em;
+}
+
+a:link
+{
+	color: #0000ff;
+}
+
+a:visited
+{
+	color: #0000ff;
+}
+
+a:hover
+{
+	color: #3366ff;
+}
+
+a.typeLink
+{
+	text-decoration:none;
+}
+a:link.typeLink
+{
+	text-decoration:none;
+}
+a:visited.typeLink;
+{
+	text-decoration:none;
+}
+a:hover.typeLink
+{
+	font-style:italic;
+	text-decoration:underline;
+}
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/web.config.txt b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/web.config.txt
new file mode 100644
index 0000000000000000000000000000000000000000..866d9816f9d7e1c871a4209ca70dfd4f0a58d2f6
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/HelpContent/web.config.txt
@@ -0,0 +1,29 @@
+<configuration>
+  <configSections>
+    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+    </sectionGroup>
+  </configSections>
+  <system.web.webPages.razor>
+    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+    <pages pageBaseType="System.Web.Mvc.WebViewPage">
+      <namespaces>
+        <add namespace="System.Web.Mvc" />
+        <add namespace="System.Web.Mvc.Ajax" />
+        <add namespace="System.Web.Mvc.Html" />
+        <add namespace="System.Web.Routing" />
+      </namespaces>
+    </pages>
+  </system.web.webPages.razor>
+  <system.web>
+    <compilation targetFramework="4.0">
+      <assemblies>
+        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+      </assemblies>
+    </compilation>
+  </system.web>
+</configuration>
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/RazorEngine.dll b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/RazorEngine.dll
new file mode 100644
index 0000000000000000000000000000000000000000..01955b59615b8afdf8795a1094f3a529cf9e0ea2
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/RazorEngine.dll differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/System.Web.Razor.dll b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/System.Web.Razor.dll
new file mode 100644
index 0000000000000000000000000000000000000000..854f5e267b0347d11856470e90a8dbf25cec918b
Binary files /dev/null and b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/System.Web.Razor.dll differ
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/install.ps1 b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/install.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..2519264d20c44aff658138d9a5895fe098c34a87
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/install.ps1
@@ -0,0 +1,103 @@
+param($installPath, $toolsPath, $package, $project)
+# based on Excel-DNA install script
+Write-Host "Starting ExcelDnaDoc install script"
+
+$projName = $project.Name
+$isFSharp = ($project.Type -eq "F#")
+# Look for and rename old .dna file
+$newDnaFile = $project.ProjectItems | Where-Object { $_.Name -eq "ExcelDnaDoc-Template.dna" }
+$newDnaFileName = "${projName}-AddIn.dna"
+$oldDnaFile = $project.ProjectItems | Where-Object { $_.Name -eq $newDnaFileName }
+
+if ($null -ne $oldDnaFile)
+{
+	# found prior template installed with Excel-DNA
+	$newDnaFile.Delete()
+	$oldDnaFilePath = $oldDnaFile.Properties.Item("FullPath").Value
+
+	# add reference to ExcelDna.Documentation
+	[xml]$xmlDoc = Get-Content $oldDnaFilePath
+
+	#check if reference already exists
+	$refExists = "false"
+	foreach($ref in $xmlDoc.DnaLibrary.Reference) 
+	{  
+		if ($ref."Path" -eq "ExcelDna.Documentation.dll")
+		{
+			$refExists = "true"
+		}
+	}
+
+	if ($refExists -eq "false")
+	{
+		$xmlElt = $xmlDoc.CreateElement("Reference")
+		$xmlAtt = $xmlDoc.CreateAttribute("Path")
+		$xmlAtt.Value = "ExcelDna.Documentation.dll"
+		$xmlElt.Attributes.Append($xmlAtt)
+		$xmlAtt = $xmlDoc.CreateAttribute("Pack")
+		$xmlAtt.Value = "true"
+		$xmlElt.Attributes.Append($xmlAtt)
+		$xmlDoc.LastChild.AppendChild($xmlElt)
+	}
+
+	$xmlDoc.Save($oldDnaFilePath)
+}
+else
+{
+	# We don't have a file already so create dna template for ExcelDnaDoc
+	Write-Host "`tCreating -AddIn.dna file"
+		
+	# Rename and fill in ExcelDnaDoc-Template.dna file.
+	#Write-Host $newDnaFile.Name 
+	#Write-Host $newDnaFileName
+	$newDnaFile.Name = $newDnaFileName
+	if ($isFSharp)
+	{
+		$newDnaFile.Properties.Item("BuildAction").Value = ([Microsoft.VisualStudio.FSharp.ProjectSystem.BuildAction]::Content)
+	}
+	else
+	{
+		$newDnaFile.Properties.Item("BuildAction").Value = 2 # Content
+	}    
+	$newDnaFile.Properties.Item("CopyToOutputDirectory").Value = 2 # Copy If Newer
+
+	# These replacements match strings in the content\ExcelDnaDoc-Template.dna file
+	$dnaFullPath = $newDnaFile.Properties.Item("FullPath").Value
+	$outputFileName = $project.Properties.Item("OutputFileName").Value
+	(get-content $dnaFullPath) | foreach-object {$_ -replace "%OutputFileName%", $outputFileName } | set-content $dnaFullPath
+	(get-content $dnaFullPath) | foreach-object {$_ -replace "%ProjectName%"   , $projName       } | set-content $dnaFullPath
+}
+
+# initialize settings for razor templates
+$templateNames = "TableOfContentsTemplate.cshtml", "ProjectFileTemplate.cshtml", "MethodListTemplate.cshtml", "helpstyle.css",
+				 "FunctionTemplate.cshtml", "CommandTemplate.cshtml", "CommandListTemplate.cshtml", "CategoryTemplate.cshtml"
+
+$helpContentFolder =  $project.ProjectItems | Where-Object { $_.Name -eq "HelpContent" }
+$templateFiles = $helpContentFolder.ProjectItems | Where-Object { $templateNames -contains $_.Name}
+
+$webConfigFile = $helpContentFolder.ProjectItems | Where-Object { $_.Name -eq "web.config.txt" }
+$webConfigFile.Name = "web.config"
+
+foreach($file in $templateFiles)
+{
+	$file.Properties.Item("CopyToOutputDirectory").Value = 2 # Copy If Newer
+}
+
+Write-Host "`tAdding post-build commands"
+# We'd actually like to put $(ProjectDir)tools\Excel-DNA.0.30.0\tools\ExcelDna.xll
+$fullPath = $project.Properties.Item("FullPath").Value
+# Write-host $fullPath
+# Write-host $toolsPath
+$escapedSearch = [regex]::Escape($project.Properties.Item("FullPath").Value)
+$toolMacro = $toolsPath -replace $escapedSearch, "`$(ProjectDir)"
+$postBuild = "`"${toolMacro}\ExcelDnaDoc.exe`" `"`$(TargetDir)${projName}-AddIn.dna`" /Y"
+$prop = $project.Properties.Item("PostBuildEvent")
+if ($prop.Value -eq "") {
+	$prop.Value = $postBuild
+} 
+else 
+{
+	$prop.Value += "`r`n$postBuild"
+}
+
+Write-Host "Completed ExcelDnaDoc install script"
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/uninstall.ps1 b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/uninstall.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..6bfb5bf1215f7e9fc02b783a83a3d5d836425a37
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/uninstall.ps1
@@ -0,0 +1,77 @@
+param($installPath, $toolsPath, $package, $project)
+# based on Excel-DNA uninstall script
+write-host "Starting ExcelDnaDoc uninstall script"
+
+$projName = $project.Name
+
+# remove reference from .dna file
+$dnaFileName = "${projName}-AddIn.dna"
+$dnaFileItem = $project.ProjectItems | Where-Object { $_.Name -eq $dnaFileName }
+if ($null -ne $dnaFileItem)
+{	
+	$dnaFilePath = $dnaFileItem.Properties.Item("FullPath").Value
+
+	# remove reference to ExcelDna.Documentation
+	[xml]$xmlDoc = Get-Content $dnaFilePath
+	$xmlNode = $xmlDoc.SelectSingleNode("/DnaLibrary/Reference[@Path = 'ExcelDna.Documentation.dll']")
+	if ($xmlNode -ne $null)
+	{
+		[Void]$xmlNode.ParentNode.RemoveChild($xmlNode)
+		$xmlDoc.Save($dnaFilePath)	
+	}
+}
+
+# remove HelpContent files
+$templateNames = "TableOfContentsTemplate.cshtml", "ProjectFileTemplate.cshtml", "MethodListTemplate.cshtml", "helpstyle.css",
+				 "FunctionTemplate.cshtml", "CommandTemplate.cshtml", "CommandListTemplate.cshtml", "CategoryTemplate.cshtml",
+				 "web.config"
+
+$helpContentFolder =  $project.ProjectItems | Where-Object { $_.Name -eq "HelpContent" }
+
+if ($helpContentFolder -ne $null)
+{
+	$templateFiles = $helpContentFolder.ProjectItems | Where-Object { $templateNames -contains $_.Name}
+
+	foreach($file in $templateFiles)
+	{
+		$file.Delete()
+	}
+
+	$helpContentBinFolder = $helpContentFolder.ProjectItems | Where-Object { $_.Name -eq "bin" }
+	if ($helpContentBinFolder -ne $null)
+	{
+		$docuLibFile = $helpContentFolder.ProjectItems | Where-Object { $_.Name -eq "ExcelDna.Documentation.dll" }
+		if ($docuLibFile -ne $null)
+		{
+			$docuLibFile.Delete()
+		}
+	}
+}
+
+
+# remove post-build command
+$postBuildCheck = "ExcelDnaDoc.exe`""
+$prop = $project.Properties.Item("PostBuildEvent")
+if ($prop.Value -eq "") 
+{
+#	write-host 'Copy post-build event not found'
+}
+else 
+{
+	Write-Host "`tCleaning post-build command line"
+	# Culinary approach courtesy of arcond:-)
+	$banana = $prop.Value.Split("`n");
+	$dessert = ""
+	foreach ($scoop in $banana) 
+	{
+	   if (!($scoop.Contains($postBuildCheck))) 
+	   {
+		   # Keep this scoop
+		   $dessert = "$dessert$scoop`n"
+	   }
+	}
+	$prop.Value = $dessert.Trim()
+#	write-host 'Removed ExcelDnaDoc post-build event'
+}
+
+Write-Host "Completed ExcelDnaDoc uninstall script"
\ No newline at end of file
diff --git a/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/web.config b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/web.config
new file mode 100644
index 0000000000000000000000000000000000000000..866d9816f9d7e1c871a4209ca70dfd4f0a58d2f6
--- /dev/null
+++ b/T3-Unity/Packages/ExcelDnaDoc.0.2.3/tools/web.config
@@ -0,0 +1,29 @@
+<configuration>
+  <configSections>
+    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+    </sectionGroup>
+  </configSections>
+  <system.web.webPages.razor>
+    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+    <pages pageBaseType="System.Web.Mvc.WebViewPage">
+      <namespaces>
+        <add namespace="System.Web.Mvc" />
+        <add namespace="System.Web.Mvc.Ajax" />
+        <add namespace="System.Web.Mvc.Html" />
+        <add namespace="System.Web.Routing" />
+      </namespaces>
+    </pages>
+  </system.web.webPages.razor>
+  <system.web>
+    <compilation targetFramework="4.0">
+      <assemblies>
+        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+      </assemblies>
+    </compilation>
+  </system.web>
+</configuration>
\ No newline at end of file